手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 ホスト名の設定 – hostnamectl と /etc/hosts を使う

Ubuntu 22.04 でホスト名を設定する手順です。hostnamectl で静的ホスト名を変更し、必要に応じて /etc/hosts に自分自身の名前解決を追加します。

ホスト名は、ログ、監視、バックアップ、構成管理、SSH 接続先、証明書の名前、Kubernetes のノード名などに関係します。あとから変更すると影響範囲が広がるため、短縮名と FQDN の関係を決めてから設定します。

関連する記事
この記事で確認すること
  • 静的ホスト名と FQDN の関係
  • hostnamectl による変更
  • /etc/hosts で自分自身の名前解決を補う方法
  • hostnamehostname -fgetent hosts による確認
参考
書籍
参考書籍

ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

ホスト名で決めること

まず、短縮名と FQDN を分けて考えます。短縮名はサーバー単体の識別名、FQDN は DNS ドメインを含む完全な名前です。

項目用途
短縮名ubuntu-1ログやプロンプト、監視上の表示名
FQDNubuntu-1.example.comDNS、証明書、サービス設定で使う名前
hosts の自己解決127.0.1.1 ubuntu-1.example.com ubuntu-1DNS に頼らず自分自身の名前を解決する補助

現在のホスト名を確認する

変更前に、現在のホスト名、FQDN、hostnamectl の状態を確認します。

hostname
hostname -f
hostnamectl status --no-pager
cat /etc/hostname

ホスト名を変更する

hostnamectl set-hostname で静的ホスト名を設定します。ここでは短縮名を ubuntu-1 としています。

sudo hostnamectl set-hostname ubuntu-1
hostname
hostnamectl status --no-pager
cat /etc/hostname

/etc/hosts をバックアップする

/etc/hosts は名前解決に関係するため、変更前にバックアップします。

sudo cp /etc/hosts /etc/hosts.bak.$(date +%Y%m%d%H%M%S)
ls -l /etc/hosts /etc/hosts.bak.* | tail

/etc/hosts に自分自身の名前を追加する

DNS で FQDN を解決できない環境や、ローカルで自分自身の名前を安定して解決したい場合は、127.0.1.1 に FQDN と短縮名を書きます。

sudo tee /etc/hosts >/dev/null <<'EOF'
127.0.0.1 localhost
127.0.1.1 ubuntu-1.example.com ubuntu-1
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
EOF
cat /etc/hosts

FQDN と短縮名を確認する

設定後は hostnamehostname -fgetent hosts を合わせて確認します。

hostname
hostname -f
getent hosts ubuntu-1
getent hosts ubuntu-1.example.com

DNS との関係を確認する

名前解決の順序は /etc/nsswitch.confhosts: 行で確認できます。通常は hosts ファイルと DNS の両方が使われます。

grep '^hosts:' /etc/nsswitch.conf
getent ahosts ubuntu-1.example.com

運用上の注意点

  • ホスト名はサーバー構築の早い段階で決める
  • 証明書や監視に使う名前と食い違わないようにする
  • 複数台で共有する名前は DNS 側で管理する
  • 一時的な検証名を /etc/hosts に残したままにしない
  • Kubernetes やクラスタ製品の導入後は、ノード名変更の影響を確認してから変更する

戻す場合

ホスト名だけを戻す場合は hostnamectl を再実行します。/etc/hosts は取得済みバックアップから戻します。

sudo hostnamectl set-hostname old-hostname
sudo cp /etc/hosts.bak.20260707000000 /etc/hosts
hostnamectl status --no-pager
getent hosts old-hostname

まとめ

Ubuntu 22.04 のホスト名は hostnamectl で設定し、FQDN が必要な場合は /etc/hosts や DNS と合わせて確認します。短縮名、FQDN、名前解決の役割を分けておくと、ログ、監視、証明書、構成管理で名前がぶれにくくなります。

変更後は hostnamehostname -fgetent hosts を確認し、必要に応じて DNS や関連サービスの設定も見直します。

関連する記事
Ubuntu 22.04 ホスト名の設定 – hostnamectl と /etc/hosts を使う

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る