【Windows】「hostsファイル」を編集して特定のドメインを任意のIPアドレスへ強制紐付けする手順

【Windows】「hostsファイル」を編集して特定のドメインを任意のIPアドレスへ強制紐付けする手順
🛡️ 超解決

開発環境での動作確認や特定のウェブサイトへのアクセス制御が必要な場面では、hostsファイルの編集が非常に有効な手段です。

DNSサーバーよりも優先されるhostsファイルを活用することで、ドメイン名を任意のIPアドレスに紐付けできます。

この記事では、Windows 11およびWindows 10でhostsファイルを安全に編集し、設定を適用する手順を詳しく解説します。

【要点】hostsファイル編集でドメイン名を自在に制御する

  • hostsファイルの場所の確認: hostsファイルがどこにあるのかをすぐに確認できます。
  • hostsファイルのバックアップ: 編集前に元のファイルを安全に保存する方法がわかります。
  • hostsファイルの編集と保存: 管理者権限でファイルを編集し、変更を適用できます。
  • DNSキャッシュのクリア: hostsファイルの変更をすぐに反映させる方法を理解できます。

ADVERTISEMENT

hostsファイルとは何か:その役割と仕組み

hostsファイルは、ドメイン名とIPアドレスの関連付けを定義するテキストファイルです。このファイルはWindowsコンピューターにローカルに保存されており、DNSドメインネームシステムサーバーよりも優先されて参照されます。ウェブサイトにアクセスする際、まずこのhostsファイルが確認され、そこに記述された情報があれば、そのIPアドレスが使用されます。

この仕組みにより、特定のドメイン名に対して、インターネット上の本来のIPアドレスとは異なる任意のIPアドレスを強制的に割り当てることが可能です。例えば、開発中のウェブサイトを本番環境のドメイン名でテストしたり、特定の広告サイトへのアクセスをブロックしたりする用途で利用されます。hostsファイルは、ネットワークの動作をローカルで制御するための強力なツールです。

hostsファイルが参照される優先順位

ウェブサイトにアクセスする際、WindowsはIPアドレスを特定するためにいくつかの方法を順番に試します。最初に参照されるのがhostsファイルです。hostsファイルに目的のドメイン名とIPアドレスの組み合わせが記述されていれば、WindowsはDNSサーバーに問い合わせることなく、そのIPアドレスを直接使用します。hostsファイルに情報がない場合、次にDNSサーバーに問い合わせが行われます。

hostsファイルの一般的な利用例

hostsファイルの利用例としては、ウェブサイト開発環境でのテストが挙げられます。本番環境と同じドメイン名を使って、ローカルサーバーやステージングサーバー上のウェブサイトをテストできます。また、特定のウェブサイトへのアクセスをブロックするために、そのドメイン名を無効なIPアドレス(例: 127.0.0.1ローカルホスト)に紐付けることも可能です。これにより、悪意のあるサイトや広告サイトへの接続を防ぐことができます。

hostsファイルを編集してドメインとIPアドレスを紐付ける手順

hostsファイルを編集する際は、管理者権限が必要です。また、万が一の事態に備え、事前にファイルのバックアップを取ることを強く推奨します。

hostsファイルの場所を確認する

hostsファイルは、Windowsのシステムフォルダー内に保存されています。この場所はWindows 11とWindows 10で共通です。

  1. エクスプローラーを開く
    タスクバーのファイルエクスプローラーアイコンをクリックして開きます。
  2. アドレスバーにパスを入力する
    エクスプローラーのアドレスバーに C:\Windows\System32\drivers\etc と入力し、Enterキーを押します。
  3. hostsファイルを見つける
    表示されたフォルダー内に hosts という名前のファイルがあることを確認します。拡張子はありません。

hostsファイルのバックアップを作成する

元のhostsファイルを誤って変更してしまった場合に備え、必ずバックアップを作成しておきましょう。

  1. hostsファイルをコピーする
    手順3-1で開いたフォルダー内で、hostsファイルを右クリックし、コンテキストメニューから「コピー」を選択します。
  2. 別の場所に貼り付ける
    デスクトップなど、任意の安全な場所に移動して右クリックし、「貼り付け」を選択します。
  3. ファイル名を変更する
    貼り付けたファイルのファイル名を hosts.bakhosts_original など、元のファイルと区別できる名前に変更します。

管理者権限でhostsファイルを編集する

hostsファイルを編集するには、管理者権限でテキストエディターを開く必要があります。

  1. メモ帳を管理者として実行する
    Windowsのスタートボタンを右クリックし、「ファイル名を指定して実行」を選択します。表示されたダイアログに notepad と入力し、CtrlキーとShiftキーを押しながらEnterキーを押します。ユーザーアカウント制御のダイアログが表示されたら「はい」を選択します。
  2. hostsファイルを開く
    管理者権限で開いたメモ帳で、「ファイル」メニューから「開く」を選択します。ファイルを開くダイアログで、手順3-1で確認した C:\Windows\System32\drivers\etc パスへ移動します。ファイルの種類を「テキスト文書 *.txt」から「すべてのファイル *.*」に変更すると、hostsファイルが表示されるので選択し、「開く」ボタンをクリックします。
  3. hostsファイルに記述を追加する
    hostsファイルの末尾に新しい行を追加し、以下の形式でIPアドレスとドメイン名を記述します。
    IPアドレス ドメイン名
    例: 192.168.1.100 example.com
    IPアドレスとドメイン名の間には半角スペースまたはTabキーで空白を入れます。コメントを追加する場合は、行頭に # シャープ記号を付けます。
  4. 変更を保存する
    メモ帳の「ファイル」メニューから「上書き保存」を選択します。これにより、hostsファイルへの変更が適用されます。

