URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5610
[ Назад ]

Исходное сообщение
"Не форвордит машинка. IpTables"

Отправлено NDrop , 20-Июн-08 16:06 
Такая ситуэшен: Был почтовый и прокси сервер(192.168.2.2) на RHL.Спустя долгие годы машинка перестала справляться и Squid перенес на фряшный фаирвол(192.168.2.1), а под почтовый сервак купил новую железку и с закрутил на неё CentOS. Пришло время всё переносить, и что бы не бегать перенастраивать у всех пользователей настройки интернет браузера, решил перебросить просто порт с 192.168.2.2:3128 -> 192.168.2.1:3128. Забил в iptables правила в старенькой RHL:
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.2.2 --dport 3128 -j DNAT --to-destination 192.168.2.1
/sbin/iptables -A FORWARD -i eth0 -p tcp -d 192.168.2.1 --dport 3128 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p udp -d 192.168.2.2 --dport 3128 -j DNAT --to-destination 192.168.2.1
/sbin/iptables -A FORWARD -i eth0 -p udp -d 192.168.2.1 --dport 3128 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.1 --dport 3128 -j SNAT --to-source 192.168.2.2

...и о чудо, всё заработало. Подошло заменить RHL и поставить новый сервант с CentOS, и    все вроде бы нормально, но тут выскочила трабла, копирую эти же правила для iptabltes, они подхватываются, а порт не перебрасывается. Брандмауэре отключен. Может кто сталкивался с такой неприятностью.    


Содержание

Сообщения в этом обсуждении
"Не форвордит машинка. IpTables"
Отправлено pavel_simple , 20-Июн-08 16:19 
IMHO
для решения задачи достаточно одного DNAT'а и одного FORWARD'а -- у вас тут чёрт ногу сломит



"Не форвордит машинка. IpTables"
Отправлено screepah , 20-Июн-08 17:33 
>IMHO
>для решения задачи достаточно одного DNAT'а и одного FORWARD'а -- у вас
>тут чёрт ногу сломит

Ну вообще-то проброс и для tcp и для udp делается, но суть не в этом. Я так понял оно не работает с DNAT и с FORWARD'ом, а по мануалу iptables SNAT на обратку требуется, без него работать не будет на самом деле.

Если правильно помню вводную: система CentOS, ядро 2.6, на предыдущей машине эти правила работали как надо (rh8, 2.4).

Идея такая: строки с REJECT, DROP на время теста отключить нужно, если они есть, а если нет... то идей тоже нет :(


"Не форвордит машинка. IpTables"
Отправлено reader , 20-Июн-08 18:08 
интерфейс, судя по правилам, используется один, но все же можно попробывать
echo 1 > /proc/sys/net/ipv4/ip_forward

"Не форвордит машинка. IpTables"
Отправлено screepah , 23-Июн-08 14:06 
>интерфейс, судя по правилам, используется один, но все же можно попробывать
>echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.1 --dport 3128 -j SNAT --to-source 192.168.2.2

может еще эту строчку для udp добавить не мешало бы?


"Не форвордит машинка. IpTables"
Отправлено NDrop , 25-Июн-08 10:25 
Ну может кто знает почему одни и теже правила для Iptables на одной машине работаю, а на другой,той же ветке OS, не работают? Может дело вовсе и не в iptables.

"Не форвордит машинка. IpTables"
Отправлено screepah , 25-Июн-08 17:31 
>Ну может кто знает почему одни и теже правила для Iptables на
>одной машине работаю, а на другой,той же ветке OS, не работают?
>Может дело вовсе и не в iptables.

все таки: echo 1 > /proc/sys/net/ipv4/ip_forward

и все заработает!


"Не форвордит машинка. IpTables"
Отправлено NDrop , 28-Июн-08 23:41 
>>Ну может кто знает почему одни и теже правила для Iptables на
>>одной машине работаю, а на другой,той же ветке OS, не работают?
>>Может дело вовсе и не в iptables.
>
>все таки: echo 1 > /proc/sys/net/ipv4/ip_forward
>
>и все заработает!

Действительно, это и минус тупняк и вышел аленький цветочек...