こんにちは、フルスタックエンジニアryuです。
今回の記事では、hostsファイルについて解説します。hostsファイルとは、IPアドレスとホスト名を紐づけるファイルです。hostsファイルにIPアドレスとホスト名を記述することで、名前解決を行うことができます。今回の記事では、hostsファイルの概要や設定ファイルの場所、設定方法など詳しく解説します。
目次
hostsファイルとは?
hostsファイルって何・・・?
今回の記事では、hostsファイルについて詳しく解説します。
hostsファイルとは、IPアドレスとホスト名を紐づけて、PC内で名前解決をするためのファイルです。
どのようなファイルなのかさらに詳しく解説します。今回の記事の内容は以下の通りです。
- hostsファイルとは?
- hostsファイルの設定方法
- hostsファイルの場所は?
では、解説します!
hostsファイルとはPC内で名前解決するためのファイル
hostsファイルとは、IPアドレスとホスト名を紐づけて名前解決をするということを説明しました。
そもそも名前解決とは何なのでしょうか?
名前解決とは、ホスト名からIPアドレスを対応付けることです。例えばWebサイトにアクセスするとき、「https://engineer-ninaritai.com」から名前解決を行い、このサーバーのIPアドレスへ通信します。
名前解決は、Webサイトへのアクセスなどサーバーへアクセスするときに使います。世界中のサーバーの名前解決はDNSサーバーが行っております。
DNSのサーバーの概要はこちらの記事をご覧ください。

hostsファイルは、名前解決の情報をローカルPC内に設定するファイルになります。
hostsファイルの設定方法
次にhostsファイルの設定方法です。
hostsファイルの中身は以下のようになっています。
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
127.0.0.1 localhost
127.0.1.1 DESKTOP-EOJNUFD.localdomain DESKTOP-EOJNUFD
<feff>
192.168.0.6 host.docker.internal
192.168.0.6 gateway.docker.internal
127.0.0.1 kubernetes.docker.internal
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
~
IPアドレスとホスト名が設定されていることが分かります。
設定方法は、IPアドレスとホスト名を記述するだけなので簡単です。設定を付け加えてみましょう。
192.168.0.10 www.test.com
[IPアドレス] [ホスト名]
これで設定は完了です。
hostsファイルは手書きで設定変更をする必要があるため、小規模なネットワークでの運用や開発環境などで使用するのがオススメです。
名前解決するサーバーが多い場合はDNSサーバーを構築するようにしましょう。DNSサーバーの構築方法はこちらの記事で解説しています。
【簡単】bindを設定してDNSサーバーを構築する手順解説!
hostsファイルの場所は?
次にhostsファイルの場所について解説します。WindowsとLinuxによってファイルの保存場所が違うので注意しましょう。
windowsのhostsファイルの場所
まずは、windowsのhostsファイルの場所です。hostsファイルの場所は、「C:\Windows\System32\drivers\etc\hosts」です。
[windows]+rをクリックして、ファイル名を指定して実行を開きます。そこに、hostsファイルのパスを入力して「OK」をクリックします。

OKをクリックすると、ファイルを開く方法を聞かれるので「メモ帳」を選択しましょう。

OKを押すとメモ帳でhostsファイルが開きます。
linuxのhostsファイルの場所
次にlinuxのhostsファイルの場所です。linuxは「/etc/hosts」がhostsファイルの場所です。
viコマンドを用いてhostsファイルを開いてみましょう。
vi /etc/hosts
hostsファイルは管理者権限で編集が必要なので、管理者ユーザーでログインするか、sudoコマンドを使いましょう。sudoコマンドの使い方は以下の記事で解説しています。

hostsファイルとは?まとめ
今回の記事ではhostsファイルについて解説しました。まとめると以下のようになります。
- hostsファイルとはIPアドレスとホスト名を紐づけるファイル
- IPアドレスとホスト名を記述して設定する
- WindowsとLinuxのhostsファイルの場所はそれぞれ違う
hostsファイルはたまに使うことがあるので、覚えておくと便利です!
このようなITに関連する内容を当ブログでは、発信しているので興味のある方は、是非ご覧ください。
さらにITの勉強をしたい方はこちらの参考書がオススメです。