ネットワーク

hostsファイルとは?概要や設定ファイルの場所など詳しく解説します【初心者向け】

こんにちは、フルスタックエンジニアryuです。

今回の記事では、hostsファイルについて解説します。hostsファイルとは、IPアドレスとホスト名を紐づけるファイルです。hostsファイルにIPアドレスとホスト名を記述することで、名前解決を行うことができます。今回の記事では、hostsファイルの概要や設定ファイルの場所、設定方法など詳しく解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

hostsファイルとは?

hostsファイルって何・・・?

今回の記事では、hostsファイルについて詳しく解説します。

hostsファイルとは、IPアドレスとホスト名を紐づけて、PC内で名前解決をするためのファイルです。

どのようなファイルなのかさらに詳しく解説します。今回の記事の内容は以下の通りです。

  • hostsファイルとは?
  • hostsファイルの設定方法
  • hostsファイルの場所は?

では、解説します!

hostsファイルとはPC内で名前解決するためのファイル

hostsファイルとは、IPアドレスとホスト名を紐づけて名前解決をするということを説明しました。

そもそも名前解決とは何なのでしょうか?

名前解決とは、ホスト名からIPアドレスを対応付けることです。例えばWebサイトにアクセスするとき、「https://engineer-ninaritai.com」から名前解決を行い、このサーバーのIPアドレスへ通信します。

名前解決は、Webサイトへのアクセスなどサーバーへアクセスするときに使います。世界中のサーバーの名前解決はDNSサーバーが行っております。

DNSのサーバーの概要はこちらの記事をご覧ください。

【初心者向け】DNSサーバーとは?用途と仕組みを理解しよう! こんにちは、インフラエンジニアのryuです。 今回の記事は、初心者向けにDNSサーバーとは何かについて解説します。 ...

hostsファイルは、名前解決の情報をローカルPC内に設定するファイルになります。

hostsファイルの設定方法

次にhostsファイルの設定方法です。

hostsファイルの中身は以下のようになっています。

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
127.0.0.1       localhost
127.0.1.1       DESKTOP-EOJNUFD.localdomain     DESKTOP-EOJNUFD
<feff>
192.168.0.6     host.docker.internal
192.168.0.6     gateway.docker.internal
127.0.0.1       kubernetes.docker.internal

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
~                          

IPアドレスとホスト名が設定されていることが分かります。

設定方法は、IPアドレスとホスト名を記述するだけなので簡単です。設定を付け加えてみましょう。

192.168.0.10 www.test.com
[IPアドレス]   [ホスト名]

これで設定は完了です。

hostsファイルは手書きで設定変更をする必要があるため、小規模なネットワークでの運用や開発環境などで使用するのがオススメです。

名前解決するサーバーが多い場合はDNSサーバーを構築するようにしましょう。DNSサーバーの構築方法はこちらの記事で解説しています。

【簡単】bindを設定してDNSサーバーを構築する手順解説!

hostsファイルの場所は?

次にhostsファイルの場所について解説します。WindowsとLinuxによってファイルの保存場所が違うので注意しましょう。

windowsのhostsファイルの場所

まずは、windowsのhostsファイルの場所です。hostsファイルの場所は、「C:\Windows\System32\drivers\etc\hosts」です。

[windows]+rをクリックして、ファイル名を指定して実行を開きます。そこに、hostsファイルのパスを入力して「OK」をクリックします。

windowsでhostsファイルを開く

OKをクリックすると、ファイルを開く方法を聞かれるので「メモ帳」を選択しましょう。

メモ帳でhostsファイルを開く

OKを押すとメモ帳でhostsファイルが開きます。

Linuxのhostsファイルの場所

次にlinuxのhostsファイルの場所です。Linuxは「/etc/hosts」がhostsファイルの場所です。

viコマンドを用いてhostsファイルを開いてみましょう。

vi /etc/hosts

hostsファイルは管理者権限で編集が必要なので、管理者ユーザーでログインするか、sudoコマンドを使いましょう。sudoコマンドの使い方は以下の記事で解説しています。

【Linux】sudoコマンドの使い方を解説!管理者権限でコマンドを実行してみよう こんにちは、フルスタックエンジニアのryuです。 今回の記事では、sudoコマンドの使い方を解説します。Linu...

hostsファイルはどのようなときに使うのか

hostsファイルは、さまざまな状況で使用される便利なツールです。

hostsファイルをどのようなときに使うのかを解説します。

テスト用途でのドメインのリダイレクト

ウェブサイトを開発している際、まだ正式なドメインが用意されていない場合があります。

このようなとき、hostsファイルを使用して一時的に仮想的なドメインにアクセスすることができます。これにより、ウェブサイトの動作を確認し、問題を特定することが容易になります。

ウェブフィルタリング

家庭や教育機関などで、特定のウェブサイトへのアクセスを制限する必要がある場合があります。

hostsファイルを使用して、不適切なコンテンツや成人向けのサイトへのアクセスを制御することができます。

ただ、ウェブフィルタリングをhostsで実施する場合は、1台だけのPCや一時的の場合です。複数台のPCを同時にフィルタリングする際などは、proxyサーバーやウイルス対策ソフトを検討しましょう。

hostsファイルを使うメリット

hostsファイルを使うメリットは、以下のようなものがあります。

  • 個々のコンピュータでのみ有効なカスタマイズが可能。
  • ネットワーク接続がない状況でもドメイン名の解決が可能。
  • ローカル環境でのテストや制御が容易。
  • DNSに比べて反映速度が速い

hostsファイルを使用する際は、目的やメリットを考慮して適切な方法を選択することが重要です。

hostsファイルとは?まとめ

今回の記事ではhostsファイルについて解説しました。まとめると以下のようになります。

  • hostsファイルとはIPアドレスとホスト名を紐づけるファイル
  • IPアドレスとホスト名を記述して設定する
  • WindowsとLinuxのhostsファイルの場所はそれぞれ違う

hostsファイルはたまに使うことがあるので、覚えておくと便利です!

さらにLinuxなどのインフラを学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

入門から中級まで初心者でもわかりやすく学習を進めることができます。

↓InfraAcademyの講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

インフラエンジニアに必要な知識が学習できます。

InfraAcademyで学習を始める

参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST