Мое
July 31

Raspberry Pi OpenWrt: WAN+LAN_WiFi

Данная статья разработана и подготовлена в телеграмм канале Крипто Парень. Подписывайся на мой телеграмм канал, там много полезной и интересной информации по криптовалютам.

Предлагаю вам услуги своего бота по заправке газом в сети TRC20 и мой сайт по сдаче в аренду энергии в сети TRC20

Информацию по использованию и аренде газа в сети TRC20 можешь найти в моей группе TRON TRX SELL ENERGY

Отлично! Это довольно распространенный сценарий для Raspberry Pi с OpenWrt, когда проводной порт используется для провайдера (WAN), а локальная сеть обеспечивается по Wi-Fi.

Вот пошаговая инструкция, как это сделать:

Предварительные условия:

  1. Установленный OpenWrt на Raspberry Pi: Убедитесь, что OpenWrt уже установлен и вы можете получить к нему доступ по SSH или через веб-интерфейс LuCI (по умолчанию по адресу 192.168.1.1).
  2. Рабочий Wi-Fi на Raspberry Pi: Убедитесь, что встроенный Wi-Fi адаптер вашей Raspberry Pi поддерживается OpenWrt и функционален. Для большинства моделей это так.

Шаги настройки:

Шаг 1: Подключение к OpenWrt

Подключитесь к Raspberry Pi по SSH или через LuCI. Поскольку вы будете перенастраивать LAN-порт, настоятельно рекомендуется подключиться через Wi-Fi, если это возможно, или иметь консольный доступ (монитор/клавиатура), чтобы не потерять доступ. Если вы настраиваете с нуля, то после первой загрузки OpenWrt, Raspberry Pi создаст Wi-Fi сеть (OpenWrt, без пароля), к которой можно подключиться для первоначальной настройки.

Шаг 2: Настройка WAN-порта (проводной Ethernet)

Мы назначим встроенный Ethernet-порт Raspberry Pi в качестве WAN-порта.

