ホスト名と/etc/hostsについて

ホスト名と/etc/hostsについて

/etc/hostnameにmyname

/etc/hostsには次のものがあります。

127.0.0.1   localhost.localdomain   localhost myname
::1     localhost.localdomain   localhost myname

ホスト名が実際に何を意味し、どのような用途に使用されるのかがわかりません。

次のより正確な質問は、私がそれをよりよく理解するのに役立ちます。

  1. 上記の例では、私のホスト名は正確に何ですか?mynameそれとも別のものですか?myname.domain.comで変更した場合、/etc/hostname私の実際のホスト名は何ですか?

  2. 例では、command hostnamereturnmynameとcommand hostname -freturnを返しますlocalhost.localdomain。私は、/etc/hosts名前とIPアドレスの間のマッピングだけだと思います。ここにはもう一つの機能があるようです。 FQDNとは何ですか?どのような用途に使用されますか?検索するには?なぜlocalhost.localdomain

  3. myname.domain.com私が入るとまた/etc/hostname戻っhostname -fてきますmyname.domain.com。なぜ?

  4. このファイルのfqdnがドットで終わらないのはなぜですか?

  5. hostname -dと同等ですかdnsmydomain

  6. どのような状況で私のホスト名()を使用できますか、mynameいつ私のFQDN(localhost.localdomain)を使用する必要がありますか?

答え1

  1. /etc/hostnameローカルで実行されているアプリケーションに知られているシステム名を含みます。/etc/hostsDNS は名前を IP アドレスに関連付けます。mynameコンピュータがアクセスできるすべてのIPアドレスにマッピングできますが、マッピングはビューには適していませ127.0.0.1ん。
  2. いいえ/etc/hosts、しかし/bin/hostname他の機能があります-f
  3. なぜなら/etc/hosts常識を超越できる。慎重に編集し、一時パッチや実験後にゴミを捨てないでください。
  4. 2つのスタイル(⋯.トップレベルドメイン.そして….トップレベルドメイン)これは許可されています。前者は明示的ですが、後者は普遍的です。
  5. それが何であるかはわかりませんが、dnsmydomainその可能性はありません。技術的に言えば、DNSで何かを見つける/etc/hostsことは「DNS」ではありません。
  6. 1.ホスト名 - ローカルで実行されているアプリケーションに適用され、SMB(Samba)などの特殊なネットワークプロトコルにも適用されます。 FQDN(偽または同じプレースホルダではない場合localhost.localdomain) - 外部からシステムにアクセスするために使用されます。 FQDNは、使用されている場所で確認できる必要があります。

答え2

/etc/ホスト名そして/etc/ホストとても簡単ですが、それほど単純ではありません...

/etc/hostnameDebian をすばやく設定する方法/etc/hosts

1)編集する/etc/ホスト名

これを設定する有効な方法は2つあります。

次のいずれかを実行します。

  • machine、プロセッサの簡単な1つの単語名です。
    たとえば、 " joe"は選択したシステム名です。
    以下のように、/etc/hostsにエイリアスが必要です。

または

  • machine.domain.net、これは完全修飾ドメイン名(FQDN)です。
    たとえば、' joe.xyz.com'.
    (joe.xyz.comでは、joeという名前のコンピュータにjoeのIPアドレスを指すDNSホスト「A」レコードがあるとします。通常、ドメイン名を購入した場所にこのレコードを設定します。してください。)

一度/etc/ホスト名設定が完了したら、次のステップはコマンドを受け取ることです。hostname --all-fqdnそしてdnsdomainname正常に動作するために、順序は次のとおりです。

2)編集する/etc/ホスト

ホスト用の行があります完全修飾ドメイン名たとえば、「machine.domain.net」などのローカルIPアドレス(動的IPアドレスサーバーのアドレスである可能性があります)がプレフィックスで付けられます。

#   IP           FQDN (CANONICAL_HOSTNAME)   ALIASES
#-------------- --------------------------- ------------------------
192.168.1.14    Joe.xyz.com                 joe
  • まず注意事項大文字、小文字は重要ではありません。ここで。 ヒント:ただし、いくつかの制限を設定すると、次のステップで状況がどこから来るのかがわかります。だから大文字で書いたジェイああ。

  • また参考にしてください簡単にhostname(例: /etc/hostname='machine') FQDN を正しく生成するにはニックネーム/ etc / hostsに "machine"というファイルが必要です。だからエイリアスはジョーお持ちですか? (ただし、このエイリアスを使用しなくても使用できます。)それ以外の場合、エイリアスは不要または使用されません。

  • また、「domain.net」は確認可能でなければなりません。つまり、対応するAレコードがDNSに存在する必要があります。これは…呼ばれる」分析可能'(つまり、DNSリゾルバを介して)。

