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

From DD-WRT Wiki

Revision as of 18:56, 2 June 2020 by Biant (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Contents

[edit] Введение

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

команд iptables.

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

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

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

[edit] Подготовка

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

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

nvram get wl0_ifname

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

[edit] Конфигурация

[edit] Шаг 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

[edit] Шаг 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 в следующем разделе, либо создать маршруты по всей сети.

[edit] Шаг 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

[edit] Ссылки