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 等指令進行驗證與除錯。

設定PPPOE撥號

⚙️ 1. 安裝 PPPoE 工具

#需要網路要先安裝或先下載
sudo apt update
sudo apt install pppoeconf -y

修改Netplan 設定檔

sudo vi /etc/netplan/50-cloud-init.yaml
network:                      # 頂層設定,代表這是 Netplan 的網路設定
  version: 2                  # Netplan 的語法版本,目前主流是 version 2
  ethernets:                  # 定義所有 Ethernet(有線網路)介面
    eno1:                     # 第一個網卡介面名稱(可能是主板上的 LAN)
      dhcp4: false            # 關閉 IPv4 DHCP,改用手動設定 IP
      addresses:              # 指定靜態 IP 位址
        - 192.168.99.7/24     # 設定 eno1 的 IP 為 192.168.99.7,子網遮罩為 /24(255.255.255.0)

    enp2s0:                   # 第二個網卡介面名稱(根據實際網卡名稱修改)(可能是 PPPoE 撥號用)
      optional: true          # 標記此介面為「非必要」,開機時不強制等待此介面啟動

🧭 2. 啟動互動式設定(一次性)

sudo pppoeconf

這會掃描 enp2s0(根據實際網卡名稱修改),詢問你:

  • 使用者名稱(ISP 提供)
  • 密碼
  • 是否自動撥號
  • 是否修改 /etc/resolv.conf
    完成後會建立 /etc/ppp/peers/dsl-provider/etc/ppp/pap-secretschap-secrets