Сети

Настройка OpenWRT: доступ к локальной сети через WAN с двумя роутерами

Пошаговая настройка доступа к компьютерам в локальной сети через WAN с двумя роутерами OpenWRT. Отключение DHCP, настройка маршрутизации и проброс портов для доступа извне.

1 ответ 1 просмотр

Как настроить доступ к компьютерам в локальной сети через WAN-соединение? У меня есть GPON терминал, к которому подключены два роутера OpenWRT через WAN-порты. Компьютеры за роутерами имеют доступ в интернет, но не видят друг друга. Как правильно настроить проброс портов и маршрутизацию для доступа к устройствам в локальной сети извне?

Настройка доступа к компьютерам в локальной сети через WAN-соединение с двумя роутерами OpenWRT требует правильной конфигурации маршрутизации, отключения DHCP и NAT на втором роутере, а также настройки правил проброса портов в брандмауэре. GPON терминал должен работать в режиме моста, чтобы не создавать дополнительных проблем с маршрутизацией.


Содержание


Анализ проблемы: почему компьютеры не видят друг друга

Когда у вас есть два роутера OpenWRT, подключенных к GPON терминалу через WAN-порты, каждый роутер по умолчанию создает свою собственную подсеть с включенным DHCP и NAT. Это означает, что:

  • Роутер 1 создает подсеть (например, 192.168.1.0/24)
  • Роутер 2 создает подсеть (например, 192.168.2.0/24)
  • Компьютеры в каждой подсети получают IP-адреса от своего роутера
  • Между подсетями нет маршрутизации, поэтому компьютеры “не видят” друг друга

Проблема заключается в том, что каждый роутер считает себя шлюзом по умолчанию для своей локальной сети, но не знает о существовании другой подсети. Даже если оба роутера получают интернет от GPON терминала, они не настроены для взаимодействия друг с другом.

На практике это выглядит так: ваш компьютер за роутером №1 может выходить в интернет, но не видит сервер за роутером №2, и наоборот. Для решения этой проблемы требуется правильная настройка маршрутизации между подсетями и, при необходимости, проброс портов для доступа извне.


Базовая настройка первого роутера OpenWRT

Первый роутер будет основным маршрутизатором в вашей сети, управляющим DHCP и NAT. Вот пошаговая настройка:

Конфигурация интерфейса

  1. Подключитесь к роутеру через SSH или веб-интерфейс LuCI
  2. Перейдите в раздел “Сеть” → “Интерфейсы”
  3. Настройте WAN-интерфейс:
  • Протокол: DHCP-клиент
  • Имя интерфейса: wan
  • Зона: wan
  1. Настройте LAN-интерфейс:
  • Протокол: Статический адрес
  • IP-адрес: 192.168.1.1
  • Маска подсети: 255.255.255.0
  • Зона: lan

Настройка DHCP на первом роутере

bash
# Откройте файл конфигурации
vi /etc/config/dhcp

# Настройте dhcp для LAN-интерфейса
config dhcp 'lan'
 option interface 'lan'
 option start '100'
 option limit '150'
 option leasetime '12h'
 list dhcp_option '6,8.8.8.8,8.8.4.4'

Настройка NAT на первом роутере

bash
# Откройте файл конфигурации
vi /etc/config/firewall

# Добавьте правило MASQUERADE
config zone
 option name 'wan'
 option input 'ACCEPT'
 option output 'ACCEPT'
 option forward 'ACCEPT'
 option masq '1'
 option mtu_fix '1'

После этих настроек первый роутер будет работать как основной маршрутизатор с DHCP-сервером для локальной сети 192.168.1.0/24.


Конфигурация второго роутера: отключение DHCP и NAT

Второй роутер должен работать в режиме точки доступа, а не маршрутизатора. Для этого необходимо отключить DHCP и NAT:

Отключение DHCP на втором роутере

bash
# Откройте файл конфигурации
vi /etc/config/dhcp

# Закомментируйте или удалите секцию dhcp для LAN
# config dhcp 'lan'
# option interface 'lan'
# option start '100'
# option limit '150'
# option leasetime '12h'

Отключение NAT на втором роутере

bash
# Откройте файл конфигурации брандмауэра
vi /etc/config/firewall

# Удалите или закомментируйте правило MASQUERADE для WAN
# config zone
# option name 'wan'
# option input 'ACCEPT'
# option output 'ACCEPT'
# option forward 'ACCEPT'
# option masq '1'

Настройка LAN-интерфейса на втором роутере

bash
# Откройте файл конфигурации сети
vi /etc/config/network

# Настройте LAN-интерфейс в той же подсети, что и первый роутер
config interface 'lan'
 option type 'bridge'
 option ifname 'eth0'
 option proto 'static'
 option ipaddr '192.168.1.2'
 option netmask '255.255.255.0'
 option gateway '192.168.1.1'
 option dns '8.8.8.8 8.8.4.4'

