いつも遊んでいる友達に「今日親戚の用事がある」と嘘ついて、別の友だちと遊びに行こうとした時に、集合場所をメール送信したら、いつもの友達の所にメールしてしまった・・・orz、というメール誤送信、もしかしたら誰もが1度くらい経験があるのではないでしょうか?
そんな時、あなたならどう言い訳しますか?
僕は絶対に送ったことに気がついていない風を装います。
そして運が良ければ、相手も、「あのメールは何かの間違いだったのかも・・・」と考えてくれるかも・・・
んなわけないでしょ!
メール誤送信は重大な過失ですよ。
ビジネスで発生したら莫大な金額損失に伴う可能性もあるし、政治家であれば辞任に追い込まれる事態になりかねません。
でも、メールって、無くてはならないモノなんですね。
インターネットから生まれた一番の産物ではないでしょうか。
そんなメールシステムをGoogleAppsやプロバイダから配布されるメールアドレスではなく、自分のドメインで自分のサーバーに構築してみようと思い、苦労して開通できた流れと、つまずきポイントを残しておきたかったので、メモしておくことにします。
環境と思考性
今回のメールサーバー構築は、会社設立において、人が増えるまでの間の暫定処置という事と、今まで構築したことが無かった領域だったので、経験を積みたかったという理由で、自宅サーバーに自分(会社)ドメインのメールサーバーを構築する事を目的にしました。
構成予定
OS: Ubuntu
SMTP: Postfix
POP3: Dovecot
元々ブログ公開しているサーバーにメール機能を持たせるだけの簡易な施工で、サーバーも複数台用意せずに、オールインワンにしてしまうイメージでした。
アクセス過多になりバランシングが必要になれば、都度移設予定として・・・
事前準備
・ドメインの準備
・DNSの設定
まずは、これらがないと始まりません。
お名前.comで購入してそのままDNSセットする簡易な構成で行くことにしましょう。
セットアップ
「Postfix + Dovecot」のメールシステム構築は、どうやら王道構成のようで、検索すると山のように設定方法が書かれたページが表示されます。
「ubuntu postfix dovecot」で検索
その中で検索1位のページを参考にしてインストールから各種設定までを行いました。
Ubuntuでメールサーバー構築
ここまではそんなに難しくないですね。
つまずきポイント
まずはイントラネットでの開通を目指す
サーバー構築手順として、「イントラ環境でメールの送受信ができたら、その後公開サーバーとしてしまえばいいだろう」と考えていたら、イントラでも動かすのに大変でした。
まず、イントラ用のDNSの設定をしっかりとしなければいけません。
メールサーバーは、通常のWEBページのドメインとIPアドレスの紐付けだけでなく、MXレコードというメール専用のDNSエイリアスのような登録が必要になります。
※ちなみに、この設定ができるお陰で、メールサーバーを複数設置することが可能になります。
そして、Postfixや、Dovecotの設定ですが、とにかくPostfixが難しかったですね。
それは、メールサーバーって色々な人が設定解説ページを作ってますが、実はメールサーバーって色々な形態があるって知ってます?
・イントラのみの環境で利用
・送信機能のみで受信は行わない
・特定のアドレスのみをリレー対象にするセキュア構成
企業内メールなどもイントラ版という事なんでしょうが、今回僕が行うのは、フル公開する用のメールサーバーなので、こうしたページを参考にしても動かない可能性が高いです。
そして何より、イントラ環境だけでいうと、そのイントラのサブネット構成が、場所によって違っているため、ある解説サイトでは「192.168.0.0/8」と書かれていたんですが、僕の環境では「192.168.1.0/24」とならなければいけません。
サーバー担当者が閲覧する解説ページというのを考えると、このぐらいは自分で設定変換するのが普通だと思われがちですが、やはり膨大な設定をコピペで作業する人も多く、僕もそのトラップに引っかかって1日ぐらいは余裕で無駄にしましたwww
そして、なんとかイントラでのメール疎通ができるようになると次なる問題が発生です。
イントラで遅れるのにWANで送れない
この問題が一番、対応時間がかかったんですが、まずは公開DNSを疑ってpingを売ってみると、お名前comのIPアドレスが返るじゃありませんか・・・
どうやら、お名前comでのDNS設定は、初期値として、NSレコードが付与されておらず、ネームサーバーの登録を一番最初だけチェックしてDNS設定をしなければイケなかったんですね。
DNS設定画面の一番下にある、このチェックボックスです。
そしてDNS設定をして6時間ぐらいしてDNSが行き渡り、PINGコマンドで切り替わりが確認できたのですが、それでも、相変わらず、イントラで成功するのに、WANではメールの送受信ができません。
この解決ポイントは、「Postfix」の「master.cf」の設定不足でした。
具体的な箇所は以下のところです。
# ==========================================================================
# 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
上記がインストール直後の設定で、「submission」の設定もコメントアウトが必要だったんですね。
# ==========================================================================
# 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
なので、コメントを外すとWANで無事にメール送受信ができるようになりましたヽ(`▽´)/
Gmailをうまく活用
メールサーバーがセットできたら、Gmailの設定の「アカウントとインポート」の設定をしておきましょう。
これをセットしておくと、GmailでメールをPOP受信してくれて、ちゃんとSMTP送信もしてくれるので、メーラとしてGmailを使うという方法です。
そして複数のメールアドレスを使っている人は非常に便利な上、Googleのスパム対策処理や、振り分けフィルタなども摘要できるので、非常に便利で使わない手はありません!!!
その後の課題
この段階で完了したかに思えますが、実は今回の設定では、SMTPは25番ポート、POP3は110番ポートという、セキュリティが一番低い方法で実現されています。
時代はSSL(TLS)を使わないとイケないし、IMAPやその他のセキュリティもちゃんとしないといけません。
でも、そういうセットが必要になるのであればGoogleAppsを申し込めばいいだけですね。
技術経験も必要ですが、セキュリティhは突き詰めるとたんなる時間の無駄にしかならない事もあるので、そこはケースバイケースで・・・
そして、今後は、メール誤送信をしないように、複数のアドレスをGmailで管理しているならなおさら気をつけなければいけないだろうと、気を引き締めて運営しましょう。
0 件のコメント:
コメントを投稿