Ubuntu 24.04 網路設定

確認網卡名稱

ip a
#等同ip addr show
#常見名稱如 `enpXsY`、`eth0`、`ens33` 等

編輯 Netplan 設定檔

sudo nano /etc/netplan/50-cloud-init.yaml

📁 Netplan 設定檔案命名一覽(Ubuntu 24.04)

檔名範例 出現情境 備註
50-cloud-init.yaml 使用 cloud-init 部署的 Server 常見於 VM、自動化安裝
00-installer-config.yaml 手動安裝或未啟用 cloud-init 桌面版或裸機安裝常見
01-netcfg.yaml 自訂或手動建立的設定檔 可自命名,優先度高
99-custom.yaml 使用者自訂的 override 設定 可用於覆蓋預設設定

ℹ️ Netplan 會依檔名排序執行設定,數字越小優先度越高。
若有多份設定檔可能會互相覆寫,建議只保留主要檔案或明確規劃優先序。

靜態 IP 設定範例(推薦用 routes)

network:
  version: 2  # 設定格式版本,目前僅支援 2
  renderer: networkd  # 使用 systemd-networkd 作為網路後端(適用 Server/雲端環境)

  ethernets:
    enp2s0:  # 實體網卡名稱,視系統實際網卡名而定
      dhcp4: no  # 停用 DHCPv4,自行手動設定 IP
      addresses:
        - 192.168.99.7/24  # 指定靜態 IPv4 位址與子網遮罩(CIDR 表示法)
      routes:
        - to: default  # 設定預設路由(即「通往其他網段的出口」)
          via: 192.168.99.1  # 指定閘道 IP,通常為網路中的 router 或 DHCP server
      nameservers:
        addresses:
          - 8.8.8.8  # DNS 伺服器(Google DNS)
          - 1.1.1.1  # DNS 伺服器(Cloudflare DNS)

套用設定

sudo netplan apply
  • 或是 <可在 120 秒內測試設定,失敗會自動回復>
sudo netplan try

驗證網路狀態

ip a           # 檢查 IP
ip route       # 檢查 default route
ping 8.8.8.8   # 測試外網
ping google.com # 測試 DNS

啟用 SSH 遠端連線(若尚未安裝)

sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

🛠️ Netplan 實用功能與指令一覽

功能 工具或指令 說明
多 IP 設定 addresses: [...] 支援多個 IP
多路由設定 routes: + metric: 控制優先順序
DNS 搜尋域 search: [example.com] 補全主機名
YAML 檢查工具 yamllint /etc/netplan/*.yaml 檢查語法錯誤

📌 可搭配 netplan applynetplan tryip aip route 等指令進行驗證與除錯。