LINUX.ORG.RU
ФорумAdmin

Проблема с DNAT в iptables


0

0

Редиректю входящий http траффик c роутера на внутренний хост с апачем

iptables -t nat -A PREROUTING -d 111.111.111.111 --dport 80 -j DNAT --to-destination 192.168.0.1

#(типа маскарадинг чтобы ответы от апача проходили) iptables -t nat -A POSTROUTING -ы 192.168.0.1 -o eth0 -j SNAT --to-source 111.111.111.111

все бегает, транзитные пакеты ходят нормально, но одна проблема на роутере стоит сквид и исходящие пакеты от сквила естественно не проходят через PREROUTING. Поэтому добавляю: iptables -t nat -A OUTPUT -d 111.111.111.111 --dport 80 -j DNAT --to-destination 192.168.0.1 смотрю netstat... соединение в состоянии syn_sent, на машине с апачем syn_recv и все ;((( дальше не работает. получается пакеты от сквида идут на 111.111.111.111, а ответы приходят с 192.168.0.1, т.к. входящие пакеты для сквида не проходят POSTROUTING. В INPUTe нельзя приименять SNAT. Гуру iptables что делать ? С приветом, Ник ;)

anonymous

Раньше цепочка OUTPUT в таблице nat не работала. Не знаю, исправили ли уже эту багу.

Вопрос - а зачем редиректить локальный сквид? Он же и так может отправлять пакеты с адреса 111.111.111.111 (он же на той же машине стоит!)

anonymous
()

какая версия iptables ?

FiL0

anonymous
()

какая версия iptables ?

FiL0

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