Важно, чтобы второй роутер получил IP-адрес в той же подсети, что и первый роутер (192.168.1.0/24), и указал первый роутер в качестве шлюза по умолчанию.

Как объясняется на SuperUser: “Вам нужно убедиться, что второй роутер не выполняет маршрутизацию и NAT для своей локальной сети. Вместо этого он должен действовать как коммутатор, передавая трафик напрямую к первому роутеру”.


Маршрутизация между подсетями

Теперь, когда второй роутер настроен как точка доступа в той же подсети, нам нужно настроить маршрутизацию для доступа к устройствам за вторым роутером.

Настройка маршрута на первом роутере

Если устройства за вторым роутером находятся в другой подсети (например, если вы хотите создать отдельную подсеть для серверов), вам нужно добавить статический маршрут:

bash
# Добавьте маршрут на первый роутер
ip route add 192.168.2.0/24 via 192.168.1.2 dev lan

# Сохраните маршрут
echo "192.168.2.0/24 via 192.168.1.2 dev lan" >> /etc/config/network

Настройка маршрута на втором роутере

На втором роутере добавьте маршрут к основной подсети:

bash
# Добавьте маршрут на второй роутер
ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0

# Сохраните маршрут
echo "192.168.1.0/24 via 192.168.1.1 dev eth0" >> /etc/config/network

Включение пересылки пакетов

Убедитесь, что на обоих роутерах включена пересылка пакетов:

bash
# Проверьте настройку
cat /proc/sys/net/ipv4/ip_forward

# Если значение равно 0, включите пересылку
echo 1 > /proc/sys/net/ipv4/ip_forward

# Добавьте в автозагрузку
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

На форумах OpenWRT пользователи часто сталкиваются с проблемой маршрутизации между роутерами. Ключевым моментом является правильная настройка статических маршрутов и включение пересылки пакетов на обоих устройствах.


Настройка проброса портов для доступа извне

Теперь, когда у нас настроена маршрутизация между подсетями, давайте рассмотрим, как открыть доступ к устройствам в локальной сети извне через WAN.

Конфигурация DNAT на первом роутере

Для проброса портов на первый роутер добавьте правила DNAT в брандмауэр:

bash
# Откройте файл конфигурации брандмауэра
vi /etc/config/firewall

# Добавьте правило проброса порта
config redirect
 option name 'web-server'
 option src 'wan'
 option dest 'lan'
 option target 'DNAT'
 option family 'ipv4'
 option proto 'tcp'
 option dest_port '80'
 option targetport '80'
 option src_dip '192.168.1.10'

Это правило перенаправляет все входящие TCP-запросы на порт 80 с WAN-интерфейса на локальный сервер с IP-адресом 192.168.1.10.

Проброс портов на второй роутер

Для доступа к устройствам за вторым роутером нужно настроить двухэтапную пересылку:

  1. Сначала перенаправляем с WAN на первый роутер
  2. Затем с первого роутера на второй роутер
bash
# На первом роутере
config redirect
 option name 'server-external-80'
 option src 'wan'
 option dest 'lan'
 option target 'DNAT'
 option family 'ipv4'
 option proto 'tcp'
 option dest_port '8080'
 option targetport '80'
 option src_dip '192.168.1.2'

# На втором роутере
config redirect
 option name 'server-internal-80'
 option src 'lan'
 option dest 'lan'
 option target 'DNAT'
 option family 'ipv4'
 option proto 'tcp'
 option dest_port '80'
 option targetport '80'
 option src_dip '192.168.2.10'

Настройка брандмауэра для разрешений

Убедитесь, что брандмауэр разрешает входящие соединения:

bash
# На первом роутере
config rule
 option name 'Allow-WAN-Input'
 option src 'wan'
 option target 'ACCEPT'
 option proto 'tcp'
 option dest_port '80,8080,443'

# На втором роутере
config rule
 option name 'Allow-LAN-Input'
 option src 'lan'
 option target 'ACCEPT'
 option proto 'tcp'
 option dest_port '80,443'

Согласно инструкциям по настройке OpenWRT, при пробросе портов на внутренние устройства важно использовать нестандартные порты на внешнем интерфейсе для повышения безопасности. Например, вместо стандартного порта 80 для веб-сервера используйте порт 8080 на WAN.


Конфигурация GPON терминала

GPON терминал должен быть настроен в режиме моста для корректной работы с двумя роутерами OpenWRT.

Настройка GPON в режиме моста

  1. Подключитесь к интерфейсу управления GPON терминала (обычно через веб-интерфейс)
  2. Перейдите в раздел настройки WAN/bridging
  3. Установите режим работы “Bridge” или “Мост”
  4. Отключите DHCP-сервер на GPON терминале
  5. Настройте VLAN-тегирование (если требуется вашим провайдером)

