Submission port (587)へのIPv6アクセス (Slackware 14.2へその13)

これは,Slackware 14.2のupgradeに直接関する問題ではなくて,IPv6化したあとの5か月越しの懸案でした.わが家のsendmailへ,IPv6ではsubmission port (587)へ接続できないのです.

lsof -i | grep sendmail
sendmail  29512   root    4u  IPv6 1301137      0t0  TCP *:smtp (LISTEN)
sendmail  29512   root    5u  IPv6 1301138      0t0  TCP *:smtps (LISTEN)
sendmail  29512   root    6u  IPv4 1301139      0t0  TCP *:submission (LISTEN)

てな具合です.そこで,ネット検索結果を参考に,sendmail.mcに,

DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea, Family=inet6')dnl

と加えて,なんやかんやしてsendmailをリスタートすると,

opendaemonsocket: daemon MSA: cannot listen: Address already in use

てな,エラーが出続けます.

想像するに,既に,IPv4オンリーでMSAが立ち上がったあとで,IPv6オプションを明示したMSAをもう一度立ち上げようとしている(あるいはその逆の順番)ことは解ります.だから,勝手に立ち上がるMSAを止めたい.

いつもながら,解ってしまえば簡単なことなんです.次のようなFEATURE文を一行書くだけです

FEATURE(`no_default_msa')dnl

無事動くようになりましたとさ.

sendmail  29792   root    4u  IPv6 1212952      0t0  TCP *:smtp (LISTEN)
sendmail  29792   root    5u  IPv6 1212953      0t0  TCP *:smtps (LISTEN)
sendmail  29792   root    6u  IPv6 1212954      0t0  TCP *:submission (LISTEN)

めでたしめでたし.

Notes:
1. もちろん,上記のDAEMON_OPTIONS…も必要です.
もちろん,上記のDAEMON_OPTIONS…も必要です.