ホスト名は、リソースを特定して管理とメンテナンスを簡素化し、ホスト名ベースのリソースアクセス管理 (RAM) ルールを構成する場合などのシナリオでシステムセキュリティを強化するのに役立ちます。 このトピックでは、hostnameコマンドとhostnamectlコマンドを使用してホスト名を指定する方法と、NetworkManagerネットワーク管理サービスを使用してホスト名を指定および管理する方法について説明します。
制限事項
インスタンスはAlibaba Cloud Linux 3オペレーティングシステムを実行します。
hostnameコマンドを実行してクエリを実行し、一時的なホスト名を指定します
hostnameコマンドで指定したホスト名は, システムの再起動時に無効になります。 永続ホスト名を使用するには、/etc/hostnameファイルでホスト名を指定します。
hostnameコマンドを実行して、インスタンスのホスト名を照会します。
hostnamehostnameコマンドを実行して、インスタンスのホスト名を指定します。
この例では、ホスト名は
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 --transienthostnamectlコマンドを使用して、静的ホスト名と一時ホスト名を指定できます。 次の図に示すコマンド出力には、指定した静的ホスト名と一時ホスト名が含まれています。
/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-testhostname-modeをnoneに設定すると、NetworkManagerによるホスト名の管理が無効になります。/etc/NetworkManager/NetworkManager.confファイルを開きます。sudo vim /etc/NetworkManager/NetworkManager.confIキーを押してInsertモードに入り、文字列[main]の下に次の内容を追加します。hostname-mode=none[Esc]キーを押して:wqと入力し、[enter]キーを押して設定ファイルを保存して閉じます。NetworkManagerを再起動して、設定を有効にします。
sudo systemctl restart NetworkManager
systemdサービスを使用してホスト名を指定します。次の構成を
systemdサービスのserviceファイルに追加して、systemdサービスがNetworkManagerより前に起動できるようにします。[Unit] Before=NetworkManager.service