Closed7
/etc/hostsファイルについて
/etc/hosts
ファイルは、ホスト名とIPアドレスを対応させるためのファイル
記述形式
IPアドレス (スペースorタブ) ホスト名
さて、DNSのことを学んでいる方であれば、ここで「それはDNSに対応していれば、DNSがやってくれることでは?」と思うことでしょう。その通りです。/etc/hostsの存在を理解するには、その歴史的背景を理解しておく必要があります。
DNSが普及する前、名前解決(ホスト名をIPアドレスに変換すること)はDNSでなく、この/etc/hostsの記述に則って行われていたのです。すなわち、/etc/hostsにインターネット上のホストの一覧がずらりと並んでいたのです。
インターネットというものがまだそれほど大きくなかった時代の話ですので、それでも何とか名前解決というものができたのです。
しかし、インターネットが大きくなり、/etc/hostsに頼る方法では埒があかないという状態になってから、DNSが開発され、/etc/hostsはその役割をDNSに譲ったというわけです。
では/etc/hostsは無用の長物なのかというと、必ずしもそうとは言い切れません。DNSサーバを構築設定するほどでもない小規模な検証環境などでは、各ホストの/etc/hostsを設定すれば名前解決が行えます。ただし、ほとんどのディストリビューションではDNSよりも/etc/hostsを優先して名前解決を行います。実在するホスト名を/etc/hostsに記述した場合には、想定外のIPアドレスが返ることでホストにアクセスできない(別のIPアドレスに接続しようとする)ことがあるので、注意が必要でしょう。
このスクラップは2022/03/24にクローズされました