Как запретить локальный трафик между двумя локальными интерфейсами?

Есть linux-box с 3 сетевыми интерфейсами.
eth0 — inet
eth1 — lan1 — gw 192.168.1.1
eth2 — lan2 — gw 192.168.10.1

У пользователей из обоих сетей должен быть интернет.

Хочу сделать так, чтобы никто из lan2 не мог увидеть ничего из lan1.

Прописал:
iptables -A FORWARD -i eth2 -o eth1 -j DROP

Но пользователь из сети lan2 спокойно получает доступ до IP-адреса на интерфейсе eth1 — 192.168.1.1, что не желательно.

upd. Помогло следующее:

iptables -L -v
Chain INPUT (policy DROP 21 packets, 1148 bytes)
pkts bytes target prot opt in out source destination
9 488 DROP all -- any any 192.168.10.0/24 192.168.1.0/24


Спасибо за помощь!
  • Вопрос задан
  • 7767 просмотров
Пригласить эксперта
Ответы на вопрос 8
ergil
@ergil
а route -n кто будет показывать? мало ли, что у вас там наворочено
Ответ написан
eigrad
@eigrad
Python-разработчик / Linux-админ
<vanga_mode>у вас eth1 и eth2 в один свитч воткнуты?</vanga_mode>
Ответ написан
nicolnx
@nicolnx
попробуйте в INPUT дополнительно отфильтроваться
Ответ написан
@da0c
Вроде все правильно, сложно подсказать, но я бы проверил
— а в цепочке FORWARD нет ли какого правила, которое идет перед
iptables -A FORWARD -i eth2 -o eth1 -j DROP
и пропускает пакеты
— а на уровне свича все разделено (хотя этот вопрос уже был)
— а не могут ли пакеты форвардится lan2 — lan0 — lan1, хотя вроде route нормальный…
— кстати, а на машинах из lan2 — lan1 стоят шлюзы правильные?
— попробуйте записать пакеты в логи iptables или посмотрите на них tcpdump-ом — чтобы узнать, как же они все-таки просачиваются
Ответ написан
@bondbig
Правила файервола отрабатывают по первому совпадению сверху вниз. Если выше есть правило, под которое попадает этот трафик, все остальные не будут срабатывать.
Ответ написан
DobroFenix
@DobroFenix
Поставьте MikroTik ROS и не мучайтесь, если трафика не очень много.
Вот правила от ROS, думаю, под iptables додумаете, как переписать

chain=forward action=drop src-address=192.168.1.0/24 dst-address=192.168.10.0/24
chain=forward action=drop src-address=192.168.10.0/24 dst-address=192.168.1.0/24

Как уже говорили правила кидать в самый верх
Ответ написан
@1x1
192.168.1.1 принадлежит самому серверу, а не сети, находящейся за ним, так что правила для этого случая будут отличаться.
Ответ написан
@WGARRET
*удален*
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы