ホスト名 を設定するには、次のように、ホスト名のみを使用してくださいhostnamectl。
hostnamectl set-hostname nodename
(DNS)ドメイン名編集/etc/hostsファイルを設定し、次のことを確認するには:
- そこに線
<machine's primary, non-loopback IP address> <hostname>.<domainname> <hostname>があります
- の他の行はありませんが
<some IP> <hostname>、これには127.0.0.1および::1(IPv6)アドレスを持つ行が含まれます。
NISを使用している場合を除き(none)、domainnameコマンドの実行時の正しい出力であることに注意してください。
DNSドメイン名が正しく設定されているかどうかを確認するには、dnsdomainnameコマンドを使用してhostnamevs hostname -f(FQDN)の出力を確認します。
NISとDNSドメイン
この問題に最初に出会ったとき、私は混乱しました。このdomainnameコマンドは、インターネットの人気よりも前のようです。DNSドメイン名の代わりに、システムのNIS(ネットワーク情報サービス)別名YP(Yellow Pages)ドメイン名(マスターNISサーバーによって提供されるサービスを持つコンピューターのグループ)を表示または設定します。このコマンドは、getdomainname(2)標準ライブラリ関数によって返された名前を単に表示します。(nisdomainnameおよびypdomainnameは、このコマンドの代替名です。)
FQDNまたはDNSドメイン名を表示する
DNS(インターネット)ドメイン名を確認するには、dnsdomainnameコマンドを実行するかhostname、-d, --domainオプションを使用する必要があります。(このdnsdomainnameコマンドはDNSドメイン名を設定するために使用できないことに注意してください-それは表示するためにのみ使用されます。)
システムのFQDN(完全修飾ドメイン名)を表示するにhostnameは、-f, --fqdn, --longオプションを指定して実行します(同様に、このコマンドを使用してドメイン名部分を設定することはできません)。
上記のコマンドは、システムのリゾルバー(gethostbyname(3)POSIXで指定された標準ライブラリの関数によって実装されます)を使用して、DNSドメイン名とFQDNを決定します。
名前解決
RHEL 7などの最新のオペレーティングシステムhostsで/etc/nsswitch.confは、エントリはホスト名の解決に使用されます。CentOS 7マシンでは、この行は次のように構成されています(CentOS 7のデフォルト)。
hosts: files dns
これは、リゾルバー関数がホスト名またはIPアドレスを検索するときに、最初に/etc/hosts ファイル内のエントリをチェックし、次ににリストされているDNSサーバーを試すことを意味し/etc/resolv.confます。
hostname -fホストのFQDNを取得するために実行すると、リゾルバー関数はシステムのホスト名のFQDNを取得しようとします。ホストが/etc/hostsファイルまたは関連するDNSサーバーにリストされていない場合、試行は失敗し、そのことがhostname報告されName or service not knownます。
場合はhostname -d、ドメイン名を取得するために実行され、同じ操作が行われ、ドメイン名の部分は、ホスト名部分とFQDNから最初のドットをストリッピングすることにより決定されます。
ドメイン名を構成する
1.関連するDNSネームサーバーを更新する
私の場合、ローカルLANのDNSサーバーに新しいCentOS 7マシンのエントリを既に追加していたので、or オプションで/etc/hosts実行hostnameしたときにファイルにFQDNが見つからなかった場合、ローカルDNSサービスは次のことができました。新しいホスト名のFQDNを完全に解決します。-d-f
2. /etc/hostsファイルを使用する
DNSサーバーが構成されていない場合は、完全修飾ドメイン名を/etc/hostsファイルで指定できます。これを行う最も一般的な方法は、システムのプライマリIPアドレスを指定し、その後にFQDNと短いホスト名を指定することです。例えば、
172.22.0.9 nodename.domainname nodename
hostnameマニュアルページからの抜粋
hostnameまたはでFQDNを変更することはできませんdnsdomainname。
FQDNの推奨される設定方法は、/etc/hosts,DNSまたはNIS を使用して、ホスト名を完全修飾名のエイリアスにすることです。たとえば、ホスト名が「ursula」の場合、次の行が表示される場合が/etc/hostsあります。
27.0.1.1 ursula.example.com ursula
技術的には:FQDNは、gethostname(2)によって返されるホスト名に対してgetaddrinfo(3)が返す名前です。DNSドメイン名は、最初のドットの後の部分です。
そのため、リゾルバーの構成(通常は/etc/host.conf)によって、変更方法に依存します
。通常、hostsファイルはDNSまたはNISの前に解析されるため、でFQDNを変更するのが最も一般的
/etc/hostsです。
hostname -fコマンドは私のCentOS vmでは動作しません。