Типовая конфигурация GPON

bash
# Пример конфигурации для GPON ONU в режиме моста
interface bridge
 name br-lan
 bridge-vlan-aware yes
 bridge-vid-type 0

interface eth0
 bridge-ifadd br-lan

interface eth1
 bridge-ifadd br-lan

Важно убедиться, что GPON терминал не выполняет маршрутизацию и не мешает работе двух роутеров.

На практике многие провайдеры поставляют GPON терминалы, уже настроенные в режиме моста. Если ваш терминал работает в режиме маршрутизатора, вам нужно будет настроить его в режиме моста или использовать один из роутеров OpenWRT в качестве основного маршрутизатора.


Проверка и отладка соединений

После настройки всех компонентов сети необходимо проверить и отладить соединения.

Проверка доступности устройств

bash
# С компьютера за первым роутером проверьте доступность к устройству за вторым роутером
ping 192.168.2.10

# С компьютера за вторым роутером проверьте доступность к устройству за первым роутером
ping 192.168.1.10

Проверка маршрутов

bash
# На первом роутере проверьте маршрут ко второй подсети
ip route show

# На втором роутере проверьте маршрут к основной подсети
ip route show

Проверка проброса портов

bash
# С внешнего компьютера проверьте доступность сервера через проброшенный порт
telnet your.wan.ip 8080

Отладка с помощью tcpdump

Если соединения не работают, используйте tcpdump для анализа трафика:

bash
# На первом роутере перехватывайте трафик на WAN-интерфейсе
tcpdump -i wan -n host your.wan.ip

# На втором роутере перехватывайте трафик на LAN-интерфейсе
tcpdump -i lan -n host 192.168.2.10

При настройке проброса портов в OpenWRT часто возникают проблемы с правилами брандмауэра. Пошаговая отладка с использованием tcpdump помогает точно определить, где трафик теряется: на этапе входящего соединения, перенаправления или внутренней маршрутизации.


Источники

  1. SuperUser - Should I expose a server on OpenWRT to WAN or only to LAN with port forwarding? — Объяснение безопасности при открытии портов: https://superuser.com/questions/1666791/should-i-expose-a-server-on-openwrt-to-wan-or-only-to-lan-with-port-forwarding-f
  2. KeyPressure - NAT and Port Forwarding in OpenWRT — Подробное руководство по настройке NAT и проброса портов: https://www.keypressure.com/blog/nat-and-port-forwarding-in-openwrt/
  3. ServerFault - Having 2nd routers LAN be on same subnet as main router and not just WiFi — Информация о настройке второго роутера в той же подсети: https://www.serverfault.com/questions/1155661/having-2nd-routers-lan-be-on-same-subnet-as-main-router-and-not-just-wifi
  4. CFoS Personal Net - Port Forwarding with OpenWRT — Пошаговая настройка проброса портов через LuCI: https://www.cfos.de/en/cfos-personal-net/port-forwarding/openwrt.htm
  5. Reddit - Port forwarding with OpenWRT — Реальный опыт пользователей с многороутерными установками: https://www.reddit.com/r/openwrt/comments/1hk0dke/port_forwarding_with_openwrt/
  6. OpenWRT Forum - Port forwarding between two routers — Обсуждение сообщества по маршрутизации между роутерами: https://forum.openwrt.org/t/port-forwarding-between-two-routers/187662
  7. SuperUser - Port forwarding with multiple WAN default routes in OpenWRT — Примеры конфигурации маршрутизации с несколькими WAN: https://superuser.com/questions/1714243/port-forwarding-with-multiple-wan-default-routes-in-openwrt

Заключение

Правильная настройка доступа к компьютерам в локальной сети через WAN-соединение с двумя роутерами OpenWRT требует последовательного подхода:

  1. Первый роутер должен быть основным маршрутизатором с включенным DHCP и NAT
  2. Второй роутер должен работать в режиме точки доступа с отключенным DHCP и NAT
  3. Маршрутизация между подсетями настраивается через статические маршруты
  4. Проброс портов для доступа извне требует настройки правил DNAT на обоих роутерах
  5. GPON терминал должен работать в режиме моста без маршрутизации

Ключевым моментом является понимание того, что второй роутер не должен действовать как отдельный маршрутизатор, а должен интегрироваться в существующую сеть первого роутера. При правильной настройке вы получите единое пространство локальной сети с возможностью доступа к устройствам как изнутри, так и извне через WAN-соединение.

Важно помнить о безопасности при открытии портов для внешнего доступа и использовать нестандартные порты, дополнительные правила брандмауэра и ограничения по IP-адресам для защиты ваших устройств.

Авторы
Проверено модерацией
Модерация