グローディアのサービス一覧はこちら
 

hostsファイルとは?初心者目線で解説します!

こんにちは。IT未経験で入社した梶田と申します。
違う業界から転職してきたので、初めはわからないことだらけでした。
しかし、今は数か月たち、以前よりは少し進歩していると自負しております。

というわけで、本日はhostsファイルについての記事を書かせていただきます。
ブログ初作成なので、温かい目で見ていただけると幸いです。

「hostsファイル」という単語を初めて聞いたときに、私も何ぞやと思いましたが、まず何をするものなのでしょうか?
hostsファイルを語るうえで、知っておいたほうが良い基礎知識があるので、いくつか説明します。


基礎知識

IPアドレス

IPアドレスとは、簡単に言うと、コンピュータの住所のことです。

数字の羅列の住所のようなものです。
私たちも、私生活で家があり、住所がありますよね?

例えば、好きなアイドルにファンレターを送りたい場合に、事務所の住所がわからないとどこに送っていいのかわかりません。
また、違うところに送られて違う人に届いたりしたら大変です。ファンレターに込めた思いが無駄になります。

そうならないように、ファンクラブのHPには、ファンレターの送り先の住所が記載されていますよね?
コンピュータの場合も同様で、データのやり取りをする際に、住所がわからないと送れないわけです。
なので、コンピュータも住所が数字の羅列で表されているのです。

ドメイン名

ドメイン名とは、インターネット上に存在するコンピュータやネットワークを識別するための名前です。

例えば、先ほどIPアドレスの説明をしましたが、172.217.25.206のように、数字の羅列だけだとわかりずらいですよね?
私たちからすると、「google.com」のように文字の羅列のほうがなじみがありますね。
好きなアイドルも、フルネームよりかは、あだ名や下の名前などで呼ぶ方が多いと思います。

DNS(Domain Name System)

DNSは、IPアドレスと、ドメイン名の紐づけをしてくれるシステムです。

先ほど、ドメイン名の話をしましたが、コンピュータからすると、IPアドレスしか識別ができないのです。
なので、ドメイン名で、どれかのコンピュータを指定しても、コンピュータにはどこに行けばいいのかわからないのです。
先ほどのファンレター届かない問題が発生します。
なので、うまくこの2つの紐づけをしてくれる仲介役が必要なのです。


例えば、あるK-POPアイドルのファンと、ファンではない人を例に挙げます。
ファンは当たり前のように専門用語を使います。


「あのグループのマンネかっこいいね」と私(K-POPファン)が言うとします。
皆さんには何のことかわかりますか?わかった方は私と仲間です。
しかし、K-POPファンではない人にはわからないわけです。
ここで、仲介役となるK-POPに詳しい人が来たとします。その人が、「マンネ=末っ子って意味だよ」と教えてくれるとわかりやすく、話も理解できますよね?


話を戻しますと、DNSは、IPアドレスと、ドメイン名を紐づけてくれる、仲介役のようなシステムです。
仲介役の存在は、我々の業界でも重要ですね。IT業界の専門用語も難しいです…。

DNSサーバ

ここの説明は簡単です。「IPアドレスと、ドメイン名を紐づけ」をメインに行っているサーバ。それだけです。

ホスト名

ネットワーク上で、コンピュータを識別するためのにつけるコンピュータの名前のことです。
ドメイン名と混乱するかもしれませんが、正確に言うと、ドメイン名は、ネットワークを特定するための名前です。
そして、ホスト名は、ネットワーク上のコンピュータを特定するための名前です。


「www.xxxx.jp」というドメイン名があるとします。
この場合は、「xxxx.jp」という組織の「www」という端末を表しています。
ドメイン名がグループ名で、ホスト名がメンバーの名前という感じですかね。


基礎知識を抑えたところで、本題に戻ります。

hostsファイルとは?

