/ etc/hostnameには、myname
があります。
/ etc/hostsには、次のようになっています。
127.0.0.1 localhost.localdomain localhost myname
::1 localhost.localdomain localhost myname
私は実際にホスト名とは何か、それが何のために使われるのかについて漠然と理解しています。
これらのより正確な質問は、それをよりよく理解するのに役立ちます。
上記の例で私のホスト名は本当に何ですか? myname
または何か他に?代わりにmyname.domain.com
に/etc/hostname
があった場合、実際のホスト名はどうなりますか?
この例では、コマンドhostname
はmyname
を返し、コマンドhostname -f
はlocalhost.localdomain
を返します。 /etc/hosts
は名前とIPアドレスの間のマッピングにすぎないことを覚えていました。ここでは別の機能を果たしているようです。 fqdnとは何ですか?何に使用されますか?どのように取得されますか?なぜlocalhost.localdomain
なのですか?
代わりにmyname.domain.com
に/etc/hostname
があった場合、hostname -f
はmyname.domain.com
を返します。どうして?
これらのファイルでfqdnがドットで終わっていないのはなぜですか?
hostname -d
とdnsmydomain
は同等ですか?
ホスト名(myname
)はどのような状況で使用できますか。また、いつfqdn(localhost.localdomain
)を使用する必要がありますか?
/etc/hostname
には、ローカルで実行されるアプリケーションに認識されているマシンの名前が含まれます。 /etc/hosts
およびDNSは、名前をIPアドレスに関連付けます。 myname
は、マシンが自分自身にアクセスできるIPアドレスにマップできますが、127.0.0.1
へのマップは美的ではありません。/etc/hosts
ではなく、/bin/hostname
は-f
を使用して別の機能を提供します。/etc/hosts
は常識を上書きできるため です。慎重に編集してください。一時的なパッチや実験の後で、ゴミをそこに残さないでください。.
[〜#〜] tld [〜#〜].
および⋯.
[〜#〜] tld [〜#〜])は受け入れ可能です。前者は明確ですが、後者はユビキタスです。dnsmydomain
が何であるかわからないが、そうではない。 /etc/hosts
で何かを探すことは、技術的に「DNS」ではありません。localhost.localdomain
などの偽物やプレースホルダーでない場合)-外部からマシンにアクセスするため。FQDNは、使用されている。に答えて
IPが動的(DHCP)であり、時々変更される場合はどうなりますか?/etc/hostsのmynameとしてどのアドレスを使用すればよいですか?
まず、/ etc/hostsは、それがインストールされているホストの名前からアドレスへのマッピングの静的な定義であり、名前をIPアドレスに変換するためにそのホストによってのみ使用されることを指摘しておきます。
したがって、考慮すべき2つの視点があります。ホスト 'myname'と他の全員です。
その「myhost」ホストの場合、「localhost」(/ etc/hostsで127.0.0.1として定義されている)を使用して現在のホストを参照するか、「myname」をlocalhostを定義する/ etc/hosts行に追加して、「myname '常にlocalhostにマップします。そのようです:
127.0.0.1 localhost myname
次に、INTERFACEがどのIPアドレスを取得するかは関係ありません。常に機能するアドレスを持っています(追加のボーナスは、「myname」から「myname」に話すためにハードウェアをヒットする必要がないことです)。
ここで、「myhost」が動的IPアドレスを持っているときに他のホストが「myhost」を見つけられるようにするには、DNSを使用する必要があり、DNSサーバーはDHCP割り当てのマッピングを処理する必要があります。 (そうですね、他にも考えられるソリューションは他にもありますが、頭に浮かぶものはすべて、「愚かなものを超えた」カテゴリであるIMHOに当てはまります。まあ、そうですね、ホストにITにDNSを伝えるためにできることはあります。それがどこにあるか、しかしそれはここで完全に異なる質問/回答ストリームに値する質問です、私見)
マニュアルを読むように言われたら、私は絶対に嫌いですが、この場合は、ホスト名のmanページを確認してください。すべての質問に答える必要はありません。それは私が説明できるよりはるかによく書かれています。
いくつかの支援を提供するために、質問に当てはまる抜粋の一部を以下に示します。-ホスト名は、/ etc/hostsに表示されるものです。 -返されるFQDNはリゾルバーが返すものに基づいているため、リゾルバーが最初にhostsファイルをチェックしてから必要なDNSクエリを実行するときに/ etc/hostsの値が返されるのはなぜですか。
(私自身のマニュアルページの再読み込みに基づく)ホスト名のマニュアルページで触れられていないのは、ファイルのエントリがドットで終わっていない理由です。
この規則は、DNSレコードを処理するときに使用されます。ホスト名とホストファイルは実際にはDNSレコードではありません。これらのエントリをバインドで構成してDNSルックアップを解決する場合は、ドットを使用することができます(この優れたリソースを確認してください: http://www.zytrax.com/books/dns/apa /dot.html )。
また、これらの値はすべてシステムからブロードキャストされるわけではないことに注意してください。したがって、別のシステムにFQDNに基づいてアクセスする場合、そのシステムはその他のシステムのホストファイルに基づいているか、外部システムがFQDNでDNSルックアップに基づいてホストエントリを欠いているため、システム。
/ etc/hostnameおよび/ etc/hosts単純ですが、それほど単純でもありません...
/etc/hostname
および/etc/hosts
1)編集/ etc/hostnameを編集します。
これを設定するには2つの有効な方法があります。
どちらにするか:
machine
、つまり、このプロセッサの1つのWord名。joe
」は自分で選択したマシン名である可能性があります。OR
machine.domain.net
、つまり完全修飾ドメイン名(FQDN)。joe.xyz.com
'。/ etc/hostnameを設定したら、次のステップは、コマンドhostname --all-fqdn
およびdnsdomainname
を取得することです。次のように、この順序で適切に動作します。
2)編集/ etc/hostsを編集します。
このホストの行[〜#〜] fqdn [〜#〜]の行があります。 「machine.domain.net」、このマシンのIPアドレス(動的IPアドレスサーバーからの可能性があります)を前に付けて、次のようにします。
# IP FQDN (CANONICAL_HOSTNAME) ALIASES
#-------------- --------------------------- ------------------------
192.168.1.14 Joe.xyz.com joe
まず、ここで大文字でも小文字でもかまいませんに注意してください。 ヒント:ただし、大文字を使用すると、次のステップでどこから来るのかを知ることができます。だから私は[〜#〜] j [〜#〜] oeを大文字にしました。
また、for _hostname
(つまり/ etc/hostname = 'machine')が正しくFQDNを生成するには、aliasという名前の「machine」が/ etc/hostsに存在している。そのため、エイリアスjoeが存在します。 (ところで、そのエイリアスを使用していなくてもかまいません。)それ以外の場合、このエイリアスは不要であり、使用されません。
また、「domain.net」は解決可能である必要があります。つまり、DNSにA.レコードが存在する必要があります。これは「解決可能」と呼ばれるものです(つまり、DNSリゾルバによる)。
)次のコマンドを実行して、これらの新しい設定を/ etc/hostnameおよび/ etc/hostsからカーネルにインストールします。
$ /etc/init.d/hostname.sh # Or by rebooting
4)テストホスト名
$ hostname # Reports the hostname previously read from in /etc/hostname.
joe
OR
$ 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.
これで、Webおよび電子メールサーバーのセットアップが簡単になります。