Можно ли разрешить SMTP AUTH только с IP-адресов в mynetworks? Я перепробовал кучу вариантов, но ни один не сработал. Вот фактическое состояние моего main.cf:
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mx1.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.domain.com, localhost.domain.com, localhost
relayhost =
mynetworks = 172.20.1.0/24 172.18.1.0/24 192.168.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_recipient_restrictions =
check_recipient_access mysql:/etc/postfix/blocked-recipients.cf,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_sender_access hash:/etc/postfix/sender_access
message_size_limit = 409600000
решение1
Вы, вероятно, захотите использоватьsmtpd_sasl_exceptions_networks
.
решение2
Спасибо @84104. Ваш ответ помог мне найтиЭта темачто решило мою проблему.
smtpd_sasl_exceptions_networks
не заявляет о поддержке AUTH, но по-прежнему допускает AUTH с любого IP.Эта функция была предоставлена для предотвращения сбоев определенных сетевых клиентов, когда сервер объявляет о поддержке AUTH, но у клиента нет данных для входа. С
smtpd_sasl_exceptions_networks
, эти клиенты не пытались пройти аутентификацию, и все было хорошо.
smtpd_sasl_exceptions_networks
устарелоsmtpd_discard_ehlo_keywords
иsmtpd_discard_ehlo_keyword_address_maps
. Последние два не позволяют Postfix принимать команды AUTH.
smtpd_sasl_exceptions_networks
вероятно, его следует объявить устаревшим и в конечном итоге удалить из документации.