Debian 上の私のドメイン以外のすべてのドメインに postfix メール (機能) を送信します

Debian 上の私のドメイン以外のすべてのドメインに postfix メール (機能) を送信します

私は、turnkey linux から入手した redmine サーバーをセットアップしました。メールは、ほぼそのままで動作します。自分のドメイン外の誰にでもメールを送信できます。

説明させてください:
コマンドラインからメール コマンドを実行して、自分の個人メール (またはドメイン外のメール) に送信すると、うまくいきます。自分のドメインの誰かにメールを送信すると、うまくいきません。私たちのメールは Google によって処理され、うまくいきます。何らかの理由で、このマシンはドメインを認識し、自分で処理しようとします (これは望ましくありません)。メールが Google (または送信先) への自然なパスに送られるようにしたいだけです。マシンのドメインを自分のドメイン以外のものに変更すると (それは問題ありません)、うまく機能し始めるような気がします。これを試してみましたが、1 つ見逃したと思います。どなたか助けていただければ幸いです。

ドメインを変更すると postfix が騙されるかもしれないと考えました。ホスト名ファイルを変更しました:

redmine.hsi.com

main.cf ファイルは次のとおりです。

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
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

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = redmine
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localdomain, localhost, localhost.localdomain, localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password_map

master.cf は次のとおりです。

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
#submission inet n       -       -       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
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
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
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
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
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}

ここにmail.logがあります

Feb 27 21:13:13 redmine postfix/pickup[15860]: 56D53C0D32: uid=0 from=<[email protected]>
Feb 27 21:13:13 redmine postfix/cleanup[19150]: 56D53C0D32: message-id=<20150227211313.56D53C0D32@redmine>
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 56D53C0D32: from=<[email protected]>, size=349, nrcpt=1 (queue active)
Feb 27 21:13:13 redmine postfix/smtp[19159]: 56D53C0D32: to=<[email protected]>, relay=none, delay=0.06, delays=0.05/0.01/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=humansolutionsinc.com type=AAAA: Host found but no data record of requested type)
Feb 27 21:13:13 redmine postfix/cleanup[19150]: 5E24FC0D33: message-id=<20150227211313.5E24FC0D33@redmine>
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 5E24FC0D33: from=<>, size=2276, nrcpt=1 (queue active)
Feb 27 21:13:13 redmine postfix/bounce[19166]: 56D53C0D32: sender non-delivery notification: 5E24FC0D33
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 56D53C0D32: removed
Feb 27 21:13:13 redmine postfix/smtp[19159]: 5E24FC0D33: to=<[email protected]>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=redmine.hsi.com type=AAAA: Host not found)
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 5E24FC0D33: removed

mail.info はこちらです:

Feb 27 21:13:13 redmine postfix/pickup[15860]: 56D53C0D32: uid=0 from=<[email protected]>
Feb 27 21:13:13 redmine postfix/cleanup[19150]: 56D53C0D32: message-id=<20150227211313.56D53C0D32@redmine>
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 56D53C0D32: from=<[email protected]>, size=349, nrcpt=1 (queue active)
Feb 27 21:13:13 redmine postfix/smtp[19159]: 56D53C0D32: to=<[email protected]>, relay=none, delay=0.06, delays=0.05/0.01/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=humansolutionsinc.com type=AAAA: Host found but no data record of requested type)
Feb 27 21:13:13 redmine postfix/cleanup[19150]: 5E24FC0D33: message-id=<20150227211313.5E24FC0D33@redmine>
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 5E24FC0D33: from=<>, size=2276, nrcpt=1 (queue active)
Feb 27 21:13:13 redmine postfix/bounce[19166]: 56D53C0D32: sender non-delivery notification: 5E24FC0D33
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 56D53C0D32: removed
Feb 27 21:13:13 redmine postfix/smtp[19159]: 5E24FC0D33: to=<[email protected]>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=redmine.hsi.com type=AAAA: Host not found)
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 5E24FC0D33: removed

Tutul の提案に従って、main.cf に次の行を追加し、postfix を再起動して、再度メール送信を試みたところ、同じ結果になりました。humansolutionsinc.com 以外のドメインへのメールは正常に送信されますが、ドメイン内の誰宛てのメールも正常に送信されません。

inet_protocols=ipv4

dig humansolutionsinc.com の出力は次のとおりです。

root@redmine ~# dig humansolutionsinc.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> humansolutionsinc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31920
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;humansolutionsinc.com.         IN      A

;; AUTHORITY SECTION:
humansolutionsinc.com.  3600    IN      SOA     hsiwd1.hsi.com. hostmaster.hsi.com. 5 900 600 86400 3600

