ip a
#等同ip addr show
#常見名稱如 `enpXsY`、`eth0`、`ens33` 等
sudo nano /etc/netplan/50-cloud-init.yaml
| 檔名範例 | 出現情境 | 備註 |
|---|---|---|
50-cloud-init.yaml |
使用 cloud-init 部署的 Server | 常見於 VM、自動化安裝 |
00-installer-config.yaml |
手動安裝或未啟用 cloud-init | 桌面版或裸機安裝常見 |
01-netcfg.yaml |
自訂或手動建立的設定檔 | 可自命名,優先度高 |
99-custom.yaml |
使用者自訂的 override 設定 | 可用於覆蓋預設設定 |
ℹ️ Netplan 會依檔名排序執行設定,數字越小優先度越高。
若有多份設定檔可能會互相覆寫,建議只保留主要檔案或明確規劃優先序。
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
sudo netplan try
ip a # 檢查 IP
ip route # 檢查 default route
ping 8.8.8.8 # 測試外網
ping google.com # 測試 DNS
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
| 功能 | 工具或指令 | 說明 |
|---|---|---|
| 多 IP 設定 | addresses: [...] |
支援多個 IP |
| 多路由設定 | routes: + metric: |
控制優先順序 |
| DNS 搜尋域 | search: [example.com] |
補全主機名 |
| YAML 檢查工具 | yamllint /etc/netplan/*.yaml |
檢查語法錯誤 |
📌 可搭配
netplan apply、netplan try及ip a、ip route等指令進行驗證與除錯。
#需要網路要先安裝或先下載
sudo apt update
sudo apt install pppoeconf -y
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 # 標記此介面為「非必要」,開機時不強制等待此介面啟動
sudo pppoeconf
這會掃描 enp2s0(根據實際網卡名稱修改),詢問你:
/etc/resolv.conf/etc/ppp/peers/dsl-provider 和 /etc/ppp/pap-secrets 或 chap-secrets