DNSキャッシュをクリアして変更を適用する

hostsファイルを変更しても、Windowsが以前のDNS情報をキャッシュしていると、すぐに変更が反映されないことがあります。DNSキャッシュをクリアすることで、新しい設定が即座に適用されます。

  1. コマンドプロンプトを管理者として実行する
    Windowsのスタートボタンを右クリックし、「ファイル名を指定して実行」を選択します。表示されたダイアログに cmd と入力し、CtrlキーとShiftキーを押しながらEnterキーを押します。ユーザーアカウント制御のダイアログが表示されたら「はい」を選択します。
  2. DNSキャッシュをクリアするコマンドを実行する
    開いたコマンドプロンプトウィンドウで、以下のコマンドを入力し、Enterキーを押します。
    ipconfig /flushdns
    「DNSリゾルバーキャッシュが正常にフラッシュされました。」というメッセージが表示されれば、DNSキャッシュのクリアは完了です。
  3. ウェブブラウザのキャッシュもクリアする
    ブラウザによっては、独自のDNSキャッシュやウェブサイトのコンテンツキャッシュを保持している場合があります。hostsファイルの変更を確実に反映させるために、ブラウザのキャッシュもクリアすることをおすすめします。

hostsファイル編集時の注意点とよくある問題

hostsファイルの編集は強力な機能ですが、いくつかの注意点があります。誤った操作はネットワーク接続に影響を与える可能性があるので、慎重に進めましょう。

ファイルを保存できない場合

hostsファイルはシステムフォルダー内にあるため、管理者権限がないと保存できません。メモ帳などを管理者として実行していない場合、保存時に「アクセスが拒否されました」などのエラーメッセージが表示されます。必ず「管理者として実行」を選択してテキストエディターを起動してください。

また、誤って「名前を付けて保存」を選んでしまい、拡張子が付いた別のファイルとして保存してしまうミスもあります。元の hosts ファイルを上書き保存しているかを確認してください。

変更が反映されない場合

hostsファイルを編集しても、変更がすぐに反映されないことがあります。これは主に以下の原因が考えられます。

  1. DNSキャッシュのクリア忘れ
    ipconfig /flushdns コマンドを実行し、DNSリゾルバーキャッシュをクリアしてください。
  2. ウェブブラウザのキャッシュ
    ブラウザが古い情報をキャッシュしている場合があります。ブラウザの履歴やキャッシュをクリアし、再度アクセスを試みてください。
  3. hostsファイルの記述ミス
    IPアドレスやドメイン名のスペルミス、不要な空白文字、コメントアウト # されていない行頭などが原因となることがあります。記述ルールに従って正確に入力されているかを確認してください。
  4. ファイアウォールやセキュリティソフトの影響
    ごく稀に、ファイアウォールやセキュリティソフトがhostsファイルの変更をブロックしたり、ネットワーク接続に干渉したりする場合があります。一時的に無効にして確認するのも一つの方法です。

hostsファイルが見つからない場合

hostsファイルはデフォルトで隠しファイルではありませんが、ファイルエクスプローラーの設定によっては表示されないことがあります。以下の手順で隠しファイルを表示する設定を確認してください。

  1. ファイルエクスプローラーの設定を開く
    ファイルエクスプローラーを開き、上部の「表示」タブをクリックします。
  2. 隠しファイルを表示する
    「表示」タブ内の「表示」グループにある「表示/非表示」メニューから、「隠しファイル」にチェックが入っているかを確認します。チェックが入っていない場合は、クリックして有効にしてください。

それでも見つからない場合は、Windowsの検索機能で hosts と入力し、ファイルを探してみるのも有効な方法です。

hostsファイルの内容を元に戻す場合

編集した内容を元に戻したい場合は、手順4-2で作成したバックアップファイルを使用します。バックアップファイルを hosts という名前に変更し、元の C:\Windows\System32\drivers\etc フォルダーに上書きコピーしてください。この際も管理者権限が必要です。変更後は、必ずDNSキャッシュのクリアを実行してください。

ADVERTISEMENT

hostsファイルとDNSサーバーの解決順序の比較

hostsファイルとDNSサーバーは、どちらもドメイン名をIPアドレスに変換する役割を担いますが、その動作には違いがあります。以下に主な比較点をまとめます。

項目 hostsファイル DNSサーバー
解決優先順位 最も高い hostsファイルに次ぐ
適用範囲 ローカルコンピューターのみ ネットワーク全体、インターネット
管理方法 テキストファイルを直接編集 DNS管理システムで設定
変更反映 即時反映(キャッシュクリア後) 伝播に時間がかかる場合がある
主な用途 開発環境テスト、特定サイトブロック ウェブサイトの公開、メールルーティング
拡張性 低い 高い

まとめ

この記事で解説した手順により、Windowsのhostsファイルを編集し、特定のドメインを任意のIPアドレスに強制的に紐付けられるようになりました。

この機能は、ウェブサイトの開発テスト環境の構築や、特定のウェブサイトへのアクセス制御など、ビジネスシーンで幅広く活用できます。

今後、新しい開発環境を構築したり、特定のドメインの動作を検証したりする際には、この記事で紹介したhostsファイルの編集手順をぜひご活用ください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。