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

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

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など)に関係なく有効です。

答え2

sudo nano /etc/ホスト名

hostname.domain.com

sudo nano/etc/hosts

127.0.0.1   hostname.domain.com hostname localhost

再起動!

/etc/hosts ファイルの FQDN の後には単一のホスト名が必要です。 Ubuntu 18.04.1および他のすべてのバージョンでうまく動作します。 EC2と他の場所で。

ファイルの解析などを台無しにする必要はありません。

これにより、ホスト名がシェルに表示され、必要に応じてFQDNが表示されます。

答え3

Ubuntu 18.04.3 LTS(Bionic)用に書かれたガイドライン

ホスト名の変更:

sudo hostnamectl set-hostname server1

以下を実行して結果を確認しますhostnamectl

root@www:/# hostnamectl
   Static hostname: server1       <-- Check this value
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 202c4264b06d49e48cfe72599781a798
           Boot ID: 43654fe8bdbf4387a0013ab30a155872
    Virtualization: xen
  Operating System: Ubuntu 18.04.3 LTS
            Kernel: Linux 4.15.0-65-generic
      Architecture: x86-64

新しいネットワーク管理者を介してドメインを変更し、ネットワーク計画、パラメータを編集し/etc/netplan/01-netcfg.yamlて変更するsearch

sudoedit /etc/netplan/01-netcfg.yaml

構成例:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      nameservers:
          search: [ domain.org ]

2番目にログインしてsudo netplan tryセッションの1つで実行し、別のセッションで設定を確認して変更をテストします。

# netplan try
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration


Changes will revert in  97 seconds
Configuration accepted.
# systemd-resolve --status
...
Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
          DNS Domain: domain.org      <-- Check this value
# cat /etc/resolv.conf
...
nameserver 127.0.0.53
options edns0
search domain.org    <-- Check this value
# hostname -f
server1.domain.org

すべてが正常です。sudo netplan try永久に保存するには、プロンプトでEnterキーを押します。

答え4

私のドメインエントリをファイルとファイルを編集する必要があるようにmyhome.local変更しました。私のファイルは次のようになります。myhome.lan/etc/hosts/etc/network/interfaces/etc/hosts

127.0.0.1   localhost
192.168.3.2 server.myhome.lan   server

私の/etc/network/interfacesファイルは次のようになります。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp2s0
iface enp2s0 inet static
    address 192.168.3.2
    netmask 255.255.255.0
    network 192.168.3.0
    broadcast 192.168.3.255
    gateway 192.168.3.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.3.1
    dns-search myhome.lan

これは私にとってうまくいきます。

関連情報