3)次のコマンドを実行して、/etc/hostnameと/etc/hostsの新しい設定をカーネルにインストールします。

    $ /etc/init.d/hostname.sh       # Or by rebooting

4) テストホスト名

$ hostname      # Reports the hostname previously read from in /etc/hostname.
joe

または

$ hostname
joe.xyz.com

ヒント:

  • これは、/etc/hostnameの現在の内容(今すぐ再編集するかのように)ではなく、/etc/init.d/hostname.shスクリプトが以前に読んだ内容(おそらく再起動の結果)であることに注意してください。

  • また、「j」は小文字なので、/etc/hostsではなく/etc/hostnameから来たことを示します。

5) FQDNテスト

$ hostname --all-fqdn   #reports the FQDN(s) matched in /etc/hosts.
Joe.xyz.com             #  It searches /etc/hosts for the joe in /etc/hostname.
                        #  Notice that the 'J' is uppercase.  
                        #     This suggest it came from /etc/hosts.

6) DNSドメイン名のテスト

$ dnsdomainname         #reports the computed DNS doman name    
xyz.com                 #  (i.e. the right most part of the FQDN; 
                        #    the part to the right of the first, left most, dot)
                        #  This is coming from Joe.xyz.com in /hosts, 
                        #    after 'Joe.' is removed.

これで、ネットワークと電子メールサーバーの設定がはるかに簡単になりました。

答え3

私はマニュアルを読むように言われるのが本当に嫌いですが、この場合はホスト名のマニュアルページを確認し、すべてではなくてもほとんどの質問に答える必要があります。私が説明できるものよりはるかによく書かれています。

お手伝いするために、ご質問に関連するいくつかの抜粋を提供します。 - ホスト名は/ etc / hostsに表示される名前です。 - 返されたFQDNはリゾルバが返す内容に基づいているため、リゾルバは最初にホストファイルを確認してから必要なDNSクエリを実行するため、返された/ etc / hostsの値を表示できます。

私は、ホスト名のマニュアルページに記載されている問題の1つが(マンページを直接読み直したことに基づいて)ファイルのエントリがドットで終わらないとは思いません。

このルールは DNS レコードを処理するために使用されます。ホスト名とホストファイルは実際にはDNSレコードではありません。 DNSルックアップを解決するためにバインドでこれらのエントリを設定する場合は、ドットを使用できます(この素晴らしいリソースを確認してください。http://www.zytrax.com/books/dns/apa/dot.html)。

また、これらの値のどれもシステムでブロードキャストされないことに注意してください。したがって、FQDNに基づいて他のシステムにアクセスできるようにしたい場合は、そのシステムのホストファイルに基づいているか、外部システムがFQDNで実行するDNSルックアップに基づいて欠落しているホストエントリがあります。システムでもう一度解決してください。

答え4

答えとして

私のIPが動的(DHCP)であり、時々変更された場合はどうなりますか? /etc/hostsで私の名前にどのアドレスを使用する必要がありますか?

まず、/ etc / hostsはインストールされたホストへの名前 - アドレスマッピングの静的定義であり、そのホストでのみ名前をIPアドレスに変換するために使用されることを指摘する必要があります。

したがって、考慮すべき2つの観点があります。ホスト「私の名前」とは別の人です。

この 'my​​host' ホストの場合、 'localhost' を使用して現在のホスト (/etc/hosts に 127.0.0.1 と定義されています) を参照するか、localhost を定義する /etc/hosts 行に 'myname' を追加して 'myname'を追加できます。 '常にlocalhostにマップされます。このように:

127.0.0.1 localhostmyname

これにより、インターフェイスにどのIPアドレスが与えられても、常にアドレスを使用できます(「myname」から「myname」と会話するためにハードウェアをクリックする必要がないという追加のボーナスもあります)。

これで、動的IPアドレスがある場合に他のホストが「myhost」を見つけることができるようにするにはDNSを使用する必要があり、そのDNSサーバーはDHCP割り当てマッピングを処理する必要があります。 (うーん、わかりました。私が考えることができる他の解決策がありますが、IMHO私が考えるすべての解決策は「愚かな」カテゴリに属します。他の質問/回答ストリームが必要な質問です。

関連情報