📌

メールサーバがipv4シングルスタックなのに、ipv6を解決するせいでメールルーティングが遅れる件

2023/06/07に公開

はじめに

パブリッククラウドでメールサーバを立てたいっていうニーズに自分がぶちあたり(主にメールサーバの送信サイズ制限の問題)、自宅からだとOP25Bに捕まるため、パブリッククラウドに立てるしかないわけなんですが、大体においてパブリッククラウドはふつーに立てるとipv4グローバルしか割当たらないです。が、立てたインスタンスにpostfixインストールしてメールサーバとして成立させて、テストで送信すると、ipv6ネットワークにいるメールサーバにはv6アドレスを解決してしまうため、繋がらない、といったことが発生します。これの対応をどうするか・・・

ソリューション

v6アドレスを付与する

最も単純で正しい解決方法です。が、今回試したGCPの無料枠でインスタンスを立てることができるus-west-1リージョンではなんとv6がサポートされないとのこと・・・

v4解決に限定してみる

/etc/gai.conf

precedence ::ffff:0:0/96 100

をアンコメントする。
どうもgetaddrinfo()の挙動を設定しているファイルのようだが、これだとうまくいく。

結論

だが、GCP自体がインスタンスからのメール送信を制限しているらしかった・・・

https://cloud.google.com/compute/docs/tutorials/sending-mail?hl=ja

別の手を考えよう

Discussion