Windowsでの名前解決にhostsファイルを利用する方法

Windowsでの名前解決にhostsファイルを利用する方法

私たちの身の回りにあるPCやスマートフォンなど、ネットワーク(ローカルネットワークやインターネット)に接続されるデバイスには、IPアドレス(123.456.789.012)と呼ばれる住所のような情報が割り当てられています。

このIPアドレスは数字が羅列されているだけのため、人間が覚えやすい情報とは言えません。そこで、人間が見て分かりやすいように「名前」で指定できるようにする仕組みがあり、一般的なのがDNSと呼ばれるシステムです。

DNSサーバーでは、名前(以下、ホスト名)とIPアドレスの紐づけが登録されており、私達が宛先をホスト名で指定すると、通信の内部では、DNSサーバーにホスト名に対応するIPアドレスを問い合わせて実際の宛先を特定し、通信が行われます。(ホスト名に対応したIPアドレスを問い合わせることを「名前解決」といいます)

インターネット環境では、この名前解決にDNSサーバーが一般的に利用されていますが、ローカルネットワーク環境では、DNSサーバーが設置されていない場合も多く、そのような場合、DNSの代わりに名前解決を行う方法として用意されているのが「hosts」ファイルです。

そこで、ここではWindows 10環境での名前解決にhostsファイルを利用する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit1903

hostsファイルとは

hostsファイルは、WindowsだけでなくmacOSやLinuxでも利用されているファイルで、IPアドレスとホスト名の紐づけをテキストファイルで管理する仕組みです。

Windows環境では、DNSキャッシュ>hostsファイル>DNSサーバー>NetBIOSの順で名前解決が行われており、hostsファイルやDNSサーバーで名前解決された情報はDNSキャッシュとして保存され、次回以降の名前解決を高速化しています。

hostsファイルの編集方法

Windows 10でhostsファイルを編集する手順は、次のとおりです。

Memo

hostsファイルはシステムファイルの一つなので、編集するには管理者権限でテキストエディタを起動して開く必要があります。

まず、スタートメニューのプログラム一覧などから、メモ帳のアイコンを右クリックして「その他」から「管理者として実行」をクリックします。

Windowsでの名前解決にhostsファイルを利用する方法

メモ帳が起動したら「ファイル」メニューから「開く」をクリックして、hostsファイルを開きます。

Windowsでの名前解決にhostsファイルを利用する方法

hostsファイルのパスは、以下となります。

C:\Windows\System32\drivers\etc\hosts

なお、hostsファイルには拡張子がないので、「開く」画面では、ファイルの種類から「すべてのファイル」を選択しないと、ファイルが表示されないので注意してください。

Windowsでの名前解決にhostsファイルを利用する方法

hostsファイルを開いたら、最終行以降に、IPアドレスとホスト名のセットを一行ごとに記述します。

なお、IPアドレスとホスト名の間の区切り文字は「タブ」または「スペース」で入力し、「#」から始まる行は、コメントとして認識されます。

入力例は、以下の画像を参照ください。

Windowsでの名前解決にhostsファイルを利用する方法

編集が済んだら「ファイル」メニューから「上書き保存」をクリックし、メモ帳を閉じて、hostsファイルの編集は完了です。

Windowsでの名前解決にhostsファイルを利用する方法

動作確認

hostsファイルの編集が完了したら、hostsファイルに記述したホスト名で名前解決できるかをPingコマンドで確認します。

手順は、コマンドプロンプトを起動して、以下のコマンドを実行します。

> ping ホスト名

名前解決ができていれば、実行結果のホスト名横にIPアドレスが表示されます。

Windowsでの名前解決にhostsファイルを利用する方法

あとがき

hostsファイルを利用する際に注意しておきたい点としては、DNSサーバーより優先的に名前解決に利用される点と、静的なファイルのため人がしっかりと管理する必要がある点です。

この仕様と管理の必要性を理解しておかないと、古いhostsファイルが放置されて、意図しない宛先に接続されるなどのトラブルが起こる可能性があるので気を付けましょう。