Windows hostsファイルを変更する方法

Windowsでホストの名前解決を行うHostsファイルの変更方法及び複数のHostsファイルを切り替えるツールの使用方法を解説(Webサイトの開発にはよく使います)

Hostsファイルについて

通常は、DNSサーバーがホスト名やドメイン名(xxxxx.com)をIPアドレスに変換しますが、DNSサーバーに登録する必要があります。恒久的な対応の場合は、DNSサーバーを構築したり、既存のDNSサーバーに登録したほうがよいですが、Webシステム開発などで、開発環境、ステージング環境、本番環境と環境(IPアドレスが異なるがURLが同じ場合)が異なる場合そうもいきません。本番と同様のURLで検証する必要があるので、そういうときはHostsファイルを利用して名前解決します。

※hostsファイルを使ってIPアドレスをすげ替えというイメージです。

インターネット上のネームサーバーに登録されているIPアドレスは、基本的にはhostsには書きません。すべてコメントアウト(先頭に#を付加)することで、アクセスすることができます。

これは、hostsファイルがネームサーバーより優先されるからです。

Web開発構成図
hostsファイルの利用用途

DNSサーバーにドメインを登録されている環境でもアクセスできないこともあります。ルーターのWAN側のインタフェースからローカルネットワーク内の特定サーバーにポートフォワード(特定のポートのパケットを転送)している場合などは、ローカルネットワーク内からアクセスできなかったりします。そのような場合もHostsファイルにドメイン名とサーバーのLAN側のIPアドレスを指定することで解決するとができます。

ポートフォワードイメージ図
ポートフォワードイメージ図

Hostsファイルの場所

Windows7~Windows10

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

Windows(98系, Me)

C:\Windows\hosts

Windows2000

C:\WINNT\system32\drivers\etc\hosts

Unix・Linux系

/etc/hosts

hostsファイル内容

hostsファイル内容

hostsファイルの書き換え方法

書き換え方法

hostsファイルは、管理者権限でなければ上書きすることができないので、メモ帳を管理者権限で起動します。

  1. 虫眼鏡アイコンをクリックします。(①)
  2. 検索欄に「memo」と入力します。(②)
  3. メモ帳を右クリックしてメニューを表示させます。(③)
  4. 管理者として実行をクリックします。(④)

①虫眼鏡アイコンをクリックします。

メモ帳を管理者権限で起動

「C:\Windows\System32\drivers\etc\hosts」に移動します。ファイルの拡張子(赤枠)は、すべてのファイル(*.*)に変更します。

hostsファイルを選択します。

hostsファイル選択画面

ファイルを修正します。ホスト名&ドメイン名と紐づけるIPアドレスを追加します。

ホスト名[半角空白]ipアドレスの形式記述します。

記述後は、「ctrl+s」 or 上書き保存で保存します。念のため保存の前にhostsファイルをバックアップしておくことをお勧めします。hosts.bkなどにしておく。

hostsファイル内容

サンプル

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

#domdomサイト ステージング環境
192.168.0.100 domdom.com

#domdomサイト 開発環境
#192.168.0.10 domdom.com

#ゲートウェイホスト名
192.168.0.1 gateway

確認方法

pingコマンドを使用して確認することができます。

ping ホスト名 or ドメイン名

キーボードの「windowsキー+R」を押します。ファイル名を指定して実行で、cmdと入力して「Enterキー」を押します。

ファイル名を指定して実行

追加したホスト名でpingコマンドを実行すれば、ipアドレスが表示されます(赤枠)これで正常にhostsファイルに追加及び修正できたことが確認できます。

ファイヤーウォールなどで、pingはタイムアウトすることもあります。その場合でもipアドレスは表示されますので、確認は可能です。

hosts変更後のping実行結果

hostsファイルをワンクリックで切り替えるツール

さて、環境ごとにhostsの中身をコメントアウトしたり、コメントアウトを外したりするのはちょっと大変です。また、複数のメンバーで開発を行うときは開発環境をばら撒く必要があるので、それぞれ設定してね。も良いですが、hostsファイルごとばら撒けて、ワンクリックで切り替えができると、とても素敵です。

その場合は、「SwitchHosts」というツールを使用することで実現することができます。

サイトからダウンロードすることができます。

ダウンロードしたexeを実行します。

SwitchHostsインストールファイル

「現在のユーザーのみにインストールする」をチェックして、次へボタンを押します。

SwitchHostsセットアップ

デフォルトのまま、インストールボタンを押します。

SwitchHostsセットアップ先

「SwitchHostsを実行」のチェックは外します。これは、管理者権限で実行する必要があるからです。

SwitchHostsセットアップ完了

ディスクトップにアイコンが作成されるため、少し細工をします。

SwitchHostsアイコン

アイコンの上で右クリックをします。プロパティをクリックします。

SwitchHostsショートカットプロパティ

「詳細設定」ボタンをクリックします。

SwitchHostsショートカットプロパティ

「管理者として実行」チェックを入れて、OKボタンを押します。プロパティ画面でもOKボタンを押します。

SwitchHostsショートカットプロパティの管理者として実行

SwitchHostsアイコンダブルクリックします。初期設定を行います、赤枠のアイコンをクリックします。

SwitchHosts

Preferencesをクリックします。

SwitchHosts Preferences

LanguageをEnglishに変更します。ThemeはDarkにすると目に優しいです。Writemodeは上書きにします。ChoicemodeはSingleにします。singleは切り替えイメージです。

SwitchHosts Preferences初期設定

+ボタンで切り替えるhostsを追加します。

SwitchHosts hosts追加

titleを入力します。

SwitchHosts hosts追加タイトル

それぞれのhostsにホストとipアドレスを記述します。

SwitchHosts 切り替え方法

設定後は、インジゲーターの矢印(①)をクリックします。赤枠のアイコン(②)をクリックすると先ほど設定したhosts一覧表示されワンクリックで切り替えることができます。(③)

SwitchHosts 切り替え方法