- 1. 概要
- 2. 許可
- 3. 出力
- 4. 備考
1. 概要
「tcpserver」のフィルタリング定義の最も基本的なところを記述します。
2. 基本
例えば、本サーバの現時点(2025年5月29日)の、ネットワークアドレスは。
122.215.121.32/29
であります。
ネットワークアドレスが、「122.215.121.32」。
ホストアドレスが、「122.215.121.33」~「122.215.121.38」。
ブロードキャストアドレスが、「122.215.121.39」なわけです。
このネットワークとメールサーバ自身、さらに、ローカルネットワークは、接続許可・中継許可にするわけです。
それをフィルタ定義ファイルへ記述すると。
127.:allow,RELAYCLIENT="",DKSIGN="dkim_file",DKVERIFY="spf_key"
192.168.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan",DKSIGN="dkim_file",DKVERIFY="spf_key"
122.215.121.33-38:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan",DKSIGN="dkim_file",DKVERIFY="spf_key"
:allow,QMAILQUEUE="/var/qmail/bin/simscan",DKSIGN="dkim_file",DKVERIFY="spf_key"
てな感じになります。
各行、先頭から、「:」までが、「IP」アドレスの意味を持ちます。
このアドレスの書き方が独特で、「tcpserver(ucspi-tcp)」でしか使わないのではないかな・・・。
ネットで検索してみましたが、詳細かつ明解に書いているサイトは見つかりませんでした。
わたしもうまく説明できないので、「man tcprules」によるマニュアルか、末尾の参考サイトをご参照ください。
「:」直後の「allow」が許可という意味になります。
「RELAYCLIENT=""」が、中継を許可しています。
「allow」だが「RELAYCLIENT=""」がないものは、接続を許可するが、中継はしませんということになりますな。
「QMAILQUEUE=」は、キューを中に記述しているものに渡すことによって、メールチェックさせているということです。
「DKSIGN=」「DKVERIFY=」は、それぞれ、「DKIM」「SPF」で送信元の証明を行っています。
「DKIM」「SPF」については、別途章立てしておりますので、そちらをご参照ください。
3. 出力
前項で作成したものファイルを。
tcp.smtp
として、下記のコマンドで、「tcpserver」の解釈できるデータファイルを作成します。
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
「tcp.smtp.tmp」は、中間ファイルで、コマンド終了後には、残っていません。
「tcp.smtp.cdb」が、「tcpserver」が解釈できるデータファイルで、「tcpserver」起動時にこれを食わせてやります。
4. 備考
本ページは、下記のサイトを参考にさせていただきました。
「tcpserver(ucspi-tcp)」
|
|