;; Query time: 1 msec
;; SERVER: 192.168.1.4#53(192.168.1.4)
;; WHEN: Mon Mar  2 14:03:05 2015
;; MSG SIZE  rcvd: 97

dig humansolutionsinc.com mx の出力は次のようになります。

root@redmine ~# dig humansolutionsinc.com mx

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> humansolutionsinc.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36172
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;humansolutionsinc.com.         IN      MX

;; AUTHORITY SECTION:
humansolutionsinc.com.  3600    IN      SOA     hsiwd1.hsi.com. hostmaster.hsi.com. 5 900 600 86400 3600

;; Query time: 1 msec
;; SERVER: 192.168.1.4#53(192.168.1.4)
;; WHEN: Mon Mar  2 14:03:13 2015
;; MSG SIZE  rcvd: 97

素晴らしい! 再起動を何度か繰り返した後(メールとは関係のない他の問題を追跡中)いいえメールが送信されています

さて、振り出しに戻ります。/etc/host と /etc/hots を redmine (ドメインなし) に変更しました。その後、それらを redmine.hsi.com に戻して、以下を実行します。

invoke-rc.d hostname.sh start
invoke-rc.d networking force-reload 

答え1

NS サーバー 192.168.1.4 を修正します。上記のような空の応答ではなく、適切な MX レコードと A レコードが返されるはずです。

説明:

これらのログライン

Feb 27 21:13:13 redmine postfix/pickup[15860]: 56D53C0D32: uid=0 from=<[email protected]>
Feb 27 21:13:13 redmine postfix/cleanup[19150]: 56D53C0D32: message-id=<20150227211313.56D53C0D32@redmine>
Feb 27 21:13:13 redmine postfix/qmgr[15861]: 56D53C0D32: from=<[email protected]>, size=349, nrcpt=1 (queue active)
Feb 27 21:13:13 redmine postfix/smtp[19159]: 56D53C0D32: to=<[email protected]>, relay=none, delay=0.06, delays=0.05/0.01/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=humansolutionsinc.com type=AAAA: Host found but no data record of requested type) 

mail送信者とのコマンドによって呼び出された電子メールを知らせる[メールアドレス]および受信者[メールアドレス]

ドメインヒューマンソリューションズパラメータで定義されていないmydestination場合、postfixはこのドメインを送信ドメインとしてマークし、postfixはリモートSMTP経由で送信する必要があります。ヒューマンソリューションズpostfix は、特に MX レコード (およびオプションで A レコード) の検索に DNS ルックアップを使用します。コマンドを使用してdigNS ルックアップをシミュレートできます。

これは私のサーバーからの(適切な)dig出力です

$ dig humansolutionsinc.com

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1 <<>> humansolutionsinc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12591
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;humansolutionsinc.com.         IN      A

;; ANSWER SECTION:
humansolutionsinc.com.  1199    IN      A       98.136.187.13

;; Query time: 1508 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Mar 02 19:21:03 WIB 2015
;; MSG SIZE  rcvd: 66

そして

$ dig humansolutionsinc.com MX

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1 <<>> humansolutionsinc.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35479
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;humansolutionsinc.com.         IN      MX

;; ANSWER SECTION:
humansolutionsinc.com.  599     IN      MX      10 aspmx.l.google.com.
humansolutionsinc.com.  599     IN      MX      20 alt1.aspmx.l.google.com.
humansolutionsinc.com.  599     IN      MX      20 alt2.aspmx.l.google.com.
humansolutionsinc.com.  599     IN      MX      30 aspmx2.googlemail.com.
humansolutionsinc.com.  599     IN      MX      30 aspmx3.googlemail.com.

;; Query time: 942 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Mar 02 19:21:08 WIB 2015
;; MSG SIZE  rcvd: 180

私のバージョンと比較すると、あなたのdig出力には回答ゼロ

これが、Postfixが次のような一般的なメッセージで文句を言う理由です。

ホスト名またはドメイン名が見つかりません。name=humansolutionsinc.com type=AAAA の名前サービス エラー:ホストは見つかりましたが、要求されたタイプのデータレコードがありません

まず、Postfix は MX レコードを検索します。これが失敗した場合は、A レコード (IPv4)、次に AAAA レコード (IPv6) を検索してフォールバックします。Postfix は上記の 3 つのレコードからドメインの宛先ホストを見つけることができないため、メールをバウンスします。

答え2

myhostname を他のものに変更してみてください - たとえば、mail.redmine.hsi.com

関連情報