こんにちは、フルスタックエンジニアryuです。
今回の記事では、hostsファイルについて解説します。hostsファイルとは、IPアドレスとホスト名を紐づけるファイルです。hostsファイルにIPアドレスとホスト名を記述することで、名前解決を行うことができます。今回の記事では、hostsファイルの概要や設定ファイルの場所、設定方法など詳しく解説します。
目次
hostsファイルとは?
hostsファイルって何・・・?
今回の記事では、hostsファイルについて詳しく解説します。
hostsファイルとは、IPアドレスとホスト名を紐づけて、PC内で名前解決をするためのファイルです。
どのようなファイルなのかさらに詳しく解説します。今回の記事の内容は以下の通りです。
- hostsファイルとは?
- hostsファイルの設定方法
- hostsファイルの場所は?
では、解説します!
hostsファイルとはPC内で名前解決するためのファイル
hostsファイルとは、IPアドレスとホスト名を紐づけて名前解決をするということを説明しました。
そもそも名前解決とは何なのでしょうか?
名前解決とは、ホスト名からIPアドレスを対応付けることです。例えばWebサイトにアクセスするとき、「https://engineer-ninaritai.com」から名前解決を行い、このサーバーのIPアドレスへ通信します。
名前解決は、Webサイトへのアクセスなどサーバーへアクセスするときに使います。世界中のサーバーの名前解決はDNSサーバーが行っております。
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」をクリックします。
OKをクリックすると、ファイルを開く方法を聞かれるので「メモ帳」を選択しましょう。
OKを押すとメモ帳でhostsファイルが開きます。
Linuxのhostsファイルの場所
次にlinuxのhostsファイルの場所です。Linuxは「/etc/hosts」がhostsファイルの場所です。
viコマンドを用いてhostsファイルを開いてみましょう。
vi /etc/hosts
hostsファイルは管理者権限で編集が必要なので、管理者ユーザーでログインするか、sudoコマンドを使いましょう。sudoコマンドの使い方は以下の記事で解説しています。
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」をリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
- 【Linux入門講座1】ディレクトリと相対パス、絶対パス
- 【Linux入門講座2】ファイルの操作方法
- 【Linux入門講座3】ファイルのアクセス権限
- 【Linux入門講座4】ファイルの編集~vimの使い方をマスターする~
- 【Linux入門講座5】ユーザーとグループ
- 【Linux入門講座6】ネットワーク
- さらに講座あり
↓InfraAcademyの講座の一部です。
上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。
インフラエンジニアに必要な知識が学習できます。
参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】