​​​​​

●qmailな環境にOutbound Port 25 Blocking対策

サブミッションポート専用のqmail-smtpdを作る

昨日から今日にかけてクライアントから「メール送信が出来ない」と問い合わせが殺到した。プロバイダーがOP25B(Outbound Port 25 Blocking)を実施したためだと判明。

MacOS + Postfixでの設定は「Outbound Port 25 Blocking対策をMac OS X 10.4 tigerで設定」に書いたが今回は

FreeBSD + qmail + qmail-submission + vpopmailという設定。

1. 既存のqmailには手を加えずSubmission(サブミッション)ポート専用のqmail-smtpdを作成
2. 送信認証はpop before smtp、smtp-authで行う
3. smtp-authはvpopmailアカウントで認証

ソースファイルを取ってくる。

# cd /usr/local/src/distfiles
# fetch http://cr.yp.to/software/qmail-1.03.tar.gz
# tar xvfz distfiles/qmail-1.03.tar.gz
# mv qmail-1.03 qmail-1.03-submission

後でわかるようにqmail-1.03-submissionへリネーム

パッチファイルと取ってくる。

# cd patches/
# fetch http://cyberam.dip.jp/linux_server/mail/qmail-date-localtime.patch
# fetch http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
# fetch http://www.qmail.org/qmail-smtpd-relay-reject
# fetch http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
# fetch http://www.aripollak.com/pmwiki/uploads/Main/netqmail-1.05-09-msp.patch.txt

qmail-smtpd-auth-0.31.tar.gzを展開し中身をqmailのソースディレクトリにコピー

# tar zxvf qmail-smtpd-auth-0.31.tar.gz
# cd qmail-smtpd-auth-0.31
# cp auth.patch /usr/local/src/qmail-1.03-submission/
# cp base64* /usr/local/src/qmail-1.03-submission/

パッチをあてる。

# cd qmail-1.03-submission

patch < auth.patch
patch -p1 < ../patches/qmail-date-localtime.patch
patch -p1 < ../patches/qmail-smtpd-relay-reject
patch -p1 < ../patches/qmail-1.03.errno.patch
patch -p1 < ../patches/netqmail-1.05-09-msp.patch

FreeBSDのportsでqmailをインストール済みの場合「nofiles」ではなく
「qnofiles」というグループが作成されるのでそのままでは
「nofilesというグループがない」とエラーが出るのでconf-groupsのファイルを書き換える。

#cp conf-groups conf-groups.org
# ee conf-groups

qmail
nofiles

のところを

qmail
qnofiles

に書き換え。

それからMake

# make

既存のqmailはそのままにしたいので「make setup check」は行わない。

コンパイル後submisson port専用のqmail-smtpdができる。

それをqmailのbinディレクトリにコピー。

#cp -i /usr/local/src/qmail-1.03-submission/qmail-smtpd /var/qmail/bin/qmail-smtpd-submission

smtp-authのためにvchkpwのパーミッションを変更。

# chown root:wheel /home/vpopmail/bin/vchkpw
# chmod 4755 /home/vpopmail/bin/vchkpw

/usr/local/etc/rc.dに起動ファイルqmail-submission.shを作成
FreeBSDのportsでqmailをインストール済みの場合aliasのuid,gidともに「81」

#id alias

と確認してから作成

#!/bin/sh

#
# TCPSERVER for qmail with submission
# $FreeBSD$
#


case "$1" in

start)
#qmail with submission

SUBMISSION="" exec /usr/local/bin/tcpserver -PR -l `/bin/hostname` -v -x /home/vpopmail/etc/tcp.smtp.cdb -u 81 -g 81 0 587 /var/qmail/bin/qmail-smtpd-submission `/bin/hostname` /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 | /var/qmail/bin/splogger smtpd-sub 4 &

echo -n " Starting qmail with submission"
;;

stop)

kill -TERM `ps axwww | grep qmail-smtpd-submission | awk '{print $1}'`

echo -n " Stoped qmail with submission"
;;

*)
echo "Usage: /usr/local/etc/rc.d/qmail-submission.sh {start|stop}" >&2
;;

esac

exit 0


起動ファイルのパーミッションを変更

# chmod 555 qmail-submission.sh
# /usr/local/etc/rc.d/qmail-submission.sh start

として起動。

# ps auxwww|grep qmail-smtpd-submission

と確認。

​​​​​

メーラーの設定
Outlook Expressの場合

1.「ツール」→「アカウント」で、変更したいアカウントを選択し、プロパティを選択
2.「サーバー」タブを選択し、「送信メールサーバー」の欄の「このサーバーは認証が必要」にチェックを入れる。
3.詳細設定タブを選択し、サーバーのポート番号の送信メール(SMTP)を 25から 587に変更

実際に送信を行うと/var/log/auth.logにsmtpd-subのログが書き出される。

■ Outbound Port25 Blocking 対応プロバイダ

WAKWAK(2005年3月1日より)

SANNET(2005年4月より)

AEON NET(2005年3月1日より)

ツインインターネット(2005年10月5日より)

@nifty(2006年2月15日より)

So-net(2006年5月16日より) → (2006年6月14日より)

Infosphere(2006年6月より)

Yahoo! BB(2006年6月より)

SoftBank ブロードバンドサービス[エンジョイBB、Nexyz.BB](2006年6月より)

ODN(2006年6月より)

JENS SpinNet(2006年6月より)

BBモバイルポイント(2006年6月より)

KCN(2006年7月5日より)

ぷらら(2006年7月中旬より)

Posted by macminitiger at 14:03 | Category : FreeBSD, qmail | Comments [0] | Trackbacks [0]