メールサーバ - 接続拒否・中継確認 - 基本


 クラウディア


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)

AbemaTV 無料体験