LINUX.ORG.RU
решено ФорумAdmin

Настройка роутинга

 ,


0

1

Всем привет!

192.168.0.1 - nginx
192.168.0.2 - apache

Есть такие правила:

iptables -t nat -A PREROUTING -p tcp -d IP --dport 80 -i eth0 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j SNAT --to IP
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j SNAT --to IP

Извне все прекрасно работает, но из контейнера apache (192.168.0.2) при открытии сокета на IP:80 Connection refused (пробовал на другие порты - работает)

Т.е. правилами на HN не ограничиться, надо добавлять в контейнере условие на 80 порт? Или все таки можно как-то настроить?

Спасибо за помощь!

Ответ на: комментарий от no_Bra1n

в цепочке PREROUTING еще не известно имя выходящего интерфейса, с POSTROUTING то же.

uspen ★★★★★
()

А чего нужно сделать-то? Какова цель данных правил?

iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j SNAT --to IP
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j SNAT --to IP

invokercd ★★★★
()
Ответ на: комментарий от invokercd

Честно, точно сказать не могу, с внутреннего на NH все перекидывает, как-то так

Может мне удалить эти два правила вовсе, оставить только первое и тогда все взлетит

Буду гуглить, как удалять правила

no_Bra1n
() автор топика
Ответ на: комментарий от AnDoR

Надо добавить

iptables -t nat -A PREROUTING -p tcp -d IP --dport 80 -i venet0 -j DNAT --to-destination 192.168.0.1:80

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