今さらではあるが、ちょっとしたトラブルからサーバ群のIPv6有効になってるけど無効にした方がいいんじゃない?という指摘を受けて数十台のサーバ群のIPv6を無効にするということをやっていた。
そもそも設定変更するのであれば影響有無の検証をするべきではあったのだが、ほかの環境では基本構築時にIPv6は無効にしているし、商用ではないし、ということもありでまぁ大丈夫だろうと思ってしこしこ対応していたのだが、数日経って、なんかメールが遅れてないかも、みたいなコトになったので確認して対応した時のメモです。
確認と対処
確認
とりあえずmaillogを確認。以下のログが1分おきくらいに出力されていた。
1 2 3 |
postfix/pickup[30585]: fatal: parameter inet_interfaces: no local interface found for ::1 postfix/master[2651]: warning: process /usr/libexec/postfix/pickup pid 30585 exit status 1 postfix/master[2651]: warning: /usr/libexec/postfix/pickup: bad command startup -- throttling |
、、、っぽいですね。どきどき。。。ぴぐろぐは純日本人なのでまずは翻訳先生に聞いてみます。
パラメータ inet_interfaces::: 1のローカルインタフェースが見つかりません
はい、確定ですね。
対処
ふたつ、やっておくべきことがありました。
Postfix の設定(inet_protocols)
postfix はデフォルトでIPv6が有効で、そのまま使っていたため、システム側でIPv6を無効にした場合はpostfix側でも無効にしてやる必要がありました。
1 2 3 |
inet_protocols = all ↓ inet_protocols = ipv4 |
main.cf の設定を変更後再起動して反映します。
1 |
systemctl restart postfix |
/etc/hosts の記述
こちらもデフォルトでIPv6記述が入っているので削除しておく必要がありました。/etc/hosts の以下などv6の行を削除またはコメントアウトします。
1 |
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
その後、ネットワークの再起動します。NetworkManagerはいじってないからいらないと思うが念のため。サーバ再起動できるならそれで。
1 2 |
systemctl restart network systemctl restart NetworkManager |
以上です。
↓↓↓ 持っていると便利な一冊。