LINUX.ORG.RU
ФорумAdmin

редирект почты


0

0

в локальной сети находится почтовый сервер с внутренним ip, в dns, ip адрес почтовика стоит естественно внешний адрес маршрутизатора (под red hat linux), на том маршрутизаторе прописал правило для редиректа почты на внутренний ip почтовика:

/sbin/iptables -t nat -A PREROUITNG -p tcp -s ! внешний_ip_маршрутизатора -d внешний_ip_маршрутизатора --dport 25 -j DNAT --to-destination внутренний_ip_почтовика

в результате почта отправляется нормально с клиентских машин, и принимается тоже, но возникла одна проблема, не могу отправлять почтовые сообщения с самого маршрутизатора (настроена отправка статистики, логов), то есть как я понимаю sendmail смотрит по dns адрес моего почтовика, он - внешний, он же получается и собственный, когда заглядываю в раздел /var/spool/mqueue маршрутизатора, то вижу в файлах - connection refused for имя_почтовика. Пробовал вписывать в ту часть правила, где ... -d ! ... локальный 127.0.0.1 или localhost - результат нулевой, прописывать туда другие локальные интерфейсы тоже нельзя, так как будет блокироваться почта при отправке с клиентских машин, в общем нужен ваш совет ...

★★★

А port forwarding и не будет работать на самой тачке. Еще один пример: Apache слушает на 192.168.0.1, хочу дать миру коннектиться к нему через внешний адрес, создаю рулсу похожую на твою - работает с любой тачки - будь то с инета или с локалки - но не с той, где NAT происходит. NAT of local connections в конфиге ядра ничего не меняет. Кто то предложил решить это проблему используя views в bind 9 - для всех чтобы почтовик ресолвился на внешний адрес, а для тебя на внутренний.

rihad
()
Ответ на: комментарий от gfh

...

у маршрутизатора 4 интерфейса:

localhost
192.168.0.1 (здесь же почтовик)
192.168.1.1
внешний_ip

пробовал еще так:

1) /sbin/iptables -t nat -A PREROUTING -p tcp -s ! 127.0.0.1 -d внешний_ip --dport 25 -j DNAT --to-destination внутренний_ipпочтовика

результат - ничего не изменилось

2) /sbin/iptables -t nat -A PREROUTING -p tcp -s ! 192.168.0.0/16 -d внешний_ip --dport 25 -j DNAT --to-destination внутренний_ipпочтовика

результат - нулевой

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

2 rihad:
> работает с любой тачки - будь то с инета или с локалки - но не с той, где NAT происходит
А у меня все жирно пашет :-)
Для "той" тачки, "где NAT происходит" по-моему надо использовать не PREROUTING, а OUTPUT таблицы NAT:
iptables -t nat -A OUTPUT .... -j DNAT --to-destination x.x.x.x
где x.x.x.x - нужный локальный IP (как и в PREROUTING).

2 x97Rang:
> пробовал еще так:....
Ну тогда еще и так попробуйте:
3) /sbin/iptables -t nat -A OUTPUT -p tcp -d внешний_ip --dport 25 -j DNAT --to-destination внутренний_ipпочтовика

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

...

всем спасибо за советы, перенастроил dns, по совету rihad, все нормально :)

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