Windows hostsファイルを変更する方法
Windowsでホストの名前解決を行うHostsファイルの変更方法及び複数のHostsファイルを切り替えるツールの使用方法を解説(Webサイトの開発にはよく使います)
Hostsファイルについて
通常は、DNSサーバーがホスト名やドメイン名(xxxxx.com)をIPアドレスに変換しますが、DNSサーバーに登録する必要があります。恒久的な対応の場合は、DNSサーバーを構築したり、既存のDNSサーバーに登録したほうがよいですが、Webシステム開発などで、開発環境、ステージング環境、本番環境と環境(IPアドレスが異なるがURLが同じ場合)が異なる場合そうもいきません。本番と同様のURLで検証する必要があるので、そういうときはHostsファイルを利用して名前解決します。
※hostsファイルを使ってIPアドレスをすげ替えというイメージです。
インターネット上のネームサーバーに登録されているIPアドレスは、基本的にはhostsには書きません。すべてコメントアウト(先頭に#を付加)することで、アクセスすることができます。
これは、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ファイルは、管理者権限でなければ上書きすることができないので、メモ帳を管理者権限で起動します。
- 虫眼鏡アイコンをクリックします。(①)
- 検索欄に「memo」と入力します。(②)
- メモ帳を右クリックしてメニューを表示させます。(③)
- 管理者として実行をクリックします。(④)
①虫眼鏡アイコンをクリックします。
「C:\Windows\System32\drivers\etc\hosts」に移動します。ファイルの拡張子(赤枠)は、すべてのファイル(*.*)に変更します。
hostsファイルを選択します。
ファイルを修正します。ホスト名&ドメイン名と紐づけるIPアドレスを追加します。
ホスト名[半角空白]ipアドレスの形式記述します。
記述後は、「ctrl+s」 or 上書き保存で保存します。念のため保存の前にhostsファイルをバックアップしておくことをお勧めします。hosts.bkなどにしておく。
サンプル
# 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ファイルをワンクリックで切り替えるツール
さて、環境ごとにhostsの中身をコメントアウトしたり、コメントアウトを外したりするのはちょっと大変です。また、複数のメンバーで開発を行うときは開発環境をばら撒く必要があるので、それぞれ設定してね。も良いですが、hostsファイルごとばら撒けて、ワンクリックで切り替えができると、とても素敵です。
その場合は、「SwitchHosts」というツールを使用することで実現することができます。
サイトからダウンロードすることができます。
ダウンロードしたexeを実行します。
「現在のユーザーのみにインストールする」をチェックして、次へボタンを押します。
デフォルトのまま、インストールボタンを押します。
「SwitchHostsを実行」のチェックは外します。これは、管理者権限で実行する必要があるからです。
ディスクトップにアイコンが作成されるため、少し細工をします。
アイコンの上で右クリックをします。プロパティをクリックします。
「詳細設定」ボタンをクリックします。
「管理者として実行」チェックを入れて、OKボタンを押します。プロパティ画面でもOKボタンを押します。
SwitchHostsアイコンダブルクリックします。初期設定を行います、赤枠のアイコンをクリックします。
Preferencesをクリックします。
LanguageをEnglishに変更します。ThemeはDarkにすると目に優しいです。Writemodeは上書きにします。ChoicemodeはSingleにします。singleは切り替えイメージです。
+ボタンで切り替えるhostsを追加します。
titleを入力します。
それぞれのhostsにホストとipアドレスを記述します。
設定後は、インジゲーターの矢印(①)をクリックします。赤枠のアイコン(②)をクリックすると先ほど設定したhosts一覧表示されワンクリックで切り替えることができます。(③)