Через LuCI (веб-интерфейс):

  1. Откройте веб-интерфейс OpenWrt (обычно http://192.168.1.1).
  2. Перейдите в Network -> Interfaces.
  3. Удалите существующий интерфейс LAN: Нажмите "Delete" (Удалить) напротив интерфейса LAN.
    • Внимание: После удаления интерфейса LAN вы можете потерять доступ по проводной сети, если вы подключены через нее.
  4. Создайте новый интерфейс WAN:
    • Нажмите "Add new interface..." (Добавить новый интерфейс...).
    • Name (Имя): wan
    • Protocol (Протокол): Выберите тип подключения вашего провайдера:
      • DHCP client: Если ваш провайдер автоматически выдает IP-адрес (наиболее распространенный вариант для домашнего интернета).
      • PPPoE: Если провайдер требует логин и пароль (часто встречается в DSL и некоторых оптических сетях).
      • Static address: Если у вас статический IP-адрес от провайдера.
    • Device (Устройство): Выберите ваш Ethernet-интерфейс. Для большинства Raspberry Pi это будет eth0.
    • Нажмите "Create interface" (Создать интерфейс).
    • Если вы выбрали PPPoE или Static, заполните соответствующие поля (логин/пароль, IP-адрес, маску, шлюз, DNS-сервера).
    • В разделе "Firewall Settings" (Настройки межсетевого экрана) убедитесь, что для WAN-интерфейса выбрана зона wan.
    • Нажмите "Save" (Сохранить), затем "Save & Apply" (Сохранить и применить).

Через SSH (редактирование /etc/config/network):

  1. Подключитесь по SSH: ssh root@192.168.1.1
  2. Сделайте резервную копию файла конфигурации: cp /etc/config/network /etc/config/network.bak
  3. Откройте файл для редактирования: vi /etc/config/network (или nano /etc/config/network, если nano установлен).
  4. Измените или удалите блок config interface 'lan' и создайте wan:Удалите (или закомментируйте, добавив # в начале каждой строки) существующий блок config interface 'lan'.Добавьте новый блок для wan:Для DHCP (наиболее распространенный):config interface 'wan' option device 'eth0' # Встроенный Ethernet-порт Raspberry Pi option proto 'dhcp' option ipv6 'auto' # Или '0' если не используется IPv6 Для PPPoE:config interface 'wan' option device 'eth0' # Встроенный Ethernet-порт Raspberry Pi option proto 'pppoe' option username 'ваш_логин_провайдера' option password 'ваш_пароль_провайдера' option ipv6 'auto' # Или '0' если не используется IPv6 Для статического IP:config interface 'wan' option device 'eth0' # Встроенный Ethernet-порт Raspberry Pi option proto 'static' option ipaddr 'IP_адрес_от_провайдера' option netmask 'маска_подсети_от_провайдера' option gateway 'шлюз_от_провайдера' list dns 'DNS1_от_провайдера' list dns 'DNS2_от_провайдера' Сохраните файл (:wq для vi, Ctrl+X, Y, Enter для nano). Примените изменения: uci commit

Шаг 3: Настройка LAN-интерфейса (Wi-Fi)

Теперь настроим Wi-Fi адаптер Raspberry Pi для работы в качестве точки доступа (Access Point) для вашей локальной сети.

Через LuCI:

  1. Перейдите в Network -> Interfaces.
  2. Нажмите "Add new interface...".
  3. Name (Имя): lan (да, мы создаем его заново, но уже на Wi-Fi)
  4. Protocol (Протокол): Static address
  5. IP address: 192.168.1.1 (или другой, если хотите, чтобы не конфликтовал с WAN, например, 192.168.2.1).
  6. Netmask: 255.255.255.0
  7. Нажмите "Create interface".
  8. Перейдите в Network -> Wireless.
  9. Найдите ваш Wi-Fi адаптер (обычно radio0 или radio1). Если вы видите несколько, это может быть ваш 2.4GHz или 5GHz. Нажмите "Edit" (Редактировать) напротив него.
  10. Operation Mode (Режим работы): Выберите "Access Point" (Точка доступа).
  11. Network (Сеть): Выберите только что созданный вами интерфейс lan.
  12. ESSID (Имя сети): Введите желаемое имя для вашей Wi-Fi сети (например, MyOpenWrtPi).
  13. Wireless Security (Безопасность беспроводной сети): Выберите WPA2-PSK или WPA3-SAE (рекомендуется). Введите надежный "Key" (Пароль).
  14. Нажмите "Save" (Сохранить), затем "Save & Apply" (Сохранить и применить).
  15. Внимание: Иногда после этих изменений необходимо перезагрузить Raspberry Pi, чтобы Wi-Fi точка доступа заработала корректно.

Через SSH (редактирование /etc/config/network и /etc/config/wireless):

  1. Подключитесь по SSH.
  2. Настройте /etc/config/network:Добавьте новый блок config interface 'lan':config interface 'lan' option proto 'static' option ipaddr '192.168.1.1' # Или 192.168.2.1 option netmask '255.255.255.0' list dns '8.8.8.8' # Google DNS или другие list dns '8.8.4.4' option ip6assign '60' Сохраните файл.
  3. Настройте /etc/config/wireless:Откройте файл: vi /etc/config/wirelessНайдите блок config wifi-iface (обычно уже существует). Если его нет, создайте новый. Убедитесь, что он выглядит примерно так:config wifi-iface 'default_radio0' # Имя может отличаться, например, 'default_radio1' option device 'radio0' # Убедитесь, что это ваш Wi-Fi адаптер option network 'lan' # Привязываем к новому интерфейсу 'lan' option mode 'ap' # Режим работы: Access Point option ssid 'MyOpenWrtPi' # Имя вашей Wi-Fi сети option encryption 'psk2' # WPA2-PSK (рекомендуется) option key 'YourVerySecureWiFiPassword' # Ваш пароль option ieee80211r '1' # Для лучшего роуминга, если поддерживается option wpa_disable_eapol_key_retries '1' Сохраните файл.
  4. Примените изменения: uci commit
  5. Перезапустите сетевые службы: /etc/init.d/network restart
  6. Перезапустите Wi-Fi: wifi reload или /etc/init.d/hostapd restart

Шаг 4: Настройка Firewall

Убедитесь, что правила межсетевого экрана настроены корректно. OpenWrt обычно делает это автоматически при создании интерфейсов wan и lan, но стоит проверить.

Через LuCI:

  1. Перейдите в Network -> Firewall.
  2. Убедитесь, что есть две зоны: lan и wan.
  3. Зона lan:
    • Input: accept
    • Output: accept
    • Forward: accept
    • Allow forward to destination zones: wan (должно быть)
  4. Зона wan:
    • Input: reject (или drop, для безопасности)
    • Output: accept
    • Forward: reject (или drop)
    • Allow forward from source zones: (пусто)
    • Masquerading: (Маскарадинг/NAT) ВКЛЮЧЕНО (должна быть галочка)
    • MSS clamping: (Сжатие MSS) ВКЛЮЧЕНО (должна быть галочка)

Через SSH (редактирование /etc/config/firewall):

Проверьте, что ваш файл /etc/config/firewall содержит примерно следующее (особенно блок zone 'wan'):

config zone 'lan'
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone 'wan'
    option name 'wan'
    list network 'wan'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'        # Это Masquerading (NAT)
    option mtu_fix '1'     # Это MSS clamping

config forwarding
    option src 'lan'
    option dest 'wan'

Шаг 5: Тестирование

  1. Подключите кабель провайдера к Ethernet-порту Raspberry Pi.
  2. На своем компьютере или телефоне найдите вашу новую Wi-Fi сеть (MyOpenWrtPi или как вы ее назвали) и подключитесь к ней, используя установленный пароль.
  3. После подключения, ваше устройство должно получить IP-адрес от Raspberry Pi (например, 192.168.1.x или 192.168.2.x).
  4. Попробуйте открыть веб-сайт или пропинговать внешний ресурс (например, ping google.com).

Если все настроено правильно, у вас будет рабочая сеть: Raspberry Pi принимает интернет по кабелю и раздает его по Wi-Fi.