最近のOSではWindows、Linux問わずIPv4よりIPv6が優先されていますが、世の中的にはまだまだIPv4の利用が多く、IPv6が優先的に使用されることで通信トラブルに見舞われることがあります。
そこでここでは、CentOS 7でIPv6よりIPv4が優先されるように設定する方法を紹介します。
この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
CentOS Linux | 7.4.1708 |
IPv4の優先順位を上げる
IPv4とIPv6の優先順位を定義するファイルは「/etc/gai.conf」ですが、CentOS 7では既定では用意されていません。
そこで、まずは雛形となるファイルを元にして「/etc/gai.conf」を作成します。
# cp -p /usr/share/doc/glibc-common-2.17/gai.conf /etc/.
次に、作成したファイルを開き、IPv4を優先するため、該当行のコメントを外します。
# vi /etc/gai.conf
#
# For sites which prefer IPv4 connections change the last line to
#
# precedence ::ffff:0:0/96 100 ←ここのコメントをはずします
ファイルの編集が完了したら、マシンを再起動します。
IPv4が優先されているかは、自分自身にPingを打ってみてlocalhostのアドレスが「127.0.0.1」になっていればIPv4が優先されています。(IPv6優先だと「::1」と表示されます)
あとがき
IPv6優先にしていると、名前解決時などで遅延が発生することがあります。まだしばらくはIPv4優先が良いかもです。