Разделение LAN и WLAN

From DD-WRT Wiki

Revision as of 18:50, 2 June 2020 by Biant (Talk | contribs)
Jump to: navigation, search

Contents

Введение

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

команд iptables.

Если маршрутизатор настроен как беспроводная точка доступа (т.е. отключен доступ к глобальной сети по интерфейсу WAN), нужно обязательно задать адреса шлюза и локального DNS-сервера, как рекомендовано в руководстве

Wireless Access Point. Это также относится к клиентским узлам WDS (но не к главному узлу WDS), которые подключены к другому маршрутизатору, который выполняет для них маршрутизацию. В отдельных частях этого руководства даются альтернативные инструкции для беспроводной точки доступа WAP.

Примечание. Если вы разделяете виртуальные интерфейсы, используйте инструкции из руководства Multiple WLANs.

Подготовка

Перейдите на страницу Administration → Commands, введите приведенную ниже команду и нажмите кнопку Run Commands, чтобы из ответа узнать фактическое имя интерфейса. Например, если название интерфейса, который

вы хотите отделить, wl1 - измените команду соответствующим образом: wl0 → wl1.

nvram get wl0_ifname

Перед началом ознакомьтесь с незначительной ошибкой 1853 при создании моста и исправлении ошибки, которое было введено в наборе изменений 16181. Это руководство НЕ будет

изменено, чтобы отразить изменения при создании моста, пока изменения не повлияют на рекомендуемые сборки.

Конфигурация

Шаг 1. Отделение беспроводного интерфейса от кабельной локальной сети

  1. Перейдите на страницу Setup → Networking.
  2. Нажмите кнопку Add в разделе Create Bridge.
  3. Введите "br1" в пустое поле ввода, которое находится слева от всех опций, которые только что появились.
  4. Нажмите кнопку Apply Settings внизу страницы, и появятся новые поля ввода.ы
  5. Установите IP Address, который находится в неиспользуемой подсети. Т.е. 192.168.2.1.
  6. Установите маску подсети Subnet Mask в значение 255.255.255.0.
  7. Снова нажмите кнопку Apply Settings, чтобы IP-адрес был назначен интерфейсу br1, прежде чем продолжить.

Image:MultiWLAN_create_bridge.png

  1. Нажмите кнопку Add в разделе Assign to Bridge.
  2. Выберите br1 в появившемся левом раскрывающемся меню, а в среднем меню выберите название беспроводного интерфейса, который вы обнаружили во время подготовки.
  3. Нажмите кнопку Apply Settings, и беспроводной интерфейс теперь будет перемещен с br0 на br1.

Примечание. На рисунке ниже показан виртуальный беспроводной интерфейс, назначенный br1 вместо физического интерфейса. Обязательно назначьте свой физический интерфейс в соответствии с инструкциями. Image:MultiWLAN_assign_bridge.png

Шаг 2: Добавление DHCP для интерфейса отделенной беспроводной локальной сети

  1. Нажмите кнопку Add в разделе Multiple DHCP Server.
  2. Выберите интерфейс br1 беспроводной сети в появившемся левом раскрывающемся меню.
  3. Нажмите кнопку Apply Settings, чтобы завершить включение DHCP-сервера для беспроводного интерфейса.

Image:MultiWLAN_add_dhcp.png


Если в разделе Basic Setup отключен DHCP-сервер для основной локальной сети, описанный выше метод множественного DHCP (Multiple DHCP) не будет работать. Вместо этого вам нужно будет использовать дополнительные параметры DNSMasq в разделе Additional DNSMasq Options.

Перейдите на вкладку Services и найдите раздел DNSMasq. Убедитесь, что DNSMasq включен. Настройте следующие параметры в соответствии со своей средой (пропустите строки комментариев, начинающиеся с '#') и добавьте их в

текстовую область Additional DNSMasq Options.

# Включение DHCP на интерфейсе br1
interface=br1
# Задание шлюза по умолчанию для клиентов br1
dhcp-option=br1,3,192.168.2.1
# Задать диапазон DHCP и время аренды по умолчанию в 24 часа для клиентов br1
dhcp-range=br1,192.168.2.100,192.168.2.150,255.255.255.0,24h

Если вы хотите использовать разные DNS-серверы для WAP, вы можете использовать следующую опцию DNSMasq независимо от того, какой метод конфигурации DHCP вы использовали:

dhcp-option=br1,6,[DNS IP 1],[DNS IP 2]

Теперь вы должны иметь возможность подключиться к отделенному беспроводному интерфейсу и получить аренду DHCP с IP-адресом в подсети 192.168.2.0/24. Убедитесь, что вы можете подключиться к нему, получить

аренду DHCP и подключиться к IP-адресу маршрутизатора 192.168.2.1, прежде чем предпринимать какие-либо дальнейшие действия. Если порт WAN активен (т.е. маршрутизатор не настроен как беспроводная точка доступа WAP без прямого доступа к глобальной сети), также должен быть доступ в Интернет. Если вы создаете WAP, то вы должны либо использовать команды iptables для WAP в следующем разделе, либо создать маршруты по всей сети.

Шаг 3: Контроль доступа

Теперь, когда беспроводная сеть WLAN отделена от кабельной локальной сети, можно начать ограничивать доступ к ней. Вот несколько команд iptables, которые вы можете сохранить в своем сценарии брандмауэра (firewall script)

на странице Administration → Commands. Эти команды написаны в том же порядке, в котором они должны быть записаны в сценарий. Изменение порядка может повлиять на их работу. Комбинируйте их так, как вам нравится,

просто сохраняйте их в том порядке, в котором они отображаются на этой странице.

Если у вас есть какие-либо проблемы со сценарием брандмауэра, создайте тему на форуме и подробно опишите, что пытаетесь сделать и что должен делать сценарий.


Включить NAT на порте WAN, чтобы исправить ошибку в сборках более 17000.

iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram get wan_ipaddr`


Разрешить br1 доступ к br0, глобальной сети WAN и любым другим подсетям (требуется, если включен брандмауэр SPI)

iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


Запретить доступ из br1 к br0 (не использовать на WAP)

iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP


Запретить доступ из br0 к br1

iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j DROP


Запретить доступ из br1 к порту WAN (запретить доступ в Интернет!)

iptables -I FORWARD -i br1 -o `get_wanface` -j DROP


Запретить доступ из br1 к подсети WAN (всё ещё есть Интернет, не использовать на WAP)

iptables -I FORWARD -i br1 -d `nvram get wan_ipaddr`/`nvram get wan_netmask` -m state --state NEW -j DROP


Запретить доступ из br1 к подсети br0, но передавать трафик через br0 в Интернет (для WAP - порт WAN отключен)

iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP


Включить NAT для трафика, направляемого из br0, чтобы у br1 была возможность подключения (для WAP - отключен порт WAN)

iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`


Запретить доступ из br1 к локальным сокетам маршрутизатора (к программному обеспечению, запущенному на маршрутизаторе)

iptables -I INPUT -i br1 -m state --state NEW -j DROP


Разрешить доступ из br1 к DHCP на маршрутизаторе

iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT


Разрешить доступ из br1 к DNS на маршрутизаторе

iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT

Ссылки