LINUX.ORG.RU
ФорумAdmin

iptables, nat и policy - совсем запутался.


0

0

Есть роутер на линуксе rh7.2 В него воткнуто два интерфейса eth0 192.168.1.1 --> подсеть0 192.168.1.0/24 eth1 10.0.1.1 --> подсеть1 192.168.1.0/24

В подсети eth0 стоит комп3 192.168.1.2, задача - видеть ему подсеть0 через nat, но что бы из подсети1 этого компа 192.168.1.2 и даже интерфейса eth0 видно не было.

Ну нат я настроил :)

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.2 -j SNAT --to-source 10.0.1.1

Но к сожалению, если на любом компе из подсети1 указать в качестве гейтвея на подсеть0 адрес eth1, то комп3 пингуется. И eth0 пингуется.

Правило iptables -A INPUT -i eth1 -d 192.168.1.0/24 -j REJECT почему то не работает. Точнее eth0 начинает отвечетть Destination port unreachable,а комп3 вообще пингует нормально.

iptables -P FORWARD DROP не помогает, nat перестает работать вообще.

Немного помогает iptables -t nat -P POSTROUTING DROP, тогда пингуется только eth0, но начинаются глюки на самом роутере - например перестают работать пинги.

В общем каким образом решить задачу?

anonymous

Можно запретить прохождение SYN пакетов в одном направлении. Т.е. связь можно будет установить только из одной подсети (NET1), а из другой (NET2) нельзя. А все остальные пакеты ходят в обоих направлениях.

iptables -A FORWARD -i $NET2_INT -o $NET1_INT -p TCP --syn -j DROP

anonymous
()

Я при формулировании условия ошибку допустил, надо читать так:

Есть роутер на линуксе rh7.2 В него воткнуто два интерфейса

eth0 192.168.1.1 --> подсеть0 192.168.1.0/24

eth1 10.0.1.1 --> подсеть1 10.0.1.0/24

Насчте syn пакетов.. А если усложнить задачу и добавить, что в подести0 стоит на комп3 веб сервер (порт 80 с роутера туда перенаправляется).

Запрет syn пакетов приведет к неработоспособности веб сервера.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.