ホスト名とドメイン名を正しく設定するには?

ホスト名とドメイン名を正しく設定するには?

Ubuntu 16.04を実行している会社でサーバーをリースしました。名前をcompany.orgとします。

現在、私のサーバー構成は次のとおりです。

  • CPU名:server737263
  • ドメイン名:company.org

私のFQDNは次のとおりです。

user@server737263:~ $ hostname --fqdn
server737263.company.org

これは驚くべきことではありません。

私もドメイン名を借りて名前を付けましたdomain.org。私がしたいことはサーバー名をserver1.domain.org

これは、私のホスト名をに設定し、server1私のドメイン名をに設定することを意味しますdomain.org

どうすれば正しくできますか?

実際、マンページはhostname明確ではありません。少なくとも私にとって:

ホスト名(1)

[...]

名前設定

  • 1つの引数または--fileオプションを指定して呼び出されると、これらのコマンドはホスト名またはNIS / YPドメイン名を設定します。ホスト名はsethostname(2)関数を使用し、3つのドメイン名ypdomainnameとnisdomainnameは両方ともsetdomainname(2)を使用します。 これは、次回再起動するまでのみ機能します。永久に変更するには、/etc/hostname を編集します。

[...]

完全修飾ドメイン名

  • ホスト名またはdnsdomainnameを使用してFQDNを変更することはできません。

[...]

編集だけでは/etc/hostname足りないと思いますか?ホスト名が実際に変更されると、FQDNも変更されるためです。また、コマンドを使用してホスト名を変更するトリックを読みましsysctl kernel.hostname=server1たが、これが正しい方法なのか醜いトリックなのかはわかりません。

だから:

  1. ホスト名を設定する正しい方法は何ですか?

  2. ドメイン名を設定する正しい方法は何ですか?

ベストアンサー1

ホスト名を設定してください:

  • /etc/hostname新しいホスト名で編集する必要があります。

  • それからsudo hostname $(cat /etc/hostname)

バイナリがあるとし、ドメインを設定しますresolvconf

  • では、then行(FQDNではなくドメイン名のみを追加)を/etc/resolvconf/resolv.conf.d/head追加します。domain your.domain.name

  • 次に、実行sudo resolvconf -uして更新します/etc/resolv.conf(または以前の変更をコピーしてください/etc/resolv.conf)。

そうでない場合は、その行をresolvconf編集して追加するだけです。/etc/resolv.confdomain your.domain.name

どちらにしても:

最後に/etc/hostsファイルを更新してください。 IP(ループバックかどうか)、FQDN、およびホスト名のいずれかで始まる行が少なくとも1つ必要です。 ipv6アドレスを確認すると、ホストファイルは次のようになります。

127.0.0.1 localhost
1.2.3.4 service.domain.com service

コメント内の多数の提案に対する回答hostnamectl:必須でも完全でもありません。

オペレーティングシステムがsystemdに付属している場合は、手順1と2の代わりに使用できます。上記の手順は、systemdの存在(pclinuxos、devuanなど)に関係なく有効です。

おすすめ記事