ホスト名は、リソースを特定して管理とメンテナンスを簡素化し、ホスト名ベースのリソースアクセス管理 (RAM) ルールを構成する場合などのシナリオでシステムセキュリティを強化するのに役立ちます。 このトピックでは、hostnameコマンドとhostnamectlコマンドを使用してホスト名を指定する方法と、NetworkManagerネットワーク管理サービスを使用してホスト名を指定および管理する方法について説明します。
制限事項
インスタンスはAlibaba Cloud Linux 3オペレーティングシステムを実行します。
hostnameコマンドを実行してクエリを実行し、一時的なホスト名を指定します
hostnameコマンドで指定したホスト名は, システムの再起動時に無効になります。 永続ホスト名を使用するには、/etc/hostname
ファイルでホスト名を指定します。
hostnameコマンドを実行して、インスタンスのホスト名を照会します。
hostname
hostnameコマンドを実行して、インスタンスのホスト名を指定します。
この例では、ホスト名は
alinux-dev-test
に設定されています。sudo hostname alinux-dev-test
hostnamectlコマンドを実行して照会し、hostnamesを指定します
hostnamectl
コマンドを実行して、ホスト名に関する情報を指定または表示できます。 systemd-hostnamed
サービスを使用して、ホスト名を変更できます。 systemd-hostnamed
は、バックグラウンドでホスト名を管理するサービスコンポーネントです。
hostnamectl
コマンドを実行してホスト名を照会します。# Query the static hostname. hostnamectl --static # Query the temporary hostname. hostnamectl --transient
次の図に示すサンプルのコマンド出力には、照会したホスト名が含まれています。
hostnamectl
コマンドを実行して、ホスト名を指定します。ホスト名を指定します。
この例では、ホスト名は
alinux-dev-test
に設定されています。sudo hostnamectl set-hostname alinux-dev-test
静的ホスト名と一時ホスト名を照会します。
hostnamectl --static hostnamectl --transient
hostnamectl
コマンドを使用して、静的ホスト名と一時ホスト名を指定できます。 次の図に示すコマンド出力には、指定した静的ホスト名と一時ホスト名が含まれています。/etc/hostname
ファイルを表示します。cat /etc/hostname
次の図は、
/etc/hostname
ファイルに保存された最新の静的ホスト名を示しています。
(重要) NetworkManagerを使用したホスト名の指定と管理
NetworkManagerは、ネットワーク接続を構成するときに、ネットワークインターフェイスに関連するホスト名設定を管理します。 NetworkManagerを使用してネットワーク接続設定を変更すると、NetworkManagerはsystemd-hostnamed
コンポーネントにdbus
インターフェイスを使用してホスト名設定を変更するよう通知します。
NetworkManagerは、NetworkManager.conf
ファイルでhostname-mode
パラメーターをdefaultまたはdhcpに設定することで、一時的なホスト名を指定および管理します。 次の表に、hostname-mode
パラメーターの有効な値を示します。
値 | 説明 |
default | デフォルト値です。
|
dhcp |
|
none | NetworkManagerは、一時ホスト名を指定または管理しません。 |
例
NetworkManagerのホスト名管理システムとの競合を防ぐために、次のいずれかの方法を使用してホスト名を指定できます。
(推奨事項) hostnamectlコマンドを実行して静的ホスト名を指定します。 この例では、ホスト名はalinux-dev-testに設定されています。
sudo hostnamectl set-hostname alinux-dev-test
hostname-mode
をnoneに設定すると、NetworkManagerによるホスト名の管理が無効になります。/etc/NetworkManager/NetworkManager.conf
ファイルを開きます。sudo vim /etc/NetworkManager/NetworkManager.conf
I
キーを押してInsertモードに入り、文字列[main]
の下に次の内容を追加します。hostname-mode=none
[Esc]
キーを押して:wq
と入力し、[enter]
キーを押して設定ファイルを保存して閉じます。NetworkManagerを再起動して、設定を有効にします。
sudo systemctl restart NetworkManager
systemd
サービスを使用してホスト名を指定します。次の構成を
systemd
サービスのservice
ファイルに追加して、systemdサービスがNetworkManagerより前に起動できるようにします。[Unit] Before=NetworkManager.service