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
ホスト名を設定してください:
/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.conf
domain 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
これは私にとってうまくいきます。