Postfix + milter-manager 環境にメールサーバーを移行したのですが、特定の IP のサーバをホワイトリストに入れて milter を適用しないようにしたかったのでいろいろ調べてみたら「how to bypass milters, whitelist hosts」という掲示板のスレッドを見つけたので、これを参考にちょっと Ruby でコーディングしてみました。
† netaddr をインストール
ホワイトリストは単一の IP ではなく CIDR を使った指定がしたかったので、IP アドレスのレンジを自動的に計算してくれるnetaddr を使うことにしました。モジュールは以下のように gem を使って一撃で導入することができます。
† 設定は milter-manager.local.conf で
まず、ホワイトリストを用意します。CIDR で1行に1つずつ記述しておいてください。
ファイルの場所は以下の Ruby 内のホワイトリストのパスと合せてください。
/etc/milter-manager/whitelist
あとは以下の内容を milter-manager.local.conf に追加(ファイルがない場合は作成してください)して、milter-manager を restart すれば OK。
ホワイトリストの IP からアクセスすると[stop] というログが残るのが確認できると思います。
/etc/milter-manager/milter-manager.local.conf
意外と milter-manager の拡張は簡単にできることが分かったのでいろいろと工夫のし甲斐がありそうです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9093
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。