Closed1

hostsファイルによるドメインとIPの紐付け

chima91chima91

hostsファイル

DNSサーバによってドメインとIPの紐付けが管理されているが、普段使っているPCの中にもその紐付けを管理するテキストファイルが存在する(というか、DNSが普及する前まではこのファイルによって名前解決を行っていたらしい)。
macだと、/etc配下にあるhostsファイルがこれにあたる。
Windowsだと、C:\Windows\System32\drivers\etc配下にある。

user@~ % cd /private/etc
user@etc % cat -n hosts

catコマンドでhostsファイルの中身を見るとこんな感じ。

hosts
     1	##
     2	# Host Database
     3	#
     4	# localhost is used to configure the loopback interface
     5	# when the system is booting.  Do not change this entry.
     6	##
     7	127.0.0.1	localhost
     8	255.255.255.255	broadcasthost
     9	::1             localhost
    10	# Added by Docker Desktop
    11	# To allow the same kube context to work on the host and the container:
    12	127.0.0.1 kubernetes.docker.internal
    13	# End of section

127.0.0.1(IPv4)や::1(IPv6)といったローカルループバックアドレスと、localhostというドメインが紐づいていることが分かる。
一つのIPアドレスに複数のドメイン名を紐付けることも可能。

名前解決を行う際、hostsファイルにドメインとIPの紐付けが見つかれば、PCはわざわざDNSサーバに問い合わせに行かない。
開発環境のサーバを追加する際や、新規にサーバを構築して現行サーバから新サーバへ移行したコンテンツの動作確認の際などに、このファイルに紐付けを追記すればよい。

このスクラップは2023/07/22にクローズされました