Conoha VPSでipv6利用時に気を付けたいPostfixの設定
ConohaのVPSは、ipv6が標準で、1個+16個ついてきて楽し気です。 が、思わずはまることもあります。
はまったこと
Postfixでipv6を有効にしていると、Gmailなんかにはipv6でつなぎに行くのですが、 その時に以下のようなエラーが記録されて送信できないことがあります。
Mar 8 06:25:09 conoha-vps postfix/cleanup[31246]: B58C1526A: message-id=<20180307212509.B1E605846@conoha-vps> Mar 8 06:25:09 conoha-vps postfix/qmgr[1703]: B58C1526A: from=<>, size=7598, nrcpt=1 (queue active) Mar 8 06:25:09 conoha-vps postfix/local[31254]: B1E605846: to=<root@conoha-vps>, relay=local, delay=0.03, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (forwarded as B58C1526A) Mar 8 06:25:11 conoha-vps postfix/smtp[31255]: B58C1526A: to=<xxxxxxxxxxx@gmail.com>, orig_to=<root@conoha-vps>, relay=gmail-smtp-in.l.google.com[2404:6800:4008:c01::1b]:25, delay=1.9, delays=0.01/0/1.2/0.7, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[2404:6800:4008:c01::1b] said: 550-5.7.1 [2400:8500:1302:851:a150:95:xxx:xxx] The IP address sending this 550-5.7.1 message does not have a PTR record setup. As a policy, Gmail does not 550-5.7.1 accept messages from IPs with missing PTR records. Please visit 550-5.7.1 https://support.google.com/mail/answer/81126#authentication for more 550 5.7.1 information. 13-v6si13594494ple.157 - gsmtp (in reply to end of DATA command)) Mar 8 06:25:11 conoha-vps postfix/qmgr[1703]: B58C1526A: removed
どうやら、ipv6のときは、IPの逆引き結果が登録されていて、なおかつ正引きと一致する必要があるようです。 標準のメインとなる1個のものに対しては一致するように登録していたのですが、+16個の方がそうではなかったので、ダメだったようです。
解決策
NICへのIP割り当てが以下のようになっていて、メインの2400:8500:1302:851:150:95:xxx:xxx
に対して適当な逆引きが設定されている(正引きと一致する)場合。
username@conoha-vps:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 150.95.xxx.xxx/23 brd 150.95.xxx.255 scope global ens3 valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxf/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxe/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxd/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxc/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxb/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxxa/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx9/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx8/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx7/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx6/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx5/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx4/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx3/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx2/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx1/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:a150:95:xxx:xxx0/64 scope global valid_lft forever preferred_lft forever inet6 2400:8500:1302:851:150:95:xxx:xxx/128 scope global valid_lft forever preferred_lft forever inet6 fe80::1:xxxx:xxxx:xxxx/64 scope link valid_lft forever preferred_lft forever
以下のように、/etc/postfix/main.cf
に追記してあげることで、該当のipv6アドレスからGmailサーバーなどipv6対応のメールサーバーにつなぎに行ってくれます。
smtp_bind_address6 = 2400:8500:1302:851:150:95:xxx:xxx