2つの独立したドメインad.vzとad2.vzがあり、それらの間にゲートウェイがあります。 3つの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
あなたの状況はこの記事のシナリオに似ているように見えます: ダイアルアップマシンのポストフィックス 。
その記事から、ここでいくつかの考慮事項を取り上げます。
自発的な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)