1.07.4標準
app.example.testについて、/etc/nsswitch.confで定義された名前解決順序を使い、利用可能なIPv4・IPv6ソケットアドレス候補を確認する。
DNSだけへ直接問い合わせるのではない。
適切なコマンドはどれか。
× 不正解
getent ahosts NAMEはNSS設定に従ってホスト情報を取得し、ソケット種別を含むアドレス候補を列挙する。
詳細解説
誤り
dig app.example.test ANYDNSへ直接問い合わせ、NSSのfiles等を含む順序を通らない。
dig ANYはDNSへ直接問い合わせるため、/etc/hostsなどnsswitch.confの他情報源を含まない。ANY応答も全レコード取得を保証しない。
誤り
host app.example.testDNS照会ツールで、NSS全体の結果確認ではない。
hostもDNS照会用で、アプリケーションが使うNSS順序全体の確認にはならない。
正しい
getent ahosts app.example.testNSSを通じてホストのソケットアドレス候補を列挙する。
getent ahostsはNSSのhosts設定を通じて名前を解決し、STREAM、DGRAM、RAWなどのソケット候補を表示する。
誤り
hostname app.example.testローカルホスト名を変更する系統である。
hostnameはローカルホスト自身の名前を扱う。指定したリモート名のNSS解決結果を列挙しない。
実際に確かめる
一時的な検証環境で実行できる例です。
getent ahosts localhost | sed -n '1,6p'期待される結果
localhostのSTREAM、DGRAM、RAWなどを伴うアドレス候補理解のポイント
- getentはNSSを使用
- ahostsはソケット候補
- DNS直接照会とは異なる
確認時の注意
- 確認環境: glibc getent / ローカル名前解決のみ
基礎のおさらい
NSSとアプリケーション
多くのアプリケーションはgetaddrinfo等を通じ、nsswitch.confで定めた情報源順序を利用する。
ahostsとhosts
getent hostsはホストエントリ、ahostsはソケットアドレス候補を詳しく確認する用途に向く。
問題IDKL-102-1009
確認環境glibc getent / ローカル名前解決のみ
最終技術確認2026-08-13
誤り・権利侵害を報告