Vertualminのサイトでgoogleからのメールが受信できない!No Server certs available
さくらインターネットVPSを使ってVertualminでサーバー管理環境を作ったんですが、googleからのメールが受信できないって事象が発生。。
maillogを見てると、googleからのメールは届いてるけど、rootあてに行っちゃってる。そこで、roogに来ているメールを見てみると。。
※こんな時、ブラウザでメールが見れるWebmin環境は便利(^^)
Out: 220 os3-999-99999.vs.sakura.ne.jp ESMTP Postfix
In: EHLO mail-il1-xxxx.google.com
Out: 250-os3-360-13460.vs.sakura.ne.jp
Out: 250-PIPELINING
Out: 250-SIZE 10240000
Out: 250-VRFY
Out: 250-ETRN
Out: 250-STARTTLS
Out: 250-AUTH PLAIN LOGIN
Out: 250-AUTH=PLAIN LOGIN
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: STARTTLS
Out: 454 4.7.0 TLS not available due to local problem
ん?vs.sakura.ne.jp??
これって、デフォルトの設定ホスト名です。
逆引きでデフォルトの設定ホスト名が引かれてる模様。。
んでもって、そのホスト名でTLSが動作しないんでメール受信がはねられちゃってる模様です。
目次
対応をしてみました!
対応したところは、大きく2箇所。
1)さくらインターネットVPSで逆引きで正しいホスト名が引かれるようにする。
2)正しいホスト名でPostfixのTLSが動作するように証明書を準備する
逆引きを設定する
さくらインターネットVPSのコントロールパネルから設定をします。
各種設定→ホスト名逆引き登録
IPv4とIPv6のタブがありますが、今回はIPv4のみの対応としています。
標準ホスト名とカスタムの選択があります。
カスタムを選択して正しいホスト名を入力してください。
「設定内容の確認」で確定してください。
ちょいと待ってからdig -xで設定したホスト名が表示されることを確認してください。
PostfixのTLSの設定を行う
やること(^^)
1)hostnameを設定する
2)証明書をpostfixが読めるようにする
hostnameを設定する
見事にほったからしてましたねぇ。。。(^^;
# hostnamectl set-hostname host.exeample.com
# hostnameで変更したら、再起動したらもとに戻っちゃいます。
固定するには、上記のコマンドで行う。または、 /etc/hostnameを直接編集します。
証明書をpostfixが読めるようにします
証明書をPostfixが読めるように下記の設定が/etc/postfix/main.cfに必要です。
smtpd_tls_cert_file = /etc/postfix/postfix.cert.pem
smtpd_tls_key_file = /etc/postfix/postfix.key.pem
smtpd_tls_CAfile = /etc/postfix/postfix.ca.pem
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
Postfixの設定画面からhost.example.comの証明書をコピーしたりして、編集する必要があるのかと思ってたのですが、そんなことしなくても良かったです!
Virtualminで該当するVertual Serverのメニューを開きます。
Server Configuration→SSL Certificate画面の
「Service Certificate」タブを選択します。
「Copy to Postfix」をポチる!
これだけ!
上記の設定が追加されています(^^)
あとは、設定ファイルをreloadしてください。