web-dev-qa-db-ja.com

接尾辞:FQDNの一時的なルックアップの失敗

ローカルホストに解決(?)したいdur.bounceme.netのFQDNを使用しています。つまり、user @ dur.bounceme.netへのメールをuser @ localhostに配信したいと思います。

これに関するUbuntuガイド に従ってみましたが、少し円を描いているようです。

root@dur:~#
root@dur:~# postfix stop
postfix/postfix-script: stopping the Postfix mail system
root@dur:~# postfix start
postfix/postfix-script: starting the Postfix mail system
root@dur:~# telnet dur.bounceme.net 25
Trying 127.0.1.1...
telnet: Unable to connect to remote Host: Connection refused
root@dur:~#
root@dur:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 dur.bounceme.net ESMTP Postfix (Ubuntu)
ehlo dur
250-dur.bounceme.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:[email protected]
250 2.1.0 Ok
rcpt to:[email protected]
451 4.3.0 <[email protected]>: Temporary lookup failure
rcpt to:thufir@localhost
451 4.3.0 <thufir@localhost>: Temporary lookup failure
quit
221 2.0.0 Bye
Connection closed by foreign Host.
root@dur:~#
root@dur:~# grep telnet /var/log/mail.log
Aug 28 00:24:45 dur postfix/smtpd[18256]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.0 <thufir@localhost>: Temporary lookup failure; from=<[email protected]> to=<thufir@localhost> proto=ESMTP helo=<dur>
Aug 28 00:24:58 dur postfix/smtpd[18256]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<dur>
Aug 28 00:54:55 dur postfix/smtpd[18825]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<dur>
Aug 28 00:55:08 dur postfix/smtpd[18825]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.0 <thufir@localhost>: Temporary lookup failure; from=<[email protected]> to=<thufir@localhost> proto=ESMTP helo=<dur>
root@dur:~#
root@dur:~# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
default_transport = smtp
home_mailbox = Maildir/
inet_interfaces = loopback-only
mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-mail-stack-delivery.conf -m "${EXTENSION}"
mailbox_size_limit = 0
mailman_destination_recipient_limit = 1
mydestination = dur, dur.bounceme.net, localhost.bounceme.net, localhost
myhostname = dur.bounceme.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = no
recipient_delimiter = +
relay_domains = lists.dur.bounceme.net
relay_transport = relay
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport
root@dur:~# 
1
Thufir

ジェニーの答えが完全に理解できるかどうかはわかりませんが、質問には欠陥がありました(もちろん)。解決策は、2つのループバックを使用することです。これにより、以下に示すように、望ましい結果が得られます。

thufir@dur:~$ 
thufir@dur:~$ 
thufir@dur:~$ swaks --to thufir@localhost
=== Trying localhost:25...
=== Connected to localhost.
<-  220 dur.bounceme.net ESMTP Postfix (Ubuntu)
 -> EHLO dur.bounceme.net
<-  250-dur.bounceme.net
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250 DSN
 -> MAIL FROM:<[email protected]>
<-  250 2.1.0 Ok
 -> RCPT TO:<thufir@localhost>
<-  250 2.1.5 Ok
 -> DATA
<-  354 End data with <CR><LF>.<CR><LF>
 -> Date: Sun, 08 Jun 2014 04:24:58 -0700
 -> To: thufir@localhost
 -> From: [email protected]
 -> Subject: test Sun, 08 Jun 2014 04:24:58 -0700
 -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 2.0.0 Ok: queued as 2FDAB221E21
 -> QUIT
<-  221 2.0.0 Bye
=== Connection closed with remote Host.
thufir@dur:~$ 
thufir@dur:~$ swaks --to [email protected]
=== Trying dur.bounceme.net:25...
=== Connected to dur.bounceme.net.
<-  220 dur.bounceme.net ESMTP Postfix (Ubuntu)
 -> EHLO dur.bounceme.net
<-  250-dur.bounceme.net
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250 DSN
 -> MAIL FROM:<[email protected]>
<-  250 2.1.0 Ok
 -> RCPT TO:<[email protected]>
<-  250 2.1.5 Ok
 -> DATA
<-  354 End data with <CR><LF>.<CR><LF>
 -> Date: Sun, 08 Jun 2014 04:25:05 -0700
 -> To: [email protected]
 -> From: [email protected]
 -> Subject: test Sun, 08 Jun 2014 04:25:05 -0700
 -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 2.0.0 Ok: queued as A7365221E21
 -> QUIT
<-  221 2.0.0 Bye
=== Connection closed with remote Host.
thufir@dur:~$ 
thufir@dur:~$ 

localhostへのメールとdur.bounceme.netへのメールは正しく配信されます。

127.0.0.1と127.0.1.1のループバックの違いについては、次のようにわかりません。

IPv4ネットワーク標準は、ループバックの目的で127.0.0.0/8アドレスブロック全体を予約します。つまり、これらの16,777,214アドレス(127.0.0.1から127.255.255.254)のいずれかに送信されたパケットはすべてループバックされます。

http://en.wikipedia.org/wiki/Localhost#Name_resolution

いずれにせよ、特定の問題は、 http://packages.ubuntu.com/trusty/mailによってインストールされたメールスタックとして、デフォルト構成としてPostfixまたはDovecotのいずれによっても引き起こされませんでした-stack-delivery パッケージ、追加の構成なしで正しく機能します。

特定のIPアドレスがローカルホスト用に予約されている理由はわかりませんが、さらに詳しく説明します。

0
Thufir

まず、dur.bounceme.netのエイリアスが正しく設定されていません。127.0.0.1ではなく127.0.1.1に接続しようとします。

次に、ローカルと見なすドメインをpostfixに指示する必要があります。リンク先のWebページは、メーリングリストサービスの設定に関するものです。代わりにpostfixのドキュメントを見てください。 「偽のドメイン」を機能させるために必要なものについての情報があります readmeファイル

2
Jenny D