Ubuntu 使用 Netplan 配置 DHCP4 自動獲取 IP 位址

by NickChi

Ubuntu Netplan 配置指南:啟用 DHCP4

什麼是 Netplan?

Netplan 是 Ubuntu 18.04 及更新版本內建的網路管理工具,它允許使用者透過 YAML 格式的配置文件來定義網路介面設定。相較於舊版的 interfaces 文件,Netplan 更具結構化,並且支援 networkdNetworkManager 作為後端。

在這篇文章中,我們將介紹如何透過 Netplan 啟用 DHCP4,讓 Ubuntu 自動獲取 IP 位址。


為什麼要啟用 DHCP4?

dhcp4: true 設定啟用時,Ubuntu 伺服器將會自動從 DHCP 伺服器獲取 IPv4 地址,而不需要手動指定固定 IP,適用於需要動態分配 IP 的環境,如:

  • 雲端伺服器(AWS、GCP、Azure)
  • 企業內部網路
  • 家用環境

如果沒有啟用 DHCP,則需要手動設定靜態 IP,這可能會在某些場景下帶來管理上的額外負擔。


Netplan 配置文件位置

在 Ubuntu 18.04 及更新版本,Netplan 的設定文件通常儲存於 /etc/netplan/ 目錄下,檔案名稱可能是:

  • /etc/netplan/50-cloud-init.yaml(雲端伺服器常見)
  • /etc/netplan/01-netcfg.yaml

你可以使用 ls /etc/netplan/ 指令來檢視可用的 Netplan 配置文件。


如何啟用 DHCP4?

1. 編輯 Netplan 配置文件

首先,使用 nano 或其他文字編輯器開啟 Netplan 配置文件。例如:

sudo nano /etc/netplan/01-netcfg.yaml

2. 設定 DHCP4

在 YAML 文件內,找到對應的網路介面(如 eth0),並確保它的 dhcp4 設定為 true,格式如下:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

如果你的系統使用 Wi-Fi,則應該在 wifis: 區塊內啟用 dhcp4

3. 套用設定

儲存文件後,執行以下指令以套用變更:

sudo netplan apply

如果你希望檢查 Netplan 設定是否正確,可以先執行:

sudo netplan try

這會進行測試,確保 YAML 語法正確,避免錯誤影響網路連線。


驗證 DHCP4 設定是否生效

你可以使用 ip aifconfig 來檢查 IP 配置是否來自 DHCP 伺服器。

ip a

如果 eth0 介面顯示動態獲取的 IP(通常 inet 欄位會有一個 DHCP 分配的 IP 地址),則代表 DHCP4 設定成功生效。

另一種方式是使用 journalctl 來查看網路日誌,確保 DHCP 服務運作正常:

journalctl -u systemd-networkd --no-pager | grep DHCP

常見問題與解決方案

1. 套用 Netplan 設定後沒有獲得 IP?

  • 確保你的網路環境有可用的 DHCP 伺服器。
  • 檢查 /var/log/syslog 是否有 DHCP 相關的錯誤訊息。
  • 嘗試手動重新啟動網路服務: sudo systemctl restart systemd-networkd

2. YAML 格式錯誤?

  • YAML 依賴 縮排,請確保 dhcp4: true 的縮排正確。
  • 可以使用 yamllint 工具檢查 YAML 語法。 sudo apt install yamllint yamllint /etc/netplan/01-netcfg.yaml

3. 如何還原靜態 IP?

如果你想從 DHCP 切換回靜態 IP,可以將 dhcp4: true 改為:

      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

然後再次執行 sudo netplan apply 套用變更。


參考連結

Ubuntu Server安裝方式

You may also like

Leave a Comment