IPv4の名前解決をIPv6に優先させたいとき
|Webサーバが意味不明の挙動を示しているとき、
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8000... connected.
:
と、IPv6側から接続しに行っているのに気付いた。
「そもそもこの子は外からv6接続できないんだから意味ないし、変更しよう!」
ということで以下のようにして変更。メモ。
/usr/share/doc/glibc-common-2.17/gai.conf
に設定サンプルがある。この中にデフォルトが記述されている。
:
#precedence ::1/128 50
#precedence ::/0 40
#precedence 2002::/16 30
#precedence ::/96 20
#precedence ::ffff:0:0/96 10
:
::ffff:0:0/96
の IPv4 コンパチブルアドレスがいちばん安く見積もられているので、これを 100
くらいにしとく。設定変更は /etc/gai.conf
に書く。なお、CentOS 7の場合は標準ではこのファイルは存在しない。
# echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf
こんな感じ。ちなみに再起動しないとダメとのこと。よろしく哀愁。