質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

  • DNS

    374questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

hostsについての解釈

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 915

mint.cherry

score 278

一通りDNSの勉強しました。
hostsは自分の端末のdnsサーバーと思っていいのでしょうか?


以下、例です。
パターン1
PC1でabc.comドメインのwebページを作りました。
PC1のブラウザで確認するため、abc.comと打ちました。
PC1はまずhostsを確認してなかった場合に上位のDNSに問い合わせを始めます。
逆にPC1でhostsに「127.0.0.1 abc.com」と記述があれば上位のDNSへ問い合わせずにPC1のwebを表示させます。

パターン2
PC1でabc.comドメインのwebページを作りました。
PC2がPC1のabc.comを見たいという場合にDNSサーバーに問い合わせます。
DNSサーバーにabc.comはPC1IPアドレスです。という情報が書き込まれていた場合PC1に問い合わせが行きます。
PC1はhostsを参照し「127.0.0.1 abc.com」の記述があればabc.comをPC2へ渡します。
逆に記述がなければ、場所がわからずにPC2へ送れなくエラーになる。

このような感じでいいのでしょうか?
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+1

すこし違うと思います。

私は以下の理解でいます。
名前解決の仕組みがhostsでありDNSである。

なお、パターン2にある以下について、
PC1はhostsを参照し「127.0.0.1 abc.com」の記述があればabc.comをPC2へ渡します。
他PCからの問合せに関して、ローカルのhostsにレコードがあっても回答はしません。

hostsはローカルPCが名前解決する際に参照されるものです。

補足として、
PC1はまずhostsを確認してなかった場合に上位のDNSに問い合わせを始めます。
逆にPC1でhostsに「127.0.0.1 abc.com」と記述があれば上位のDNSへ問い合わせずにPC1のwebを表示させます。
名前解決の参照順は以下に設定されています。
/etc/nsswitch.conf 
   hosts: files dns

上記「hosts」に設定されている順番に名前解決を試みます。
デフォルトでは、/etc/hosts を最初に参照して、解決できなかった場合はdnsを参照します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/11/09 18:16

    回答ありがとうございます!!
    hostsはローカルPCでしか対応できないということですか。
    例えば、PC2のhosts「(PC1のIP) abc.com」と記述があれば、dnsへ問い合わせることなく、PC1のabc.comへいってくれるのでしょうか?

    順番の設定も少し気になってはいました。ありがとう御座いますm(__)m

    キャンセル

  • 2015/11/09 18:21

    > 例えば、PC2のhosts「(PC1のIP) abc.com」と記述があれば、dnsへ問い合わせることなく、PC1のabc.comへいってくれるのでしょうか?
    ご認識の通りだと思います。

    キャンセル

  • 2015/11/09 18:28

    返信ありがとうございます。
    認識してたとおりなんですね!ありがとう御座いますm(__)m

    キャンセル

+1

パターン2の場合は、DNSサーバで名前解決が完了してしまっているので、PC2からはPC1のIPアドレスでアクセスします。そのため、PC1のhostsは関係しません。

もっとも、現実問題として、(デフォルトループバック以外で)hostsを設定する必要はインターネットに接続するような運用では、特定のサーバへ繋がないためにローカルで解決しておくような場合を除いてあまりないとは思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/11/09 18:23

    回答ありがとうございます!!

    先にDNSをが完了しているのでhosts関係しないのですね。
    ただDNSの勉強をしていてふと疑問におもっていました。

    キャンセル

+1

概ねその解釈でOKだと思います。
hostsファイルはもともとDNSサーバーがまだない時代に
それぞれのhostコンピューターが他のコンピューターを認識できるようにするための
参照ファイルだったので、
hostsファイルの延長というか拡張が現在のDNSサーバーになったという印象でしょうか。

ただ、hostsファイルを見るかDNSサーバーを見るかはそのhostコンピューターによって
優先順位をつけれたりすると思います。
(たとえば、DNSサーバー自体を内包しているLinuxOSのマシン自体がlocalhostといった場合などです。)
基本的にはいわゆるラウンドロビンとか言われているように、
マッチするまでぐるぐると検索して最初にマッチしたところが引かれるという感じなってます。
ネットワークがうまくつながらなくて、hostsファイルに書く順序を入れ替えたらつながった…とか、
よくありますよね。。。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/11/09 18:06

    回答ありがとうございます。
    DNSのがない時代にhostファイルを参照していたのですね!!初めて知りました。。

    DNSラウンドロビン?
    hostsの順序を入れ替えたらつながったとかよくあるもんなのですか!?(汗)
    まだ、この業界始めたばかりですので、あまり理解ができていませんm(__)m

    キャンセル

+1

127.0.0.1 というのは、ローカル・ループバック・アドレスと呼ばれる特殊なIPアドレスで、そのマシン自身を表します。

PC1,PC2の両方のhostsに「127.0.0.1 abc.com」の記述があるとすると、
PC1でabc.comを宛先にすると、PC1にアクセスされます。
PC2でabc.comを宛先にすると、PC2にアクセスされます。

127.0.0.1は、このように特殊な動きを起こすことを知っておいてください。

ローカル・ループバック・アドレスではないIPアドレスを使って質問を書き直しては如何でしょうか。
何が知りたいのかが、判りかねます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/11/09 17:58

    回答ありがとうございますm(__)m
    127.0.0.1はループバックアドレスというものは知っていました。


    例えば、PC2のhosts「(PC1のIP) abc.com」と記述があれば、dnsへ問い合わせることなく、PC1のabc.comへいってくれるのでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • DNS

    374questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。