LINUX.ORG.RU
ФорумAdmin

iptables. Вопрос связанный с DNAT.


0

0

Привет!
Возникла проблема с такой ситуацией:
есть правило
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.3.3 -d ! $IP1 -DNAT --to-destination $PROXY:3128
Этим правилом при обращении к определенному IP - редирект на прокси не дается...
Пытаюсь добавить другой $IP2
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.3.3 -d ! $IP2 -DNAT --to-destination $PROXY:3128
Это правило не работает и "заворот" на прокси идет для $IP2.
Удаляю правило с $IP1 - начинает работать правило с $IP2
Почему только одно правило работает? Где я ошибся?

anonymous

Re: iptables. Вопрос связанный с DNAT.

> Где я ошибся?
В логике ! :-)

> Это правило не работает и "заворот" на прокси идет для $IP2.
Правильно, т.к. $IP2 - это НЕ $IP1, т.е "! $IP1", поэтому срабатывает первое правило и делает DNAT.
Описывайте лучше явно:
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.3.3 -d $IP1 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.3.3 -d $IP2 -j ACCEPT
...
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.3.3 -j DNAT --to-destination $PROXY:3128

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