ICT

IPアドレスとホスト名(FQDN)の対応付けを書く hosts ファイル

投稿日:2018年12月24日 更新日:

現在使われているパソコン(以下、コンピューターと書きます)には、hosts というファイルが1つ存在しています。

1. ホスト名に対応するIPアドレスを取得するためのDNS

例えば、あるコンピューター上のウェブブラウザで https://www.yahoo.co.jp/ という URL にアクセスするとしましょう。この時、そのコンピューターでは以下の処理が行われます。

  1. DNS(名前解決)という仕組みを使って、www.yahoo.co.jp というホスト名 (FQDN) を持つサーバーの IPアドレスを調べます。
  2. IPアドレスが取得できました。
  3. https というプロトコルで そのIPアドレスのサーバーにアクセスします。

1 と 2 の処理は、https 以外の ftpsmtp(メール送信) といったプロトコルでも同じです。まず、アクセス先であるサーバーの IPアドレスが分からないことには、どのプロトコルであろうとアクセスすることができないのです。

そして、この「ホスト名に対応するIPアドレスを取得するシステム」が DNS (Domain Name System) です。

www の部分のみを「ホスト名」と呼ぶこともあります。この www と、ドメイン名である yahoo.co.jp をあわせたものを FQDN (Fully Qualified Domain) と呼びます。しかし、FQDN のことをホスト名と呼ぶことも多いです。

コンピューターのネットワーク設定の中には、「DNSサーバー」という項目があり、そこにセットしたサーバーに「○○○というホスト名に対応するサーバーのIPアドレスを教えて下さい」と尋ねることになっています。

DNSサーバーの設定
DNSサーバーの設定

しかし、これでは不便な時もあります。

例えば、独自ドメインを割り当てて使っているサーバーを引っ越す場合などに、ホスト名とIPアドレスの対応付けを自分で切り替えたい状況が発生します(あくまで、ローカル環境内での話しです)。

2. hosts ファイルとは?

このような時に使えるのが、hosts ファイルです。

このファイルには、ホスト名とIPアドレスの対応付けを書くのですが、コンピューターは DNS よりもこちらのファイルの内容を優先してくれるのです。

先程の https://www.yahoo.co.jp/ という URL にアクセスする例でいうと、以下の処理に変更されます。

  1. hostsファイルの中から、www.yahoo.co.jp というホスト名 (FQDN) に対応する IPアドレスを調べます。
  2. IPアドレスが取得できました。
  3. https というプロトコルで そのIPアドレスのサーバーにアクセスします。

と、これだけのことなんですが、いざという時に知っていると便利です。

3. hostsファイルの場所

hostsファイルは以下の場所にあります。

 
OS hostsファイルの場所
Windows 10 / 8 / 7 / Vista / XP C:\WINDOWS\system32\drivers\etc\hosts
Mac OS X / Linux /etc/hosts/

管理者権限がないと編集できません。

Windows 10 の場合、以下のようにファイルを開きます。

(1) スタートメニューを開き、”メモ帳” と入力します。

(2) メモ帳が現れるので、右クリックして [管理者として実行] を選択します。

メモ帳がを開く
メモ帳がを開く

(3) [ファイル]メニュー – [開く] を選択します。

[ファイル]メニュー - [開く] を選択します
[ファイル]メニュー – [開く] を選択します

(4) ファイルを開くためのウィンドウが表示されるので、hostsファイルを指定して開きます。

  • C:\WINDOWS\system32\drivers\etc を開きます。
  • [すべてのファイル(.)] を選択します。
  • hostsファイルを選択します。
  • [開く]ボタンをクリックします。

4. hostsファイルの記述

hostsファイルにおける、「ホスト名とIPアドレスの対応付け」は、1行毎に「IPアドレス」、「スペース」、「ホスト名」という順番で記述します。

IPアドレス ホスト名

実際には、こんな感じになります。

183.181.xxx.10  foo.example.com
183.181.xxx.11  bar.example.com

※ ‘xxx’ のところも、実際は数字になります。

PowerShell やコマンドプロンプトで、ping ホスト名 を実行すると、どんな IPアドレスが対応付けられているか確認することができます。

ping でIPアドレスをチェックする
ping でIPアドレスをチェックする

5. おわりに

本ページには書いていない hostsファイルの活用方法を、特定のウェブサイトを見られなくする方法(ペアレンタルコントロール) で紹介しています。こちらも是非ご覧ください。

📂-ICT

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Mac

Macの便利なショートカットキー

私がよく使う OS X の便利なショートカットキーを紹介します。 目次1. 基本的なショートカットキー2. ウィンドウの操作3. Finder での操作4. カーソル移動5. スクリーンショットを撮る …

プライバシー

サービスによって異なるユーザー名を使用する

セキュリティの観点から「サービスによって異なるパスワードを使いましょう」という話しはよく聞きますが、プライバシー保護 の観点から、ユーザー名もそれぞれ別にすることが望ましいと思っています。というのは、 …

KeePass の使い方

パスワード管理ツールである KeePass について説明します。 スポンサードリンク 目次1. KeePass についてKeePassには、2つのエディションがある2. インストール方法3. 準備作業 …

ICTリテラシー

SI接頭辞と2進接頭辞

目次1. はじめに2. SI接頭辞と2進接頭辞の対応表3. SI接頭辞が使われている例4. 2進接頭辞が使われている例 1. はじめに 単位に関する接辞としてよく使われるものに、SI接頭辞があります。 …

no image

パソコントラブルが起きたときの対応方法

目次OS が起動しない(BIOSの画面は表示する)BIOS も表示しない普通に使えるっぽいが、なんだか動作がおかしいパソコンに液体をこぼした参考になるサイト OS が起動しない(BIOSの画面は表示す …