#cd /usr/local/src/ #tar -xzf tar/ucspi-tcp-0.88.tar.gz #cd ucspi-tcp-0.88 #make #make setup check
#emacs error.h
# vi /etc/tcp.smtp 192.168.0.:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT=""
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc2.d/S99qmail # ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S99qmail # ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S99qmail
#ln -s /etc/init.d/qmail /etc/runlevels/default/qmail
・defaultdomain
example.jp
toヘッダなどにドメイン名が省略された場合、補完されるドメイン名
・locals
localhost
localhost.example.jp
host.example.jp
example.jp
受信するホスト名・ドメイン名:qmail-sendが利用
・rcpthosts
localhost
example.jp
.example.jp
受信するホスト名・ドメイン名:qmail-smtpdが利用
・me
host.example.jp
自サーバのFQDN
・plusdomain
example.jp
ドメイン部が+で終わっている場合に付加されるドメイン。
「user@host+」なら「user@host.example.jp」と置換される(qmal-injectが利用)
# cd /var/qmail/alias # touch .qmail-postmaster .qmail-mailer-daemon .qmail-root .qmail-testuser # chmod 644 .qmail*
# cp /var/qmail/boot/home /var/qmail/rc
qmail-start ./Mailbox splogger qmail qmail-start ./Maildir/ splogger qmail
# /var/qmail/bin/maildirmake ~alias/Maildir # chown -R alias /var/qmail/alias/Maildir
# /var/qmail/bin/maildirmake /etc/skel/Maildir
cur/ new/ tmp/
#/var/qmail/rc &
#echo to: testuser@host.example.jp | /var/qmail/bin/qmail-inject
$ tar xvfz .relay-ctrl-2.5.tar.gz $ cd relay-ctrl-2.5/
$ make # ./installer
# mkdir /etc/relay-ctrl # mkdir /var/qmail/relay-ctrl # mkdir /var/qmail/relay-ctrl/spool # cd /etc/relay-ctrl/ # echo '900' > expiry # echo ":allow,RELAYCLIENT=''" > rule (*) # echo '/etc' > rulesdir # echo 'tcp.smtp.cdb' > smtpcdb # echo 'tcp.smtp' > smtprules # echo '/var/qmail/relay-ctrl/spool' > spooldir # echo '/usr/local/bin/tcprules' > tcprules * ダブルクオートを使用している点に注意
expiry RealyをオープンにしたIPアドレスを記録したファイルの寿命。デフォルトは900秒。
rule POPで接続してきたIPアドレスに付加するルール。 当然Relayを許可しなくてはいけないので「:allow,RELAYCLIENT=''」となります。
rulesdir cdbファイルとその基になるテキストファイルが収められているディレクトリ。 デフォルトは「/etc/tcpcontrol」。
smtpcdb 更新するcdbファイル名。デフォルトは「smtp.cdb」。
smtprules cdbの基になるテキストファイル。前回tcpserverのインストール時に使用したtcp.smtp に当たります。デフォルトは「smtp.rules」。
spooldir Relayを許可したIPアドレスを記録しておくスプール。デフォルトは「/var/spool/relay-ctrl」。
tcprules tcprulesコマンドのパス。デフォルトは「/usr/bin/tcprules」。
次に、spoolにたまったIPアドレスの記録を定期的に削除する 指示をcrontabに追加します。
# crontab -e
* * * * * /usr/sbin/relay-ctrl-age
start) 〜省略〜 tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サーバのFQDN] [認証ログラム] /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & echo touch /var/lock/qmail ;; stop) 〜省略〜
/bin/checkpassword /bin/checkpw /bin/checkapoppw /bin/selectcheckpw
# adduser -d /var/qmail/relay-ctrl -s /bin/false relay-ctrl # chown -R relay-ctrl /var/qmail/relay-ctrl
# chown relay-ctrl /usr/sbin/relay-ctrl-allow # chmod u+s /usr/sbin/relay-ctrl-allow
# cp /etc/tcp.smtp /var/qmail/relay-ctrl/. # echo '/var/qmail/relay-ctrl' > /etc/relay-ctrl/rulesdir
start) 〜省略〜 tcpserver -v -u[qmaildのUID] -g[nofilesのGID] -x /var/qmail/relay- ctrl/tcp.smtp.cdb 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サーバのFQDN] [認証プロ グラム] \ /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & echo touch /var/lock/qmail ;; stop) 〜省略〜