Такая ситуэшен: Был почтовый и прокси сервер(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, они подхватываются, а порт не перебрасывается. Брандмауэре отключен. Может кто сталкивался с такой неприятностью.
IMHO
для решения задачи достаточно одного DNAT'а и одного FORWARD'а -- у вас тут чёрт ногу сломит
>IMHO
>для решения задачи достаточно одного DNAT'а и одного FORWARD'а -- у вас
>тут чёрт ногу сломитНу вообще-то проброс и для tcp и для udp делается, но суть не в этом. Я так понял оно не работает с DNAT и с FORWARD'ом, а по мануалу iptables SNAT на обратку требуется, без него работать не будет на самом деле.
Если правильно помню вводную: система CentOS, ядро 2.6, на предыдущей машине эти правила работали как надо (rh8, 2.4).
Идея такая: строки с REJECT, DROP на время теста отключить нужно, если они есть, а если нет... то идей тоже нет :(
интерфейс, судя по правилам, используется один, но все же можно попробывать
echo 1 > /proc/sys/net/ipv4/ip_forward
>интерфейс, судя по правилам, используется один, но все же можно попробывать
>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 на одной машине работаю, а на другой,той же ветке OS, не работают? Может дело вовсе и не в iptables.
>Ну может кто знает почему одни и теже правила для Iptables на
>одной машине работаю, а на другой,той же ветке OS, не работают?
>Может дело вовсе и не в iptables.все таки: echo 1 > /proc/sys/net/ipv4/ip_forward
и все заработает!
>>Ну может кто знает почему одни и теже правила для Iptables на
>>одной машине работаю, а на другой,той же ветке OS, не работают?
>>Может дело вовсе и не в iptables.
>
>все таки: echo 1 > /proc/sys/net/ipv4/ip_forward
>
>и все заработает!Действительно, это и минус тупняк и вышел аленький цветочек...