【Linux】【Ubuntu】如何修改 ip
以下提供在 Ubuntu 18.04 以後(netplan) 與 Ubuntu 16.04 舊版(/etc/network/interfaces) 的常見修改方式,請依照你實際版本選擇。
1️⃣ 確認目前網路設定工具
Ubuntu 18.04 以後預設使用 Netplan
ls /etc/netplan/
若此資料夾存在 YAML 檔案(例如 00-installer-config.yaml
),代表使用 Netplan。
2️⃣ Netplan 修改(Ubuntu 18.04+)
-
查詢目前網卡名稱
ip link
例如
ens33
、enp0s3
。 -
編輯設定檔
sudo nano /etc/netplan/00-installer-config.yaml
內容範例:
network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
-
套用設定
sudo netplan apply
建議第一次可用
sudo netplan try
,若有誤會自動還原。
3️⃣ 傳統 /etc/network/interfaces(Ubuntu 16.04 或自行安裝 ifupdown)
-
編輯:
sudo nano /etc/network/interfaces
-
範例:
auto ens33 iface ens33 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
-
套用:
sudo systemctl restart networking
4️⃣ 臨時修改 IP(重開機後失效)
若只想暫時修改:
sudo ip addr add 192.168.1.100/24 dev ens33
sudo ip route add default via 192.168.1.1
5️⃣ 驗證設定
ip addr show
ip route
ping 8.8.8.8
小提醒
-
若同時使用 VPN 或 Cloud Provider(AWS/GCP/Azure),請確認平台的網卡策略與安全群組。
-
修改前最好備份設定檔:
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
以上即可依版本與需求選擇永久或臨時的 Ubuntu IP 修改方式。
如果出現警告畫面
從這張截圖可以看到兩類主要警告訊息:
1️⃣ 檔案權限過開 (Permissions are too open)
Permissions for /etc/netplan/00-installer-config.yaml are too open.
Netplan configuration should NOT be accessible by others.
原因:
Netplan 要求設定檔必須只有 root 可以寫,否則 netplan apply
會拒絕。
解法:
把檔案權限調整為 600 或 640,例如:
sudo chmod 600 /etc/netplan/00-installer-config.yaml
# 或若需要同群組讀取
sudo chmod 640 /etc/netplan/00-installer-config.yaml
再確認:
ls -l /etc/netplan/00-installer-config.yaml
# -rw------- 或 -rw-r----- 都可以
2️⃣ gateway4
已被棄用
'gateway4' has been deprecated, use default routes instead.
Ubuntu 22.04 之後 gateway4
舊語法建議改成 routes:
或 default
。
修改範例
舊:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
新:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
3️⃣ 其他訊息
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.
如果沒有使用 Open vSwitch 可以忽略;若有需要,就啟動服務:
sudo systemctl enable --now ovsdb-server
建議修正步驟總結
-
調整權限
sudo chmod 600 /etc/netplan/00-installer-config.yaml
-
修改 YAML 把
gateway4
換成 routes -
驗證語法:
sudo netplan try
沒問題後:
sudo netplan apply
這樣就能消除「Permissions too open」與「gateway4 deprecated」兩個警告。