Amatsu.mythril.ne.jpからMjolnir.mythril.ne.jpへの移行
Published by M-naka on 2010/9/20 (1895 reads)
Mjolnir.mythril.ne.jpは、Amatsu.mythril.ne.jpからネットワークサーバ機能を切り出した仮想サーバとして運用する。具体的には、
■Cyrus-imapd(メールストア)
■Postfix(イントラメールサーバ)
■BIND(内向きセカンダリDNSサーバ)
■OpenVPN(実家LANとのレイヤ3VPN)
である。このうちOpenVPNは単にインストール→キーとコンフィグファイルの移設だけで簡単なので最初っから割愛とする。
【Cyrus-imapd】
先ずはCyrus-imapd。インストールと設定は従来どおり。SASLパスワードでCRAM-MD5とDigest-MD5を使用するため、saslauthdは使用しない(デーモンも切る)。Cyrus-imapdが使えるようになった段階で、ThunderbirdからIMAPSへ新旧メールストアにログインし、手動でメールを全て移動させた。Mjolnir側でAmatsu側と同一のフォルダ構造を作り、あとはドラッグ&ドロップだけで済んだ。このあたり、IMAPは「サーバ上に格納されている」からこそできる芸当である。
あと、SquirrelMail。AmatsuではSquirrelMailもAmatsu上で稼動していたが、MjolnirではApacheを起動させず、外向きWebサーバを稼動させているGungnir上でSquirrelMailを稼動、GungnirからIMAPSでMjolnirにアクセスさせる。ここは単にSquirrelMailのIMAPサーバ設定のみの話で完了。
【BIND】
要はプライマリとセカンダリをきっちり決め、セカンダリをキャッシュサーバにする、というだけの話。Gungnirはもともとプライマリ運用しているので、今回はMjolnirにキャッシュサーバの設定をしただけ。難しくなく、かつごくごく一般的な構築方法なので説明は割愛する。
【Postfix】
今回のヤマ。従来はAmatsuだけをSMTPサーバとして稼動させていたが、これをGungnirとMjolnirに機能で分離した。具体的には、
GungnirのPostfix:
インターネットに直結した、SMTPゲートウェイ。
MjolnirのPostfix:
イントラネット上のSMTPサーバ。
とし、インバウンドSMTPコネクション/アウトバウンドSMTPコネクションとも、Gungnirを経由させる、という構造にした。このためにいくつかポイントがある。
1)MXレコード上、MjolnirがGungnirより優先される(=プリファレンス値が小さい)ようにする。nslookupをset type=MXにしてmythril.ne.jpをLAN内DNSで引くと以下になるようにした。
mythril.ne.jp mail exchanger = 20 gungnir.mythril.ne.jp.
mythril.ne.jp mail exchanger = 10 mjolnir.mythril.ne.jp.
2)Gungnirをリレーサーバとする
/etc/postfix/main.cfで、
1.relayhostにBIGLOBEのメールゲートウェイを指定する。
2.$mydestinationは$myhostnameと同一にする。
→「Gungnir.mythril.ne.jp」宛のみ、自己が最終送付先であると認識させる。
→20101106訂正:$mydestinationも未設定(コメントアウト)で良い。localhost宛メールもmjolnir宛にリレーされる。
→これにより「〜@mythril.ne.jp」宛メールは全てリレー対象となる。
3.「transport_maps = hash:/etc/postfix/transport」をを仕込む。
→これをしないと「2.」のために全メールがBIGLOBEのメールゲートウェイにリレー
されてしまう(=ループに陥り、危険)。
→具体的には以下を/etc/postfix/transportに加え、postmapコマンドでDB化する。
mythril.ne.jp smtp:mjolnir.mythril.ne.jp
mythril.net smtp:mjolnir.mythril.ne.jp
これで「〜@mythril.ne.jp」「〜@mythril.net」宛メールは全てMjolnirに送られる。
3)MjolnirをGungnirの「後ろに配置する」。
MjolnirのrelayhostとしてGungnirを指定する。
あとはメールクライアント上でSMTP/POP3/IMAPの接続先として、Mjolnirを指定すればよい。これにより、
アウトバウンドメール:
Mjolnir→Gungnir→(Intranet/Internet境界)→BIGLOBEのメールゲートウェイ→送付先SMTPサーバ
インバウンドメール:
送付元SMTPサーバ→(Intranet/Internet境界)→Gungnir→Mjolnir
という流れになる。電子メールは必ずGungnirを経由することになるので、SMTPについてはGungnirを重点的に監視すればよい(ウィルスチェックや不正接続など)。また、SMTPサーバが二段構えになるので、一方の障害をもう一方でカバーすることができる。Gungnirが動かなければMjolnirを直接Internetに繋げばよく、またMjolnirが動かないときは、Mjolnirの復旧まではGungnirがメールを保持していてくれる。ま、仮想サーバなんで、予めDVD化しておいたうえで、物理マシン上で素早く復元リリース……とかやっちゃうけど。
現時点の残課題はSMTPS。今回初めて稼動させるのだけど、これがまだ上手く動いていない。ただ、従来のAmatsuのネットワークサーバ機能は既にMjolnirに移行が済んだので、9月末目処にAmatsuのサーバ稼動を停止させる予定だ。
■Cyrus-imapd(メールストア)
■Postfix(イントラメールサーバ)
■BIND(内向きセカンダリDNSサーバ)
■OpenVPN(実家LANとのレイヤ3VPN)
である。このうちOpenVPNは単にインストール→キーとコンフィグファイルの移設だけで簡単なので最初っから割愛とする。
【Cyrus-imapd】
先ずはCyrus-imapd。インストールと設定は従来どおり。SASLパスワードでCRAM-MD5とDigest-MD5を使用するため、saslauthdは使用しない(デーモンも切る)。Cyrus-imapdが使えるようになった段階で、ThunderbirdからIMAPSへ新旧メールストアにログインし、手動でメールを全て移動させた。Mjolnir側でAmatsu側と同一のフォルダ構造を作り、あとはドラッグ&ドロップだけで済んだ。このあたり、IMAPは「サーバ上に格納されている」からこそできる芸当である。
あと、SquirrelMail。AmatsuではSquirrelMailもAmatsu上で稼動していたが、MjolnirではApacheを起動させず、外向きWebサーバを稼動させているGungnir上でSquirrelMailを稼動、GungnirからIMAPSでMjolnirにアクセスさせる。ここは単にSquirrelMailのIMAPサーバ設定のみの話で完了。
【BIND】
要はプライマリとセカンダリをきっちり決め、セカンダリをキャッシュサーバにする、というだけの話。Gungnirはもともとプライマリ運用しているので、今回はMjolnirにキャッシュサーバの設定をしただけ。難しくなく、かつごくごく一般的な構築方法なので説明は割愛する。
【Postfix】
今回のヤマ。従来はAmatsuだけをSMTPサーバとして稼動させていたが、これをGungnirとMjolnirに機能で分離した。具体的には、
GungnirのPostfix:
インターネットに直結した、SMTPゲートウェイ。
MjolnirのPostfix:
イントラネット上のSMTPサーバ。
とし、インバウンドSMTPコネクション/アウトバウンドSMTPコネクションとも、Gungnirを経由させる、という構造にした。このためにいくつかポイントがある。
1)MXレコード上、MjolnirがGungnirより優先される(=プリファレンス値が小さい)ようにする。nslookupをset type=MXにしてmythril.ne.jpをLAN内DNSで引くと以下になるようにした。
mythril.ne.jp mail exchanger = 20 gungnir.mythril.ne.jp.
mythril.ne.jp mail exchanger = 10 mjolnir.mythril.ne.jp.
2)Gungnirをリレーサーバとする
/etc/postfix/main.cfで、
1.relayhostにBIGLOBEのメールゲートウェイを指定する。
2.$mydestinationは
→「Gungnir.mythril.ne.jp」宛のみ、自己が最終送付先であると認識させる。
→20101106訂正:$mydestinationも未設定(コメントアウト)で良い。localhost宛メールもmjolnir宛にリレーされる。
→これにより「〜@mythril.ne.jp」宛メールは全てリレー対象となる。
3.「transport_maps = hash:/etc/postfix/transport」をを仕込む。
→これをしないと「2.」のために全メールがBIGLOBEのメールゲートウェイにリレー
されてしまう(=ループに陥り、危険)。
→具体的には以下を/etc/postfix/transportに加え、postmapコマンドでDB化する。
mythril.ne.jp smtp:mjolnir.mythril.ne.jp
mythril.net smtp:mjolnir.mythril.ne.jp
これで「〜@mythril.ne.jp」「〜@mythril.net」宛メールは全てMjolnirに送られる。
3)MjolnirをGungnirの「後ろに配置する」。
MjolnirのrelayhostとしてGungnirを指定する。
あとはメールクライアント上でSMTP/POP3/IMAPの接続先として、Mjolnirを指定すればよい。これにより、
アウトバウンドメール:
Mjolnir→Gungnir→(Intranet/Internet境界)→BIGLOBEのメールゲートウェイ→送付先SMTPサーバ
インバウンドメール:
送付元SMTPサーバ→(Intranet/Internet境界)→Gungnir→Mjolnir
という流れになる。電子メールは必ずGungnirを経由することになるので、SMTPについてはGungnirを重点的に監視すればよい(ウィルスチェックや不正接続など)。また、SMTPサーバが二段構えになるので、一方の障害をもう一方でカバーすることができる。Gungnirが動かなければMjolnirを直接Internetに繋げばよく、またMjolnirが動かないときは、Mjolnirの復旧まではGungnirがメールを保持していてくれる。ま、仮想サーバなんで、予めDVD化しておいたうえで、物理マシン上で素早く復元リリース……とかやっちゃうけど。
現時点の残課題はSMTPS。今回初めて稼動させるのだけど、これがまだ上手く動いていない。ただ、従来のAmatsuのネットワークサーバ機能は既にMjolnirに移行が済んだので、9月末目処にAmatsuのサーバ稼動を停止させる予定だ。
Navigate through the articles | |
LANのギガビット化 | 続・ServersMan @ VPS |
The comments are owned by the poster. We aren't responsible for their content.
|