こんにちは。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未経験の方が読んでいたら、一緒に頑張りましょう…!
長らく、お付き合いいただきありがとうございました。
では、またお会いしましょう。