RELAYの設定

[ Nob's Home | qmail ]

mklinux.y-min.or.jpというhostに無事qmail-pop3dをinstallしましたが、
このままだと、clientから mklinux.y-min.or.jp 以外のmachineへmailを出そうとすると、
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
というエラーに遭遇してしまいます。

これは /var/qmail/control/rcpthosts が

localhost
mklinux.y-min.or.jp
となっているためです。

mklinux.y-min.or.jp 以外のhostからは、このrcpthostsに表示されたhost
(つまりlocalhost = mklinux.y-min.or.jpだけ)にしかmailを送ることができません。

つまり、mklinux.y-min.or.jp 上の qmail は、mailの中継機能をこの rcpthostsにより
制限しているのです。

もし、この /var/qmail/control/rcpthosts を削除してしまえば、
qmail はどこのhostへのmailでも、無制限に中継します。
これは spam にはうってつけの状況となってしまいます。

そこで、hostsを選んで中継を許可するように設定します。

tcp_wrapperを使った方法

  1. CIACから tcp-wrappersを入手

  2. 展開
    	$ tar zxvf tcp_wrappers_7.6.tar.gz -C /usr/local/src
    	$ cd /usr/local/src/tcp_wrappers_7.6
    		

  3. $ make 
    とすると、対応しているsystem名が表示されます。
    自分のsystemがなければ genericを選びます。

  4. REAL_DAEMON_DIRはどこか?
    /etc/inetd.conf などを参照して、
    (in.)telnetdや(in.)ftpdなどのdaemonがどこにいるか調べておきます。
    Linuxの場合は /usr/sbin、FreeBSDの場合は /usr/libexecなどです。

  5. hosts_optionsを付けるために STYLE=-DPROCESS_OPTIONS を忘れずに、
    make REAL_DAEMON_DIR=/foo/bar STYLE=-DPROCESS_OPTIONS system名 とします。
    $ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux
    		

  6. tcpd をcp
    $ su
    # cp tcpd /usr/sbin/tcpd
    

  7. inetd.conf の qmail-smtpd の行を変更し、inetdにHUPを送ります。
    smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd
    

  8. /etc/hosts.allow の設定
    qmail-smtpdはRELAYCLIENT環境変数があるとcontrol/rcpthostsを無視して、メイルを受け取ります。
    中継を許可したいhost/networkの tcp-env に、RELAYCLIENTを空白文字列として設定します。
    tcp-env: 1.2.3.4 : setenv = RELAYCLIENT
    	IP addressが 1.2.3.4 の host からの接続を許可します。
    tcp-env: 1.2.3.  : setenv = RELAYCLIENT
    	network 1.2.3.0 の network からの接続を許可します。
    tcp-env: .y-min.or.jp : setenv = RELAYCLIENT
    	network *.y-min.or.jp からの接続を許可します。
    

  9. /etc/hosts.deny の設定
    hosts.denyで .y-min.or.jp 以外からは
    tcp-env --- qmail 以外のserviceを許可しないようにします。
    ALL EXCEPT tcp-env: ALL
    

[ Nob's Home | qmail ]
nob@makioka.y-min.or.jp