【在 Ubuntu 更改主機名稱與網路設定】簡易指南

1. 前言

為什麼要更改 Ubuntu 的主機名稱?

主機名稱在管理伺服器或虛擬機時非常重要,它用於在系統和網路中識別機器。特別是在企業環境或雲端運營多台伺服器或虛擬機時,清晰易懂的主機名稱能提升工作效率和管理的便利性。此外,在伺服器遷移或環境變更時,也經常需要更改主機名稱。

本文將詳細介紹如何在 Ubuntu 中臨時更改主機名稱、如何保持更改在重新啟動後仍然有效,以及如何使用 Netplan 來進行網路設定。

2. 如何確認主機名稱

檢查主機名稱的指令

要確認當前設定的主機名稱,最基本的方法是執行以下指令:

hostname

此命令將顯示當前的主機名稱。如果想查看更詳細的系統資訊,可以使用以下 hostnamectl 指令:

hostnamectl

此指令不僅會顯示主機名稱,還會顯示系統的詳細資訊。例如:

Static hostname: my-hostname
Operating System: Ubuntu 20.04 LTS

這樣,就能完成主機名稱的確認。

侍エンジニア塾

3. 如何臨時更改主機名稱

使用 hostname 指令進行臨時更改

要臨時更改主機名稱,可以使用 hostname 指令。此更改僅適用於當前會話,在重新啟動後,主機名稱將恢復為原來的名稱。因此,這種方法適用於短期測試或在虛擬機中運行的臨時設定。

sudo hostname 新的主機名稱

例如,要將主機名稱臨時更改為 temp-hostname,可以執行以下指令:

sudo hostname temp-hostname

確認臨時更改的主機名稱

要確認主機名稱是否已成功更改,可以再次執行 hostnamectl 指令:

hostnamectl

透過這種方式,可以確保更改已正確應用。但請注意,重新啟動後,主機名稱將恢復為原始名稱。如果想要永久更改主機名稱,請繼續閱讀下一步驟。

4. 如何永久更改主機名稱

使用 hostnamectl 指令進行永久更改

最推薦的永久更改主機名稱的方法是使用 hostnamectl 指令。此方法可以確保更改在系統重新啟動後仍然有效。

sudo hostnamectl set-hostname 新的主機名稱

例如,要將主機名稱更改為 my-new-hostname,可以執行以下指令:

sudo hostnamectl set-hostname my-new-hostname

直接編輯 /etc/hostname 檔案

另一種永久更改主機名稱的方法是直接編輯 /etc/hostname 檔案。

  1. 使用文字編輯器打開 /etc/hostname 檔案。
sudo nano /etc/hostname
  1. 將現有的主機名稱替換為新的主機名稱。
my-new-hostname
  1. 儲存並關閉檔案後,重新啟動系統。
sudo reboot

編輯 /etc/hosts 檔案

更改主機名稱後,請務必確認 /etc/hosts 檔案是否已更新,確保新名稱能夠正確解析。

127.0.1.1 my-new-hostname

這樣可以確保系統能夠正確識別新的主機名稱。

5. 使用 Netplan 進行網路設定變更

什麼是 Netplan?

Netplan 是 Ubuntu 用來管理網路設定的工具,特別適用於伺服器和虛擬機環境。它可以幫助自動化大規模網路配置,並統一管理主機名稱與網路設定,對於複雜的網路環境特別實用。

使用 Netplan 更改主機名稱與網路設定

  1. 編輯 Netplan 設定檔。
sudo nano /etc/netplan/50-cloud-init.yaml
  1. 在設定檔中加入主機名稱與網路設定。
network:
    ethernets:
        ens33:
            addresses:
            - 192.168.1.100/24
            gateway4: 192.168.1.1
            nameservers:
                addresses:
                - 8.8.8.8
                - 8.8.4.4
    version: 2
    hostname: my-new-hostname
  1. 儲存後,使用以下指令套用 Netplan 設定。
sudo netplan apply

故障排除(Troubleshooting)

如果在應用 Netplan 設定時發生錯誤,可以使用以下指令顯示除錯資訊,確認錯誤的詳細內容。

sudo netplan --debug apply

如果出現錯誤訊息,通常是因為設定檔的語法錯誤或網路設定不正確。建議在應用 Netplan 設定前先備份原始設定檔,以便在發生錯誤時還原。

6. 安全性考量

更改主機名稱後,可能會影響 SSH 連線或防火牆設定,因此請務必確認安全性配置。例如,在更改主機名稱後,請檢查 /etc/hosts 檔案是否已正確更新,確保防火牆規則未受影響。如果您的伺服器依賴於 SSH 連線,請檢查 SSH 設定,以確保連線正常運作。

7. 總結

在 Ubuntu 中更改主機名稱的方法主要分為臨時更改與永久更改兩種。對於短期測試或臨時變更,可使用 hostname 指令,而推薦的永久更改方法則是使用 hostnamectl 指令。此外,透過 Netplan,可以統一管理主機名稱與網路設定,這對於管理複雜的網路環境非常有幫助。

更改主機名稱後,請務必檢查 /etc/hosts 檔案、防火牆規則以及 SSH 設定,以確保系統正常運作。