web-dev-qa-db-ja.com

配信が一時的に停止されました:ホストまたはドメイン名が見つかりません

2つの独立したドメインad.vzとad2.vzがあり、それらの間にゲートウェイがあります。 3つのPostfixサーバーがあります。

  • mailad.ad.vz-最初のドメインのPostfixサーバー
  • mailsh-postfixと2つのネットワークアダプターを備えたゲートウェイ
  • mailinet.ad2.vz-2番目のドメインのPostfixサーバー

Mailshは一度に1つのネットワークエリアにのみ接続できます。 30秒ごとにethをオン/オフする作業リレーがあります。私は、20秒の手紙、30秒ごとに500KBを送信するメールアドでストレステストを開始します。ときどきキューがたまり始めます。メールログのフォローメッセージで確認できます:

Sep  4 08:51:01 mailsh postfix/error[9602]: CFA5E131A7: to=<[email protected]>, relay=none, delay=33, delays=32/0/0/0, dsn=4.4.3, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=mailinet.ad.vz type=MX: Host not found, try again)"

アダプタが起動するたびに、コマンドpostqueue -fを送信します

キューが蓄積するのはなぜですか?

mailad postconf:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = vzavod.ru
myhostname = mailad.vzavod.ru
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
transport settings:
vzavod.ru   local
*       smtp:mailsh.ad.vz

mailsh postconf:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = vzavod.ru
myhostname = mailsh.vzavod.ru
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550

トランスポート設定:

*       smtp:mailinet.ad.vz
vzavod.ru   smtp:mailad.ad.vz
3
Kirill

あなたの状況はこの記事のシナリオに似ているように見えます: ダイアルアップマシンのポストフィックス

その記事から、ここでいくつかの考慮事項を取り上げます。

  • 自発的なSMTPメール配信を無効にします(オンデマンドダイヤルアップIPのみを使用している場合)。

    以下のパラメータを使用すると、postqueue -fを手動で実行しない限り、postfixはメールの送信を試みません。このパラメーターをmain.cfに配置します。詳細は こちら をご覧ください。

    defer_transports = smtp # (Only for on-demand dialup IP hosts)
    
  • SMTPクライアントのDNSルックアップを無効にします(ダイヤルアップLANのみ)。

    Postfix SMTPおよびLMTPクライアントでDNS検索を無効にします。無効にすると、ホストは、通常/ etc/hostsも検索するgetaddrinfo()システムライブラリルーチンで検索されます。したがって、mailad.ad.vz/etc/hostsのエントリを配置します。例えば

    # echo "192.168.1.99  mailad.ad.vz" >> /etc/hosts
    

    そして、このパラメータをmain.cfに追加します

    disable_dns_lookups = yes #(Only for on-demand dialup IP hosts)
    
3
masegaloeh