Как я могу запретить Postfix принимать почту local-users @ my-FQDN из внешнего мира?
$ hostname -f
hostname.example.com
Postfix принимает почту для любого локального пользователя по моему FQDN. Итак, мы будем использовать root@hostname.example.com
в качестве примера локального пользователя я хочу прекратить получать почту из внешнего мира.
У меня довольно простая установка Postfix / Dovecot / SASL / LDA, но позвольте мне поделиться некоторыми деталями.
Я пробовал реверсировать пользователей в /etc/aliases
и Postfix virtual_alias_maps.cf
, но не повезло. Я бегал newaliases и почтовая карта после их обновления.
#/etc/aliases:
#root: user@example.com
#/etc/postfix/virtual_alias_maps.cf:
root user@example.com
Думаю, у меня осталось ЧЕТЫРЕ * (обновленных) варианта ...
mydestination
. Я почти уверен, что мне нужно сохранить здесь свое полное доменное имя, поэтому не думаю, что его удаление - хороший вариант. РЕДАКТИРОВАТЬ: Да, хотя удаление вашего FQDN из мое предназначение отключает внешний мир от отправки почты локальным пользователям, это неправильный способ отключить его, потому что это приводит к другим вещам.smtpd_recipient_restrictions
отключить это? Я не могу найти ни одного в документы.Вот соответствующая часть мой Postfix main.cf:
myhostname = hostname.example.com
mydomain = example.com
mydestination = $myhostname, localhost.$mydomain, localhost
smtpd_recipient_restrictions =
reject_unknown_recipient_domain,
reject_non_fqdn_recipient,
reject_unauth_destination,
permit_mynetworks,
permit
Вот соответствующая часть мой Postfix master.cf:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_recipient_restrictions=
reject_unknown_recipient_domain,
reject_non_fqdn_recipient,
permit_sasl_authenticated,
reject
P.S. Вот HowTo, из которого я взял большую часть своей настройки: VirtualUserFlatFilesPostfix
Просто удалите $ myhostname из mydestination и перезапустите postfix
Вы упоминаете smtp_recipient_restrictions
, вы действительно пытались добавить строку check_recipient_access hash:/etc/postfix/recipient_access
?
Поместите это как первую строку перед reject_unknown_recipient_domain,
затем в /etc/postfix/recipient_access
добавьте строку:
root@hostname.example.com ОТКАЗАТЬ
(не забудьте postmap /etc/postfix/recipient_access
)
Кстати, адрес администратора почты всегда должен быть доступен, но я никогда не видел RFC, в котором говорилось бы, что root должен быть доступен, хотя я не читал все RFC, относящиеся к SMTP.