Превращение Raspberry Pi в Wi‑Fi мост: пошаговое руководство
О чем эта статья
Ниже вы найдёте подробные шаги по обновлению системы, настройке статического IP для Ethernet, установке и конфигурации dnsmasq (DHCP/DNS), включению пересылки IP, настройке iptables для NAT и способов сохранить правила на перезагрузке. Включены рекомендации по безопасности, проверки, список типичных ошибок и альтернативные подходы.
Important: Убедитесь, что у Raspberry Pi установлена последняя версия Raspberry Pi OS и что у вас есть доступ к локальному экрану/клавиатуре или SSH (если уже настроен) перед началом.

Что такое Wi‑Fi мост и зачем превращать Raspberry Pi в мост
Wi‑Fi мост (wireless bridge) подключается к вашей беспроводной сети как клиент и переадресует этот сетевой доступ на проводной интерфейс (Ethernet). Это позволяет устройствам, у которых нет Wi‑Fi (старые ПК, IP‑камеры, принтеры, телевизоры), подключаться к интернету через Ethernet‑кабель, подсоединённый к Raspberry Pi.

Когда это полезно:
- Подключение старых настольных ПК без Wi‑Fi.
- Размещение IP‑камер там, где прокладка кабеля к роутеру неудобна.
- Интеграция Ethernet‑устройств в умный дом.
- Подключение старых телевизоров и медиаустройств для стриминга.
Замечание: скорость и стабильность через мост могут быть ниже, чем при прямом подключении к роутеру. Но это экономичный и гибкий метод устранить проблему с несовместимостью сетевых интерфейсов.
Что потребуется
- Raspberry Pi с Wi‑Fi (Pi Zero W, Pi 3, Pi 4 или любой Pi с USB Wi‑Fi адаптером).
- Блок питания для Raspberry Pi.
- Монитор и кабель HDMI/micro HDMI или доступ по SSH.
- Клавиатура.
- Ethernet‑кабель.
- Доступ к учётной записи с правами sudo.
Быстрый обзор подхода
- Обновить систему.
- Установить dnsmasq и настроить DHCP на eth0.
- Назначить статический IP для eth0.
- Включить пересылку IPv4.
- Настроить iptables для NAT между eth0 и wlan0.
- Сохранить правила iptables на перезагрузке.
- Проверить работу.
Подготовка и обновление системы
Подключите клавиатуру и монитор или подключитесь по SSH. Затем обновите пакеты:
sudo apt update && sudo apt -y upgradeПерезагрузите систему при необходимости:
sudo reboot1. Установка dnsmasq
dnsmasq — лёгкий DNS‑кеш и DHCP‑сервер, который удобно использовать, чтобы выдавать адреса устройствам, подключенным к eth0.
sudo apt install dnsmasqПосле установки сервис может автоматически запуститься. Мы заменим конфиг на пользовательский.
2. Настройка статического IP для Ethernet
Откройте конфигурацию dhcpcd:
sudo nano /etc/dhcpcd.confДобавьте в конец файла настройки для eth0 (пример сети 192.168.220.0/24 — можно адаптировать под вашу сегментацию):
interface eth0
static ip_address=192.168.220.1/24
static routers=192.168.220.0Сохраните Ctrl+O и выйдите Ctrl+X.
Примените изменения:
sudo service dhcpcd restartПроверьте адрес интерфейса:
ip addr show eth03. Замена конфигурации dnsmasq
Сначала сделайте резервную копию оригинального файла:
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.originalОткройте файл для редактирования:
sudo nano /etc/dnsmasq.confВставьте минимально необходимую конфигурацию:
interface=eth0
listen-address=192.168.220.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.220.50,192.168.220.150,12hПояснения:
- listen-address — IP интерфейса, на котором будут приниматься DHCP/DNS запросы.
- server — внешний DNS; замените на DNS вашего провайдера при необходимости.
- dhcp-range — пул выдаваемых адресов и время аренды.
Сохраните и закройте файл.
4. Включение пересылки IPv4
Откройте /etc/sysctl.conf:
sudo nano /etc/sysctl.confНайдите строку
#net.ipv4.ip_forward=1Уберите решётку, чтобы включить пересылку:
net.ipv4.ip_forward=1Сохраните файл. Чтобы немедленно включить правило без перезагрузки, выполните:
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'Проверьте текущее состояние:
cat /proc/sys/net/ipv4/ip_forwardОжидаемый вывод: 1