まず、読み方は「ホスツファイル」です。これはそのままです。
ファイルとついていることから、何かのファイルであることは何となく予想できますね。
一言でいうと、「ホスト名とIPアドレスの対応を書いておくファイル」です。
「このホスト名が入力されたら、このIPアドレスになるよ」というような内容が書かれています。


このような対応をしてくれるシステムが先ほど出てきましたね。
そうです。DNSと同じような役割になります。
DNSとの違いはひとまず置いておいて、何者かはわかりましたね。

hostsファイルとDNSの違い

では、何が違うのでしょうか?
それは、範囲です。
hostsファイルの範囲:対象のファイルが設置されている機器のみです。
DNSの範囲:ネットワークにつながっている機器全体です。


例えば、Aサーバのhostsファイルを変更しても、ほかのコンピュータには適用されないというような感じです。
さらに、hostsファイルはDNSよりも先に参照されます。
なので、参照するサーバを変更する際は、hostsファイル→DNSの設定の順で変更しましょう。

なぜhostsファイルを修正するのか

なぜ、DNSではなく、hostsファイルを修正する必要があるのでしょうか?
それは、先ほども言ったように、DNSの影響範囲は、ネットワークにつながっている機器全体だからです。
なので、DNSを変更してしまうと自分以外の機器にも影響が出ます。
なので、個人的にや、狭い範囲でしか利用しないものであれば、hostsファイルを利用することが望ましいです。

hostsファイルの場所

では、どこにhostsファイルがあるのでしょうか?
Windowsでは、バージョンによって違うのかなとも思いました。
しかし、同じ場所にあります。とてもわかりやすいですね。


C:\Windows\System32\drivers\etc\hosts
etcディレクトリ配下に格納されています。
ご自身の端末がWindowsであれば、見てみるのもよいかと思います。
※Macの場合はパスが変わります。

hostsファイルの見方

hostsファイルを見るときは、メモ帳などで開きましょう。


Windowsのスタートメニューをクリックし「アクセサリ」から「メモ帳」を右クリックします。
「その他」から、「管理者として実行」をクリックします。


メモ帳を開いたら、左上の「ファイル」をクリックし、「開く」をクリックします。
先ほどのパス(C:\Windows\System32\drivers\etc\hosts)を下のファイル名に入力し、開くをクリックすると、hostsファイルの中身を開けます。

hostsファイルの書き方

先ほどのやり方でhostsファイルを開いたら、一番下に
「サーバーのIPアドレス [半角スペース] ホスト名(ドメイン名)」
を記入します。


例えば、IPが172.16.xxx.xxxで、ホスト名がws2019のサーバを追加したいとします。
すると、以下のように設定します。
入力したあとは、左上の「ファイル」から、「上書き保存」を押したら完了です。


再起動は不要で、すぐ設定が適応されます。
ドメイン名の場合は、ブラウザでつながるか確認しましょう。
ホスト名と紐づけた場合は、コマンドプロンプトを開き、

#ping ホスト名 で、通信ができるかを確認しましょう。


うまく登録できていないと、以下のようになります。

注意事項

作業が終わった後は、追加したIPは削除しておきましょう。


因みに、これはあまりない事例かもしれませんが、hostsファイルを悪意ある第三者に編集されると、自分では気づかずに危ないサイトに誘導されることがあるので、定期的にhostsファイルをチェックするのが望ましいです。
また、上述した編集方法は設定の一例なので、あくまでご参考程度に使用して頂ければと思います。


いかがでしたでしょうか?
初ブログということもあり、なかなか不慣れな説明になってしまったかもしれませんが、最後まで読んでくださった方に感謝します。
私もまだまだ分からないことは多いので、IT未経験の方が読んでいたら、一緒に頑張りましょう…!
長らく、お付き合いいただきありがとうございました。
では、またお会いしましょう。

※記事の内容は保証はしておりません(執筆時期や実施環境により挙動が変わるものがある為)。
別途検証してご利用いただくことをおすすめいたします。

グローディアのサービス一覧はこちら