Postfixを勉強したときのこと » 履歴 » バージョン 2
健二 酒井, 2019/04/20 12:18
| 1 | 1 | 健二 酒井 | # Postfixを勉強したときのこと |
|---|---|---|---|
| 2 | 1 | 健二 酒井 | |
| 3 | 1 | 健二 酒井 | ## 概要 |
| 4 | 1 | 健二 酒井 | |
| 5 | 1 | 健二 酒井 | Postfixの入門解説資料。 |
| 6 | 1 | 健二 酒井 | mydestinetionやリレーの設定が分かる・調べられるようにするのが目標。 |
| 7 | 1 | 健二 酒井 | 他の解説ページも使うの推奨。特に「Postfixのぺーじ」が良いと思う。 |
| 8 | 1 | 健二 酒井 | |
| 9 | 1 | 健二 酒井 | ### 前準備 |
| 10 | 1 | 健二 酒井 | |
| 11 | 1 | 健二 酒井 | CentOS 6、7なら標準で入って稼働しています。特にインストール作業などは不要です。 |
| 12 | 1 | 健二 酒井 | |
| 13 | 2 | 健二 酒井 | まずは以下のファイルを抑える。 |
| 14 | 1 | 健二 酒井 | |
| 15 | 1 | 健二 酒井 | | ファイル名 | 役割 | |
| 16 | 1 | 健二 酒井 | | - | - | |
| 17 | 1 | 健二 酒井 | | /var/log/maillog | ログファイル | |
| 18 | 1 | 健二 酒井 | | /etc/postfix/main.cf | メインの設定ファイル | |
| 19 | 2 | 健二 酒井 | | /etc/aliases | ユーザー名のエイリアス | |
| 20 | 1 | 健二 酒井 | | /usr/share/doc/postfix-2.10.1 | Postfix付属のドキュメント類。当然英語 | |
| 21 | 1 | 健二 酒井 | |
| 22 | 1 | 健二 酒井 | 動作を見るときは`tail -f`でログファイルを監視しましょう。 |
| 23 | 1 | 健二 酒井 | |
| 24 | 2 | 健二 酒井 | 簡単な歴史も抑えましょう、postfixより前の世代のメールサーバソフトとしてsendmailというものがありました。 |
| 25 | 2 | 健二 酒井 | 大いに流行ったらしいので、postfixはsendmailと互換性を持つように作られています。「よくわからないなぁ」と思う部分があったら |
| 26 | 2 | 健二 酒井 | 「たぶん、sendmailの影響だろう」と思って納得してください。 |
| 27 | 2 | 健二 酒井 | |
| 28 | 1 | 健二 酒井 | ### ログの見方 |
| 29 | 1 | 健二 酒井 | |
| 30 | 1 | 健二 酒井 | 以下はログの実例 |
| 31 | 1 | 健二 酒井 | |
| 32 | 1 | 健二 酒井 | ``` |
| 33 | 1 | 健二 酒井 | Mar 24 03:05:03 hostname postfix/pickup[17871]: 56060D2814C: uid=0 from=<root> |
| 34 | 1 | 健二 酒井 | Mar 24 03:05:03 hostname postfix/cleanup[1054]: 56060D2814C: message-id=<20190323180503.56060D2814C> |
| 35 | 1 | 健二 酒井 | Mar 24 03:05:03 hostname postfix/qmgr[1406]: 56060D2814C: from=<root@見せられないよ>, size=1445, nrcpt=1 (queue active) |
| 36 | 1 | 健二 酒井 | Mar 24 03:05:03 hostname postfix/smtp[1060]: 56060D2814C: to=<redmine@見せられないよ>, relay=リレー先サーバ[xxx.xxx.xxx.xxx]:25, delay=0.65, delays=0.31/0.04/0.22/0.08, dsn=2.0.0, status=sent (250 2.0.0 x2NI53NW065825 Message accepted for delivery) |
| 37 | 1 | 健二 酒井 | Mar 24 03:05:03 hostname postfix/qmgr[1406]: 56060D2814C: removed |
| 38 | 1 | 健二 酒井 | ``` |
| 39 | 1 | 健二 酒井 | |
| 40 | 1 | 健二 酒井 | Postfixは複数のプロセスが連携して動いています。各プロセスが協調するためにキューを使用しています。ですのでキューの情報がとても大事です。 |
| 41 | 2 | 健二 酒井 | 最後の行「potfix/qmgr[1406] removed」があるとうまくいったと思ってください。defferedって見えたら失敗したと思ってください。 |
| 42 | 1 | 健二 酒井 | 問題があると処理されずキューに溜まっていきます。 |
| 43 | 1 | 健二 酒井 | |
| 44 | 1 | 健二 酒井 | ### 構造 |
| 45 | 1 | 健二 酒井 | |
| 46 | 1 | 健二 酒井 | >  |
| 47 | 1 | 健二 酒井 | |
| 48 | 1 | 健二 酒井 | 引用元:http://www.wakhok.ac.jp/~kanayama/summer/05/net/node78.html |
| 49 | 1 | 健二 酒井 | |
| 50 | 1 | 健二 酒井 | この図を頭に叩き込んでください。 |
| 51 | 1 | 健二 酒井 | |
| 52 | 1 | 健二 酒井 | 1. pickupとsmtpdがメール送信要求を受け取る |
| 53 | 1 | 健二 酒井 | 1. clenupからqmgrに伝わり。 |
| 54 | 1 | 健二 酒井 | 1. local配信か他のsmtpサーバに伝えられる |
| 55 | 1 | 健二 酒井 | |
| 56 | 1 | 健二 酒井 | というメールを受信してからの処理の流れがまとまっています。masterはこれら複数のプロセスを制御しています。 |
| 57 | 1 | 健二 酒井 | |
| 58 | 2 | 健二 酒井 | 設定は以下のページを参考に読むといいでしょう。 |
| 59 | 2 | 健二 酒井 | http://www.postfix-jp.info/trans-2.3/conf/main.cf.jp |
| 60 | 2 | 健二 酒井 | |
| 61 | 1 | 健二 酒井 | ### 受信設定 |
| 62 | 1 | 健二 酒井 | |
| 63 | 2 | 健二 酒井 | 「$myhostname」は頭に$をつけることで設定した内容を後から参照するときに使います。 |
| 64 | 1 | 健二 酒井 | |
| 65 | 2 | 健二 酒井 | 項目 | 説明 |
| 66 | 2 | 健二 酒井 | - | - |
| 67 | 2 | 健二 酒井 | inet_interfaces | メールの受信を行うネットワークインターフェースを指定。動かしたいだけなら「all」と入れる |
| 68 | 2 | 健二 酒井 | myhostname | 自分のホスト名、hostnameコマンドで得られるものが入ると思う |
| 69 | 2 | 健二 酒井 | mydestination | 自分が最終目的地と判断する(ローカルユーザーに配送する)メールドメイン。デフォルトは$myhostnameとかだったかな。 |
| 70 | 2 | 健二 酒井 | user@example.comあてのメールを受けたとき、mydestination=example.comだと「このメールが自分のマシンに受け取るユーザーがいる」と思いローカル配送を試みる。 |
| 71 | 1 | 健二 酒井 | |
| 72 | 1 | 健二 酒井 | ### 送信設定 |
| 73 | 1 | 健二 酒井 | |
| 74 | 2 | 健二 酒井 | |
| 75 | 2 | 健二 酒井 | 項目 | 説明 |
| 76 | 2 | 健二 酒井 | - | - |
| 77 | 2 | 健二 酒井 | myorigin | ローカルユーザーが送信したメールにつけられるドメイン名。デフォルト$myhostname。 |
| 78 | 2 | 健二 酒井 | userというLinuxユーザーがメールを出すとuser@$originという送信元で出される |
| 79 | 2 | 健二 酒井 | relayhost | 受け取ったけど送るユーザーがいないときに、ここで設定されたマシンに対してリレーする |
| 80 | 2 | 健二 酒井 | |
| 81 | 1 | 健二 酒井 | ### ローカル配信とエイリアス |
| 82 | 1 | 健二 酒井 | |
| 83 | 2 | 健二 酒井 | /etc/aliasesはユーザー名の別名を指定します。例えば「postmaster: root」となっていますが、 |
| 84 | 2 | 健二 酒井 | postmaster@myhost.example.comを自分のマシンが受け取ったとき、root@myhost.example.comへのメールとして扱います。 |
| 85 | 1 | 健二 酒井 | |
| 86 | 2 | 健二 酒井 | /etc/aliasesは編集するだけでは反映されません。編集後 |
| 87 | 2 | 健二 酒井 | ``` |
| 88 | 2 | 健二 酒井 | newaliases |
| 89 | 2 | 健二 酒井 | ``` |
| 90 | 1 | 健二 酒井 | |
| 91 | 2 | 健二 酒井 | を打ちましょう。 |
| 92 | 2 | 健二 酒井 | |
| 93 | 2 | 健二 酒井 | ## 今後 |
| 94 | 2 | 健二 酒井 | |
| 95 | 2 | 健二 酒井 | 本当は全然足りないけどこの記事はここまで。次はまたいつかに。 |
| 96 | 2 | 健二 酒井 | |
| 97 | 1 | 健二 酒井 | ## 参考 |
| 98 | 1 | 健二 酒井 | |
| 99 | 1 | 健二 酒井 | * 5.1.5 Postfixの構造:http://www.wakhok.ac.jp/~kanayama/summer/05/net/node78.html |
| 100 | 1 | 健二 酒井 | Postfixについて、このページだけでも読んでおくと理解が違う |
| 101 | 1 | 健二 酒井 | |
| 102 | 1 | 健二 酒井 | * Postfixのぺーじ:http://www.postfix-jp.info/ |
| 103 | 1 | 健二 酒井 | マニュアルの日本語訳があるのが嬉しい。 |
| 104 | 1 | 健二 酒井 | 標準設定の例とかで勉強する。 |
| 105 | 1 | 健二 酒井 | |
| 106 | 2 | 健二 酒井 | * main.cf日本語訳:http://www.postfix-jp.info/trans-2.3/conf/main.cf.jp |
| 107 | 2 | 健二 酒井 | 一回読んでおくと吉 |
| 108 | 2 | 健二 酒井 | |
| 109 | 1 | 健二 酒井 | * Postfix実用ガイド:https://www.oreilly.co.jp/books/4873111951/ |
| 110 | 1 | 健二 酒井 | オライリーさんのPostfix解説書。SMTPはこれで学んだ。後ろのほうは全然読んでないから全体は分からない。 |
| 111 | 2 | 健二 酒井 | |
| 112 | 2 | 健二 酒井 | * /etc/aliasesについて:https://www.itmedia.co.jp/help/tips/linux/l0349.html |