FreeBSD4.3-STABLE で POP before SMTP をする方法
環境
- FreeBSD4.3STABLE
- Portsも最新(2001/9/10)
概要
なるべく簡単にFreeBSDの環境でPOP before SMTP を構築する事を目的とする。
取り敢えず、2001/9/10時点での FreeBSD4.3STABLEとportsを使用する。
上記以外のバージョンでは適宜ここでフォローする予定です。
手順
- 先ず最初にIPアドレスデータを作成する為のライブラリをインストールします。
- cd /usr/ports/mail/drac
- make install
- ライブラリの設定を行います。
- portmapが必要ですので/stand/sysinstall からportmapを起動するようにします。
- /etc/hosts.allow でportmapを127.0.0.1からのみの接続に制限します。
- /usr/local/etc/rc.d に移動して、起動スクリプトを変更します。
mv dracd.sh.sample dracd.sh ← 起動時に起動するように変更
dracd.shを変更してリレーの許可時間を設定します。
10行目付近の ${PREFIX}/sbin/rpc.dracd && を ${PREFIX}/sbin/rpc.dracd
-e 10 && にします。
(-eの後ろの数字が許可時間(分単位)です。上の設定では10分間有効です。未指定時は30分です。)
- アクセス制限をかけます。
cp /usr/ports/mail/drac/work/dracd.allow-sample /usr/local/etc/dracd.allow
dracd.allow を変更します。基本的には127.0.0.1からのみの接続を許可するだけで良いでしょう。
- ライブラリの動作確認を行います。
- サーバを再起動します。
- psコマンドで rpc.dracd と portmap が起動しているか確認します。
- ls -l /usr/local/etc/ でdracd.dbが存在するか確認します。確認出来たらファイルのタイムスタンプを確認しておきます。
- 動作確認を行います。
/usr/ports/mail/drac/work/testing 127.0.0.1 192.1.1.1
上記コマンドを打った後にdracd.dbのタイムスタンプが更新されているかどうか確認します。
データの中身を覗いてみます。 makemap -u btree dracd.db
192.1.1.1 1000141963
という様になっていればOKです。右側の数字は時間ですので上記と違っていても問題ありません。
- POPを連携させます(qpopperを使用します)。
- cd /usr/ports/mail/qpopper/
- vi Makefile ← Makefileを少しいじります。
31行目付近にある CONFIGURE_ARGS に --with-drac=/usr/local/lib を追加します。
ONFIGURE_ARGS= --enable-apop=${PREFIX}/etc/qpopper/pop.auth \
--enable-nonauth-file=/etc/ftpusers \
--with-apopuid=pop --without-gdbm \
--enable-keep-temp-drop \
--with-drac=/usr/local/lib
- make installします。
- /etc/inetd.conf を編集してpop行を追加します。
pop3 stream tcp nowait root /usr/local/libexec/qpopper qpopper -s
- inetd をHUPします。
- /etc/hosts.allow で必要な所からのpop接続を許可します。
- POPとデータの連携の確認をします。
- popに接続します。
- dracd.dbのタイムスタンプが更新されているかどうか確認します。
- データの中身を覗いてみます。
makemap -u btree /usr/local/etc/dracd.db
192.1.1.1 1000141963
という様になっていればOKです。左側がpop認証をパスしたクライアントのIPになっているはずです。
右側の数字は時間ですので上記と違っていても問題ありません。
- sendmailの設定
- 全体的な動作確認
- POP認証をしていないIPアドレス(又は時間が十分に経っている)のクライアントから自ドメイン宛以外のメールを送信して下さい。
→エラー(リレーリジェクト)になればOKです。
- POP認証してから、メールを送ってみます。
→送信出来ればOKです。
- 自分で(2番で設定)制限した時間程度経ったら、POP認証無しでメールを送信してみます。
→エラー(リレーリジェクト)になればOKです(もしエラーにならなくても、もう暫くしてから試して見て下さい。指定時間丁度では許可が切れない事もあります。最長は制限時間×1.5か?)。
お疲れさまでした。
もし、問題や疑問点などが御座いましたら、kawaml@zato.nu (特定電子メールの受信を拒否する) までメールを下さい。