iptables запретить доступ к локальной сети с другого маршрутизатора

У меня есть два маршрутизатора прошивки Tomato. Маршрутизатор X подключен к интернету через порт WAN. WAN маршрутизатора Y подключен к порту LAN1 маршрутизатора X. Я хотел бы ограничить маршрутизатор Y, чтобы он мог подключаться только к интернету и не получать доступ к локальной сети на маршрутизаторе X. Я попытался использовать эти iptables на маршрутизаторе X:

iptables -I FORWARD -m mac --mac-source XX:XX:XX:XX:XX -d 192.168.1.0/24 -j DROP
iptables -I FORWARD -s 192.168.1.18 -d 192.168.1.0/24 -j DROP

Я пробовал оба этих правила отдельно и вместе (на маршрутизаторе X), и все же я все еще могу получить доступ к локальной сети на маршрутизаторе X при подключении маршрутизатору Y? (1.18-это WAN-адрес маршрутизатора Y, и он запускает собственную сеть NAT)

Я пробовал TCPDUMP на маршрутизаторе X и даже не вижу доступа трафика к локальной сети, но он подключается?

network layout

20
задан Donald Duck
16.01.2023 6:57 Количество просмотров материала 3626
Распечатать страницу

2 ответа

Так как вы не упоминаете марку и модель вашего маршрутизатора, вот общая идея: маршрутизатор потребительского класса обычно состоит из порта" WAN "и ряда портов" LAN". Большинство дешевых маршрутизаторов SoC имеют два интегрированных сетевых интерфейса, один для WAN и один для LAN. Конечно, это не совпадает с количеством портов LAN-есть встроенный коммутатор.

в большинств маршрутизаторах, эти переключатели в действительности programmable. Они могут выполнять VLAN на основе портов и теги VLAN. Это означает, что вы можете создать "разнимать" сетевого интерфейса.

обычно это так:

   +-------------+  +--------------+
   |     CPU     |  |         LAN1 |--
 --| WAN     LAN |--| Switch  LAN2 |--
   +-------------+  |         LAN3 |--
                    +--------------+

все, что подключено в LAN1 (где подключен ваш маршрутизатор Y), имеет полный доступ к LAN2 и LAN3.

однако мы можем перенастроить коммутатор и создать две VLAN:

   +---------------+  +--------------+
   |     CPU       |  |    Switch    |
   |         LAN.1 |--| VLAN1   LAN1 |--
 --| WAN           |  +--------------+
   |         LAN.2 |--| VLAN2   LAN2 |--
   +---------------+  |         LAN3 |--
                      +--------------+

после настройки, каждая VLAN будет отображаться как отдельный сетевой интерфейс к системе. Потому что ЛС1 уже не на одном широковещательном домене с ЛС 2/3, ОС получает трафик и может решить, передавать ли пакеты от VLAN1 до VLAN2.

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

может ли помидор сделать это, я не знаю. OpenWrt может, и IIRC так может DD-WRT. По сути, это проводная гостевая сеть.

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

iptables -A FORWARD -d 192.168.0.0/16 -j DROP
iptables -A FORWARD -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -d 10.0.0.0/8 -j DROP

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

1
отвечен Daniel B 2023-01-17 14:45

проблема в том, что маршрутизатору Y не нужна прямая цепочка для достижения вашей внутренней сети. Его WAN-интерфейс 192.168.1.18 и поэтому любые пакеты, привязанные к 192.168.1.0 / 24, которые попали в этот интерфейс, будут маршрутизироваться локально, никогда не нажимая вперед.

Я ожидаю, что если вы измените FORWARD на INPUT на своем втором правиле, все начнет работать так, как вы намереваетесь:

iptables -I INPUT -s 192.168.1.18 -d 192.168.1.0/24 -j DROP
-1
отвечен Mark 2023-01-17 17:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх