Назад | Перейти на главную страницу

Псевдонимы Postfix работают только от локальных пользователей

Я просто установил экземпляр Postfix и добавил несколько имен в /etc/aliases. Например, возьмите это:

root: toor, nobody
foo: root, root@gmail.com
foo2: foo, example@example.com

Я побежал newaliases успешно и теперь каждый раз, когда я отправляю электронное письмо на foo2 с любого адреса электронной почты в том же домене (скажем, bar.bar) он будет доставлен должным образом. Каждый раз, когда кто-то другой отправляет электронное письмо на адрес foo2@bar.bar он отскакивает как Recipient address rejected: Access denied.

Выход postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
config_directory = /etc/postfix
inet_interfaces = all
local_recipient_maps = proxy:unix:passwd.byname $alias_maps # Not sure about this
mailbox_size_limit = 0
mydestination = foo.bar.bar, bar.bar, www.bar.bar, localhost, localhost.localdomain
myhostname = foo.bar.bar
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
recipient_delimiter = +
relayhost = relay.bar.bar
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay.credentials.txt
smtp_sasl_security_options =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_cert_file = /etc/postfix/foo.crt
smtpd_tls_key_file = /etc/postfix/foo.key
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

При успехе:

Mar 31 18:50:20 foo postfix/submission/smtpd[18213]: connect from unknown[1.2.3.4]
Mar 31 18:50:22 foo postfix/submission/smtpd[18213]: 6DBFFFFFF5: client=unknown[1.2.3.4], sasl_method=PLAIN, sasl_username=user
Mar 31 18:50:23 foo postfix/cleanup[18228]: 6DBFFFFFF5: message-id=<A6786A26-31BD-426B-8F3E-8572073A3182@bar.bar>
Mar 31 18:50:23 foo postfix/qmgr[15467]: 6DBFFFFFF5: from=<user@bar.bar>, size=528, nrcpt=1 (queue active)
Mar 31 18:50:23 foo postfix/cleanup[18228]: 1B4C750013: message-id=<A6786A26-31BD-426B-8F3E-8572073A3182@bar.bar>
Mar 31 18:50:23 foo postfix/local[18234]: 6DB404FFF5: to=<foo2@bar.bar>, relay=local, delay=1, delays=0.96/0.02/0/0.03, dsn=2.0.0, status=sent (forwarded as 1B4C750013)
Mar 31 18:50:23 foo postfix/qmgr[15467]: 1B4C750013: from=<user@bar.bar>, size=659, nrcpt=3 (queue active)
Mar 31 18:50:23 foo postfix/qmgr[15467]: 6DB404FFF5: removed
Mar 31 18:50:23 foo postfix/smtp[18235]: 1B4C750013: to=<example@example.com>, orig_to=<foo2@bar.bar>, relay=relay.bar.bar[2.4.6.8]:587, delay=0.56, delays=0.03/0.02/0.4/0.1, dsn=2.0.0, status=sent (250 Delivery in progress)
[...] More deliveries locally [...]

В случае неудачи:

Mar 31 18:57:52 foo postfix/submission/smtpd[20657]: connect from unknown[3.6.9.12]
Mar 31 18:57:52 foo postfix/submission/smtpd[20657]: NOQUEUE: reject: RCPT from unknown[3.6.9.12]: 554 5.7.1 <foo2@bar.bar>: Recipient address rejected: Access denied; from=<external@gmail.com> to=<foo2@bar.bar> proto=ESMTP helo=<external.server.gmail.com>
Mar 31 18:57:52 foo postfix/submission/smtpd[20657]: disconnect from unknown[3.6.9.12]

Содержание master.cf

smtp       inet  n       -       -       -       -       smtpd
submission inet  n       -       -       -       -       smtpd
    -o syslog_name=postfix/submission
    -o smtpd_tls_wrappermode=no
    -o smtpd_tls_security_level=encrypt
    -o smtpd_sasl_auth_enable=yes -o
    smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
    -o milter_macro_daemon_name=ORIGINATING -o smtpd_sasl_type=dovecot -o
    smtpd_sasl_path=private/auth
pickup     fifo  n       -       -       60      1       pickup
cleanup    unix  n       -       -       -       0       cleanup
qmgr       fifo  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       -       1000?   1       tlsmgr
rewrite    unix  -       -       -       -       -       trivial-rewrite
bounce     unix  -       -       -       -       0       bounce
defer      unix  -       -       -       -       0       bounce
trace      unix  -       -       -       -       0       bounce
verify     unix  -       -       -       -       1       verify
flush      unix  n       -       -       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       -       -       -       smtp
relay      unix  -       -       -       -       -       smtp
showq      unix  n       -       -       -       -       showq
error      unix  -       -       -       -       -       error
retry      unix  -       -       -       -       -       error
discard    unix  -       -       -       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       -       -       -       lmtp
anvil      unix  -       -       -       -       1       anvil
scache     unix  -       -       -       -       1       scache
maildrop   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp       unix  -       n       n       -       -       pipe
    flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
    ($recipient)
ifmail     unix  -       n       n       -       -       pipe
    flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp      unix  -       n       n       -       -       pipe
    flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender
    $recipient
scalemail-backend unix - n       n       -       2       pipe
    flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
    ${nexthop} ${user} ${extension}
mailman    unix  -       n       n       -       -       pipe
    flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
    ${nexthop} ${user}

Я также случайно знаю, что relay.bar.bar работает отлично и не вызывает проблем. Любая помощь?

В подчинение линия master.cf, у вас есть переопределенный параметр smtpd_recipient_restrictions с этой линией

-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

Это означает, что вам разрешена только электронная почта из ваших сетей или электронная почта, отправленная клиентом, прошедшим проверку подлинности SASL.

В вашем первом журнале (успешный случай) ваш клиент успешно аутентифицировал себя по SASL.

Mar 31 18:50:22 foo postfix/submission/smtpd[18213]: 6DBFFFFFF5: client=unknown[1.2.3.4], sasl_method=PLAIN, sasl_username=user

Итак, это будет разрешено постфиксом.

Во втором журнале (неудачный случай) ваш клиент не прошел аутентификацию. Вот почему письмо было отклонено.