Страница 1 из 1

Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-25 11:38:27
skeletor
Суть проблемы в следующем: есть шлюз, на нём проброшены порты 110, 25. Сам почтовый сервак находиться в локалке. Доменное имя зарегано на внешний IP, MX запись тоже. Имя шлюза mail.server.com.
В итоге, при пробросе порта получаем следующую ситуацию:

Код: Выделить всё

samba postfix/smtpd[65288]: NOQUEUE: reject: RCPT from unknown[192.168.0.254]: 450 4.7.1 Client host rejected: cannot find your hostname, [192.168.0.254]; from=<apple.jessie@gmail.com> to=<uest320@ms32.hinet.net> proto=SMTP helo=<static.customer-201-116-58-221.uninet-ide.com.mx>
то есть при приёме почты, подставляется внутренний IP шлюза (192.168.0.254) и получается. В конфиге postfix'a написано следующее:

Код: Выделить всё

mynetworks = 127.0.0.0/8, 192.168.0.0/24

smtpd_client_restrictions =  permit_mynetworks,
							 permit_sasl_authenticated,
							 check_client_access hash:$base/client_access,
							 reject_unknown_client_hostname

# Дополнительные ограничения, применяемые сервером Postfix
# в контексте SMTP команды HELO
smtpd_helo_restrictions =	   check_helo_access hash:$base/hello_access,
								permit_mynetworks,
								permit_sasl_authenticated,
								reject_invalid_helo_hostname,
								reject_non_fqdn_helo_hostname,
								reject_unknown_helo_hostname

# Дополнительные ограничения, применяемые сервером Postfix
# в контексте команды MAIL FROM
smtpd_sender_restrictions =	 permit_mynetworks,
								check_sender_access hash:$base/sender_access,
								reject_authenticated_sender_login_mismatch,
								reject_unknown_sender_domain,
								reject_unlisted_sender,
								reject_unverified_sender

# Дополнительные ограничения, применяемые сервером Postfix
# в контексте команды RCPT TO
smtpd_recipient_restrictions =  permit_mynetworks,
								permit_sasl_authenticated,
								reject_unauth_destination,
								check_recipient_access hash:$base/recipient_access,
								reject_unknown_recipient_domain,
								reject_non_fqdn_recipient,
								reject_unverified_recipient,
								check_policy_service inet:127.0.0.1:10023
При таком конфиге, получается открытый релеей, ибо подставляется внутренний IP, а он прописан в mynetworks.

Если убрать внутренний адрес шлюза из mynetworks, то будут идти reject'ы.

Посоветуйте, как правильно реализовать эту ситуацию.

Re: Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-25 12:54:31
iye
вариант номер раз - получить подсетку и прокинуть.
вариант номер два - получить еще один ип и поднять туннель с почтового сервака до маршрутизатора, где почтовому серваку будет выдаваться нужный ип.
вариант номер три - поднять почтовый сервак на роутере.

Re: Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-25 16:01:20
skeletor
Все варианты не подходят
1) нельзя
2) тоже нельзя
3) роутер не такой мощный, что бы крутить почту.

Re: Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-26 16:54:31
iye
Роутер может релеить почту на внутренний сервак.

Re: Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-27 10:21:50
Lord Beaver
У меня другой вопрос. Как реализован проброс порта, что IP адрес меняется на внутренний? Собственно сделать нормальный проброс и всё будет работать.

Re: Postfix и проброс 25 порта. Как правильно реализовать?

Добавлено: 2010-02-28 15:18:50
skeletor
Пробовал пробрасывать через natd, но у некоторых людей, которые находяться во внутренней подсети, перестала работать почта. Потом решил через redir, rinetd.

Сейчас проблема решена (мне правда не нравиться, но это временно). Убрал из конфига postfix'a из mynetwork внутренний адрес шлюз (192.168.0.254), то есть теперь он не подпадал под правило permit_mynetwork. Спам начал резаться, правда в очереди начали накапливаться письма для MAILER-DAEMON, которые пока по крону прибиваю.