Гостевая WiFi-сеть на OpenWRT с использованием LuCI

Вопрос или проблема

Я использую маршрутизатор OpenWRT в качестве точки доступа/коммутатора в конфигурации, где другой маршрутизатор (с доступом в интернет) подключен к устройству OpenWRT. Цель состоит в использовании устройства OpenWRT для всего, что связано с управлением сетью, и ограничении работы проприетарного маршрутизатора подключением всего к интернету и предоставлением сервисов DNS и DHCP.

Теперь я испытываю трудности с настройкой гостевой сети. Я следовал хорошо написанному руководству на OpenWRT Wiki, но гостевая WiFi не может получить доступ ни к чему.

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


Обновление с конфигурационными файлами OpenWRT

/etc/config/dhcp

config dnsmasq
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option expandhosts '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        option domain 'local'
        list interface 'guest'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        option ignore '1'
        list dhcp_option '6,208.67.222.222,208.67.220.220'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config dhcp 'guest'
        option interface 'guest'
        option start '100'
        option limit '150'
        option leasetime '12h'

/etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdd8:39f0:bd05::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.1.2'
        list dns '192.168.1.2'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'

config device
        option type 'bridge'
        option name 'br-guest'
        option bridge_empty '1'

config interface 'guest'
        option proto 'static'
        option device 'br-guest'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'

/etc/config/firewall

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

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

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

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

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config zone
        option name 'guest'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'
        list network 'guest'

config forwarding
        option src 'guest'
        option dest 'wan'

config rule
        option name 'Allow-DNS-Guest'
        option src 'guest'
        option dest_port '53'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCP-Guest'
        list proto 'udp'
        option src 'guest'
        option dest_port '67'
        option target 'ACCEPT'

Ответ или решение

Настройка гостевой сети WiFi на маршрутизаторе OpenWRT с использованием интерфейса LuCI является важной задачей, особенно если ваша цель — обеспечить доступ к интернету, сохраняя при этом высокий уровень безопасности и изолируя гостевых пользователей от основной сети.

Теория

OpenWRT — это мощное и гибкое программное обеспечение для маршрутизаторов, которое предоставляет обширные возможности для настройки сети. Одной из таких функций является создание изолированного гостевого WiFi-сегмента. Гостевая сеть должна быть отделена от основной сети (LAN) для предотвращения доступа гостей к вашему локальному оборудованию. Этот процесс требует тщательного управления IP-адресами, DHCP-настройками и правилами межсетевого экранирования.

Пример

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

Настройка DHCP

В файле /etc/config/dhcp добавлен блок для guest-сети:

config dhcp 'guest'
    option interface 'guest'
    option start '100'
    option limit '150'
    option leasetime '12h'

Это правильно — эти опции обеспечивают автоматическое назначение IP-адресов гостям.

Настройка сети

В /etc/config/network конфигурация интерфейса ‘guest’ выглядит следующим образом:

config interface 'guest'
    option proto 'static'
    option device 'br-guest'
    option ipaddr '192.168.2.1'
    option netmask '255.255.255.0'

Это указывает, что гостевая сеть использует статический IP с адресным пространством 192.168.2.0/24.

Настройка межсетевого экрана

В файле /etc/config/firewall вы создали зону ‘guest’:

config zone
    option name 'guest'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'
    list network 'guest'

Этот фрагмент кода разрешает входящие и исходящие соединения в границах guest-сети, но запрещает пересылку пакетов на другие сети.

Применение

Теперь, когда мы рассмотрели отдельные части конфигурации, перейдем к предлагаемым шагам по исправлению проблемы:

  1. Убедитесь, что настройки DNS правильные: Похоже, что гостевая сеть не знает, к какому DNS-серверу обращаться. Вам необходимо добавить параметр DHCP для указания DNS-сервера для гостей.

    Добавьте следующее в блок config dhcp 'guest' в файле /etc/config/dhcp:

    list dhcp_option '6,192.168.1.2'

    Здесь 192.168.1.2 — адрес DNS-сервера вашего основного маршрутизатора.

  2. Forwarding и NAT: Расшаривание сети для доступа в интернет:

    Убедитесь, что в файле межсетевого экрана (firewall) добавлено правило forward из guest-зоны в wan:

    config forwarding
       option src 'guest'
       option dest 'wan'

    Это будет позволять трафику из guest-сети перемещаться через wan-зону вашего основного маршрутизатора.

  3. Проверка правил межсетевого экрана: Правила DNS и DHCP для гостей:

    Удостоверьтесь, что у вас имеются правильные правила для DNS и DHCP:

    config rule
       option name 'Allow-DNS-Guest'
       option src 'guest'
       option dest_port '53'
       option target 'ACCEPT'
    
    config rule
       option name 'Allow-DHCP-Guest'
       list proto 'udp'
       option src 'guest'
       option dest_port '67'
       option target 'ACCEPT'

    Эти правила необходимы для обеспечения разрешения гостевых запросов DNS и DHCP.

  4. Тестирование подключения: После применения изменений перезапустите службы сети и межсетевого экрана:

    /etc/init.d/network restart
    /etc/init.d/firewall restart

    Затем подключитесь к вашей гостевой сети и попробуйте получить доступ в интернет. Убедитесь, что ваши устройства получают IP-адрес из диапазона 192.168.2.x и могут разрешать DNS-запросы.

В случае, если после этих шагов проблемы сохраняются, убедитесь, что основной маршрутизатор корректно настроен для перенаправления трафика через OpenWRT AP. Также проверьте настройки NAT и проверьте логи OpenWRT на наличие ошибок.

Оцените материал
Добавить комментарий

Капча загружается...