5. Настройка iptables для NAT между eth0 и wlan0
Добавьте правила, которые будут маскировать исходящие пакеты через wlan0 и позволять пересылку:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPTСохраните текущие правила в файл:
sudo iptables-save > /etc/iptables.ipv4.natВажно: по умолчанию правила iptables сбрасываются при перезагрузке. Ниже — два способа автоматически загружать их при старте.
Вариант A. rc.local (простая совместимость)
Откройте rc.local:
sudo nano /etc/rc.localНайдите строку exit 0 и добавьте перед ней:
iptables-restore < /etc/iptables.ipv4.natСохраните и закройте. Убедитесь, что файл исполняемый:
sudo chmod +x /etc/rc.localВариант B. iptables-persistent (рекомендуется)
Установите пакет, который сохраняет и автоматически восстанавливает правила:
sudo apt install iptables-persistentВо время установки вам предложат сохранить текущие правила. Если вы уже установили пакет, сохраните вручную:
sudo netfilter-persistent saveЭтот вариант лучше интегрируется с systemd и современными системами.
6. Запуск dnsmasq и проверка соединения
Запустите и проверьте dnsmasq:
sudo systemctl restart dnsmasq
sudo systemctl status dnsmasq --no-pagerПодключите Ethernet‑устройство к Raspberry Pi. На устройстве ожидайте получить DHCP‑адрес в диапазоне 192.168.220.50–150 (или тот, что вы указали).
Проверки на Raspberry Pi:
ip addr show eth0
ip addr show wlan0
sudo journalctl -u dnsmasq --no-pager | tail -n 50
cat /var/log/syslog | grep dnsmasq | tail -n 50
sudo iptables -t nat -L -n -vТесты с клиентского устройства:
- Получен ли DHCP‑адрес?
- Пингуется ли адрес Raspberry Pi: ping 192.168.220.1
- Пингуется ли внешний адрес: ping 8.8.8.8
- Разрешаются ли домены: ping google.com
Если внешние адреса пингуются, но домены не резолвятся — проверьте конфигурацию DNS в dnsmasq и /etc/resolv.conf на Pi.
Критерии приёмки
- Клиент получает DHCP‑адрес из указанного пула.
- Клиент может пинговать Raspberry Pi (192.168.220.1).
- Клиент может пинговать внешний IP (например, 8.8.8.8).
- Клиент разрешает доменные имена и загружает веб‑страницы.
Типичные ошибки и как их исправить
- Неправильные команды в конфигурационных файлах. Всегда проверяйте пробелы и слеши в путях.
- wlan0 не подключён к вашей Wi‑Fi сети. Проверьте wpa_supplicant.conf или состояние сети:
sudo wpa_cli status
sudo iwconfig wlan0DHCP не выдаёт адреса — проверьте dnsmasq логи и убедитесь, что файл /etc/dnsmasq.conf не содержит опечаток.
Правила iptables не применяются после перезагрузки — используйте iptables-persistent или systemd unit.
Безопасность и жёсткое ограничение доступа
- Ограничьте пул DHCP и по возможности используйте статические назначения для ключевых устройств.
- Запретите доступ к Pi по паролю SSH: настройте вход по ключам и отключите PasswordAuthentication в /etc/ssh/sshd_config.
- По необходимости используйте UFW/Firewalld для дополнительных ограничений. Помните, что UFW может конфликтовать с ручными правилами iptables, поэтому тестируйте конфигурации.
- Ограничьте доступ к портам управления (SSH, VNC и т.д.) только из доверенной сети или через VPN.
Альтернативные подходы
- Использовать «travel router»/клиент Wi‑Fi роутер в режиме Client/Bridge — чаще проще и стабильно.
- Соединение Ethernet‑устройств через Wi‑Fi адаптер USB, установленный прямо в устройство (если поддерживается).
- Настроить Raspberry Pi как точку доступа (AP) вместо моста, если вы хотите, чтобы Pi раздавал вашу сеть напрямую (простая изоляция сети).
Когда такой мост не подойдёт
- Требуется максимальная пропускная способность и минимальная задержка (например, для некоторых игр) — прямое подключение к роутеру предпочтительнее.
- Устройства, требующие работы в одной подсети с роутером, если мост настроен неправильно; в таких случаях лучше настроить Pi в режиме прозрачного моста (bridge-utils) или использовать роутер в режиме мост/прокси.
Роль‑ориентированные чеклисты
Для администратора сети:
- Убедиться, что Pi обновлён.
- Настроить резервные копии конфигураций (/etc/dhcpcd.conf, /etc/dnsmasq.conf, /etc/sysctl.conf).
- Настроить логирование и мониторинг dnsmasq.
Для домашнего пользователя:
- Проверить работу с одним устройством.
- Убедиться, что печать/камера/телевизор работают корректно.
- При необходимости закрепить Pi и кабеля в безопасном месте.
Для разработчика/интегратора:
- Автоматизировать развёртывание (скрипты Ansible/Systemd unit).
- Проверить устойчивость при потере Wi‑Fi и восстановлении.
Технический контрольный список перед запуском
- Pi подключён к вашей Wi‑Fi сети (wlan0 имеет внешний доступ).
- eth0 имеет статический IP 192.168.220.1.
- dnsmasq настроен и запущен.
- net.ipv4.ip_forward включён.
- iptables настроены и сохраняются при перезагрузке.
Диагностика и runbook при инцидентах
Клиент не получает DHCP‑адрес:
- Проверьте
sudo systemctl status dnsmasq. - Просмотрите логи
sudo journalctl -u dnsmasq -n 200. - Убедитесь, что интерфейс eth0 UP:
ip link show eth0.
- Проверьте
Клиент имеет адрес, но нет доступа в Интернет:
- Проверьте NAT правила:
sudo iptables -t nat -L -n -v. - Проверьте включён ли ip_forward:
cat /proc/sys/net/ipv4/ip_forward. - С пая: с Pi пингуйте внешний IP.
- Проверьте NAT правила:
DNS‑проблемы:
- На клиенте проверьте DNS‑серверы
ipconfig /allилиcat /etc/resolv.conf. - Убедитесь, что dnsmasq пересылает запросы на корректный upstream DNS.
- На клиенте проверьте DNS‑серверы
Мини‑методология для повторяемой настройки
- Подготовьте чистый образ Raspberry Pi OS и выполните базовую настройку.
- Пропишите конфигурации в текстовые файлы и поместите их в репозиторий конфигураций.
- Напишите скрипт установки, который: обновляет систему, устанавливает dnsmasq и iptables‑persistent, копирует конфиги и перезапускает сервисы.
- Протестируйте в изолированной сети, затем внедряйте в рабочую сеть.
Decision tree для выбора подхода (Mermaid)
flowchart TD
A[Нужно подключить Ethernet‑устройство к Wi‑Fi?] --> B{Устройство в одной комнате с роутером?}
B -- Да --> C[Подключить кабелем напрямую к роутеру]
B -- Нет --> D{Есть ли в устройстве поддержка USB Wi‑Fi?}
D -- Да --> E[Установить USB адаптер в устройство]
D -- Нет --> F{Есть ли Raspberry Pi или travel router?}
F -- Raspberry Pi --> G[Настроить Pi как Wi‑Fi мост по инструкции]
F -- travel router --> H[Настроить travel router в режиме Client/Bridge]
G --> I[Тестирование и мониторинг]
H --> IКороткое объявление для домашней страницы или рассылки (100–200 слов)
Превратите старый Raspberry Pi в Wi‑Fi мост и дайте жизнь Ethernet‑устройствам, у которых нет встроенного Wi‑Fi. Это простой и экономичный способ подключить старые ПК, IP‑камеры, принтеры и телевизоры к вашей беспроводной сети. В руководстве — готовые команды, проверенные конфигурации dnsmasq и iptables, варианты сохранения правил на перезагрузке, рекомендации по безопасности и пошаговая диагностика. Подойдёт как домашним пользователям, так и системным администраторам, которые хотят быстро и надежно расширить покрытие сети без прокладки дополнительных кабелей.
Заключение
Raspberry Pi в роли Wi‑Fi моста — гибкое решение для интеграции устаревших устройств в современную сеть. Следуя этому руководству, вы получите работоспособный мост, который легко адаптировать под свои сети и требования безопасности. При возникновении проблем используйте раздел диагностических шагов и рассмотрите альтернативы (travel router или USB‑Wi‑Fi адаптер).

Счастливой настройки и безопасной эксплуатации!