Немного странная и напрягающая ситуация:
на роутере при помощи iptables настроен порт-форвардинг 25 порта на внутреннюю машину с sendmail.
Все работает, письма ходят, но есть один напрягающий факт (далее кусок лога общения внешнего smtp сервера с моим):>>> HELO antispam-ufrj.pads.ufrj.br
<<< 250 mail.myhost.ru Hello intergate.myinternaldomain.local [10.62.1.249], pleased to meet you
Т.е. sendmail считает (и справедливо!), что "общается" с 10.62.1.249, а не с antispam-ufrj.pads.ufrj.br.
Возможно ли это исправить?
Или это нормальная ситуация и исправлять ничего не надо?
Прошу прощения, забыл добавить, что 10.62.1.249 - внутренний адрес роутера.
>[оверквотинг удален]
>
>>>> HELO antispam-ufrj.pads.ufrj.br
>
><<< 250 mail.myhost.ru Hello intergate.myinternaldomain.local [10.62.1.249], pleased to meet you
>
>Т.е. sendmail считает (и справедливо!), что "общается" с 10.62.1.249, а не с
>antispam-ufrj.pads.ufrj.br.
>
>Возможно ли это исправить?
>Или это нормальная ситуация и исправлять ничего не надо?Имхо, это будет сильно мешать работе почтового сервера.
>Имхо, это будет сильно мешать работе почтового сервера.На мой взгляд - тоже.
Плюс нельзя будет, например, ограничивать (или наоборот - разрешать) релей по IP и тд.
>>Имхо, это будет сильно мешать работе почтового сервера.
>
>На мой взгляд - тоже.
>Плюс нельзя будет, например, ограничивать (или наоборот - разрешать) релей по IP
>и тд.Т.е. неправильно настроен iptables.
Правила покажите.
>Т.е. неправильно настроен iptables.
>Правила покажите.# Generated by iptables-save v1.3.8 on Mon Jul 14 11:25:38 2008
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -d <externalIP1> -i eth2 --dport 25 -j CONNMARK --set-mark 0x1 # маршрутизация в нужный интерфейс
-A PREROUTING -p tcp -m tcp -d <externalIP1> --dport 25 -j DNAT --to-destination 10.62.1.250:25
-A POSTROUTING -p tcp -m tcp -d 10.62.1.250 --dport 25 -j SNAT --to-source 10.62.1.249
-A POSTROUTING -o eth2 -j SNAT --to-source <externalIP1>
-A POSTROUTING -o eth1 -j SNAT --to-source <externalIP2>
-A PREROUTING -p tcp -m tcp -s 10.62.1.250 ! -d 10.0.0.0/255.0.0.0 -i eth0 ! --dport 110 -j MARK --set-mark 0x1 #Все запросы, кроме 110 порта, вести через eth0
-A PREROUTING -p tcp -m tcp -s 10.62.1.250 --sport 25 -j CONNMARK --restore-mark10.62.1.250 - почтовый сервер.
>-A POSTROUTING -p tcp -m tcp -d 10.62.1.250 --dport 25 -j SNAT
>--to-source 10.62.1.249Неужто сами не догадываетесь что делает это правило?
>-A POSTROUTING -o eth2 -j SNAT --to-source <externalIP1>
>-A POSTROUTING -o eth1 -j SNAT --to-source <externalIP2>Этого будет достаточно, если на 10.62.1.250 шлюз(10.62.1.249) прописан в качестве default route
Я правильно Вас понял, что>>-A POSTROUTING -p tcp -m tcp -d 10.62.1.250 --dport 25 -j SNAT
>>--to-source 10.62.1.249нужно убрать?
И, если не сложно, объясните в чем криминал?
>Неужто сами не догадываетесь что делает это правило?Все, разобрался!
Огромное спасибо за подсказку!