プロジェクト

全般

プロフィール

Postfixを勉強したときのこと » 履歴 » バージョン 3

sylow castle, 2019/04/20 12:19

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