- 追加された行はこの色です。
- 削除された行はこの色です。
**qmail セカンダリサーバ設定 [#cbcc33dd]
qmailを使ってセカンダリメールサーバを構築するための手順をまとめる。~
セカンダリサーバは、プライマリサーバ同様自ドメインのメールを受信し、プライマリサーバに再配送する。プライマリサーバがダウンしてしまった場合に、セカンダリサーバでひとまず受信することで、送り側メールサーバの再配送期限に寄らず、より確実にメールを受け取ることができる。~
~
セカンダリサーバとしてメールを中継するには、smtproutesファイルで経路を設定する。~
smtproutesファイルには、ドメインと転送先のペアを記述する。smtproutesの設定はDNSのMXレコードよりを優先されるため、特定のドメインに対してプライマリサーバへ転送するように指定することで、そのドメインのセカンダリサーバとして機能させることができる。~
~
-1.プライマリサーバへの経路を設定~
セカンダリサーバとして機能させたいドメインについて、プライマリサーバへの経路を設定する。次のように設定ファイルを記述する。~
# vi /var/qmail/control/smtproutes
toshikazu.org:p086004.doubleroute.jp
tsushin.tv:p086004.doubleroute.jp
ntt2002.net:p086004.doubleroute.jp
-2.現行設定の確認~
localsとvirtualdomainsにそのドメインの設定があれば、smtproutesより優先して処理されてしまう。セカンダリサーバとして機能させたい場合、そのドメインの設定がlocalsとvirtualdomainsにないことを確認する。~
# vi /var/qmail/control/locals
# vi /var/qmail/control/virtualdomains
-3.メール受信設定~
セカンダリサーバとして機能させたいドメインをrcphostsに入れ、メールを受信できるようにする。この点についてはプライマリサーバの場合と同じである。~
# vi /var/qmail/control/rcpthosts
toshikazu.org
tsushin.tv
ntt2002.net
-4. キューの保管期間設定~
メールがキューに滞在する時間を設定する。デフォルト値は604800(秒、7日間)となっている。この期間にプライマリサーバが復旧しなければ配送エラーとなる。デフォルト値で十分ではあるが、queuelifetimeファイルで値を指定することもできる。例えば4週間にするには、次のようにする。~
# vi /var/qmail/control/queuelifetime
2419200
-5.MXレコードの設定~
DNSのMXレコードを設定する。ゾーンファイルの該当箇所を変更する。~
プリファレンス値は小さい方が優先度が高い。プリファレンスの数値そのものには意味はなく、その大小関係だけが意味を持つ。~
# vi toshikazu.zone
・・・
IN MX 10 p086004.doubleroute.jp.
IN MX 50 ichi.tom.comm.waseda.ac.jp.
・・・
-6.設定の反映~
qmailを再起動し、設定を有効にする。上記の制御ファイルは qmail-smtpd(8), qmail-send(8), qmail-inject(8), qmail-remote(8) の4つから参照されている。~
~
~
-注意点:~
次のようにワイルドカードを使って転送の設定をすると、セカンダリサーバとして設定しようとしたドメインについてはうまく機能する。しかし、それらと関係のない外部ドメイン宛てのメールもプライマリサーバに転送されてしまう。そして、通常はプライマリサーバ側で外部ドメイン宛てのメールは拒絶されるため、エラーとなってしまう。~
このような事象は、セカンダリサーバ内のプログラムやユーザが、外部ドメイン宛てのメールを送信する場合に起こりうる。よって、次の設定は、純粋なセカンダリサーバとしては間違い。~
# vi /var/qmail/control/smtproutes
:*.doubleroute.jp