LINUX.ORG.RU
ФорумAdmin

Postfix за NAT


0

1

Всем доброй ночи.

Имею шлюз на Ubuntu и почтовый сервер на Freebsd 9 с Postfix. На шлюзе все настроено и почта ходит в обе стороны, но проблема в том, что при прохождении почты из интернет в локальную сеть, подменяется IP адрес( например, mail.ru ) на внутренний IP шлюза.Из-за это не работают рестрикшены в самом postfix? т.е. все подпадает под категорию my_networks. видемо требуются корректировки файрвола, но не соображу как написать. Раньше у почты свой шлюз на винде и там IP внутренний не подставлялся. Подскажите как решить эту проблему. заголовки такие:

Received: from XXXX (192.168.10.3) by firma.local (192.168.10.248) with Microsoft SMTP Server id 14.3.435.0; Tue, 23 Apr 2019 00:34:29 +0300

Received: by xxxxx (Postfix, from userid 5001) id E760937D; Tue, 23 Apr 2019 00:36:28 +0300 (MSK)

Received: from f542.i.mail.ru (xxxx [192.168.10.5]) by xxx (Postfix)

из-за последнего, думаю, все проблемы.

Заранее благодарю


Received: from XXXX (192.168.10.3) by firma.local (192.168.10.248) with Microsoft SMTP Server id 14.3.435.0; Tue, 23 Apr 2019 00:34:29 +0300

Кто все эти люди? Вы что, почту забираете с релея? Откуда у Вас Microsoft SMTP Server?

Получение почты от mail.ru выглядит примерно так:

Received: from f505.i.mail.ru (f505.i.mail.ru [217.69.138.172])
by my.domain.ru (Postfix) with ESMTPS id F32B1618
for <user@domain.ru>; Wed, 17 Apr 2019 16:19:50 +0300 (MSK)

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

Нет..цепочка : шлюз - posfix(10.3) - exchange (10.248) внутренние адреса. я знаю как вглядит..но не понимаю почему упорно подставляется локальный адрес вместо внешнего.. пробовал разные компинаци. шлюз на убунте. толи с правилами iptables беда.. толи что то еще...

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

Ну значит он делает NAT внутрь локальной сети - решение довольно странное и как видим на нашем примере, даже вредное.

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

да..такая схема досталась в наследство..все бы ничего, но теперь не работают спамлисты.. но как исправить.. на шлюзе есть маскарадинг и пробросы портов..ничего особенного.. причем реализовано через firewalld ...отключение маскарадинга ессно гасит инет у локалки..

vinchy
() автор топика

вангую что нужен snat.

Deleted
()
Ответ на: комментарий от keir

# Generated by iptables-save v1.6.1 on Tue Apr 23 14:30:16 2019
*nat
:PREROUTING ACCEPT [621348:62025155]
:INPUT ACCEPT [170:63175]
:OUTPUT ACCEPT [166:12719]
:POSTROUTING ACCEPT [58:4923]
:OUTPUT_direct - [0:0]
:POSTROUTING_ZONES - [0:0]
:POSTROUTING_ZONES_SOURCE - [0:0]
:POSTROUTING_direct - [0:0]
:POST_public - [0:0]
:POST_public_allow - [0:0]
:POST_public_deny - [0:0]
:POST_public_log - [0:0]
:PREROUTING_ZONES - [0:0]
:PREROUTING_ZONES_SOURCE - [0:0]
:PREROUTING_direct - [0:0]
:PRE_public - [0:0]
:PRE_public_allow - [0:0]
:PRE_public_deny - [0:0]
:PRE_public_log - [0:0]
-A PREROUTING -j PREROUTING_direct
-A PREROUTING -j PREROUTING_ZONES_SOURCE
-A PREROUTING -j PREROUTING_ZONES
-A PREROUTING -d XXXXXX -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.10.248
-A PREROUTING -d XXXXXX -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.202
-A PREROUTING -d XXXXXX -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.10.3
-A PREROUTING -d XXXXXX -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.10.3
-A OUTPUT -j OUTPUT_direct
-A POSTROUTING -j POSTROUTING_direct
-A POSTROUTING -j POSTROUTING_ZONES_SOURCE
-A POSTROUTING -j POSTROUTING_ZONES
-A POSTROUTING_ZONES -o enp1s0 -g POST_public
-A POSTROUTING_ZONES -o enp2s0 -g POST_public
-A POSTROUTING_ZONES -g POST_public
-A POST_public -j POST_public_log
-A POST_public -j POST_public_deny
-A POST_public -j POST_public_allow
-A POST_public_allow ! -o lo -j MASQUERADE
-A PREROUTING_ZONES -i enp1s0 -g PRE_public
-A PREROUTING_ZONES -i enp2s0 -g PRE_public
-A PREROUTING_ZONES -g PRE_public
-A PRE_public -j PRE_public_log
-A PRE_public -j PRE_public_deny
-A PRE_public -j PRE_public_allow
# Completed on Tue Apr 23 14:30:16 2019

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

У вас не верное правило MASQUERADE. Весь трафик, который как-либо пролетает через шлюз, маскируется за ip шлюза. Вместо маскарада всего, кроме трафика на локальном интерфейсе

-A POST_public_allow ! -o lo -j MASQUERADE
нужно маскарадить трафик только в интернет
-A POST_public_allow -o ИНТЕРФЕЙС_В_ИНТЕРНЕТ -j MASQUERADE

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

Благодарю? это достаточное условие?

я писал еще вот так: iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

ситуация не менялась..судя по заголовкам письма..

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

Просмотрите /var/log/mail.log на машине с postfix, соединения должны быть с реальных интернет-адресов, что-нибудь типа

Apr 43 17:73:03 mailgate2 postfix/smtpd[31428]: connect from unknown[103.261.139.279]

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

по этой инструкции и делал..один в один.. потом отправлял себе письмо и смотрел заголовки..без изменений..

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

в заголовке есть такое: from f517.i.mail.ru (unknown [192.168.10.5] и в логах нигде нет его реального ip.. может что-то с днс..но это наврядли..

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

а пардон как должно быть, если postfix отправил письмо в exchange, а exchange положил его в ящик.. в настройках postfix в mynetworks есть 192.168.10.0/24, поэтому идет и пересылка всего что касается внутренней сети...

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

как видно из лога, письмо с mail.ru приходит с виндового релея, который во внутренней сети.
вопрос: зачем фильтровать по ip, если все письма идут с релея ?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

прости, не понял..192.168.10.5 - 192.168.10.3 - 192.168.10.248 .. самая верхняя - самая последняя и это exchange

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

Чуть повангую, вы это

iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

писали при рабочих правилах? Если да, то ничего удивительного что не работает.

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

простите, а что не так? как нужно правильно?это писалось в конфиг и он перечитывался со сбросом всех цепочек.

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

Тогда еще раз покажите выхлоп iptables-save

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