ping ホスト名 が通るのに ssh ホスト名 が失敗する」「/etc/hosts に書いたのに反映されない」----こういった名前解決のトラブルは、/etc/nsswitch.conf の設定が影響しているケースがあります。このファイルでは、ホスト名をIPアドレスに変換する際にどの順番でどの方法を使うかを設定しています。
・/etc/nsswitch.confのhosts行で名前解決の参照順序を設定できる
・デフォルトはfiles(/etc/hosts)→dns(DNSサーバー)の順で参照される
・LDAPやNISを使う環境では参照項目にldapやnisを追加できる
・現在のLinuxではnsswitch.confが名前解決の設定ファイルとして使われている
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
/etc/nsswitch.confとは
/etc/nsswitch.conf(Name Service Switch)は、名前解決だけでなく、ユーザー情報・グループ情報・サービス情報など、様々なシステム情報の参照先と順序を設定するファイルです。ホスト名の解決においては、このファイルの「
hosts:」行が参照されます。基本的な設定と確認方法
1. /etc/nsswitch.confの内容を確認する
[root@Tiger ~]# vi /etc/nsswitch.conf # ... #hosts: db files nisplus nis dns hosts: files dns
hosts: 行に注目します。左から順に参照され、最初に名前が解決できた方法が使われます。2. 各参照項目の意味
・files:/etc/hosts ファイルを参照する・dns:DNSサーバーを参照する(
/etc/resolv.conf で設定)・ldap:LDAPサーバーを参照する
・nis:NIS(Network Information Service)を参照する
・myhostname:ローカルのホスト名を使用する(systemd-resolved環境)
設定の変更方法
DNSを先に参照したい場合
[root@Tiger ~]# vi /etc/nsswitch.conf # デフォルト(/etc/hostsを優先) hosts: files dns # DNSを先に参照したい場合 hosts: dns files
/etc/hosts よりDNSを優先すると、ローカルで設定した名前解決(テスト環境用のホスト名など)がDNSに負けることがあります。通常は files dns の順序を維持することを推奨します。変更後の反映について
/etc/nsswitch.conf の変更はほぼ即座に反映されますが、アプリケーションによってはキャッシュを持っている場合があります。確実に反映するには nscd(Name Service Cache Daemon)を再起動します。# nscdが動いている場合は再起動して確認する [root@Tiger ~]# systemctl restart nscd # 名前解決を確認する [root@Tiger ~]# getent hosts www.example.com
トラブルシュート
/etc/hostsに書いたのに反映されない場合
nsswitch.conf の hosts: 行で files が先頭に来ているかを確認してください。dns が先頭にある場合、DNSで解決できてしまうと /etc/hosts が参照されません。本記事のまとめ
・/etc/nsswitch.conf の hosts: 行で名前解決の順序を設定する・デフォルトは
files dns(/etc/hosts を先に参照してからDNS)・LDAPやNISを使う環境では
ldap や nis を追加できる・変更は即時反映されるが、nscdが動いている場合は再起動が必要
Linuxのネットワーク設定を体系的に学びたい方へ
名前解決の仕組みを理解することで、DNSトラブルや/etc/hostsの設定が正しく動作しない問題を素早く解決できるようになります。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます