Ubuntu 20.04 後改用 netplan 作為指令網路設定工具
設定檔
netplan 設定檔預設放在 /etc/netplan/00-installer-config.yaml
修改及套用需要 root 權限
查看網卡代號
使用 ip addr
指令可以列出網卡資訊,跑出來的結果像這樣
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
\$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd xx:xx:xx:xx:xx:xx
altname enp0s18
inet 192.168.1.xx/24 brd 172.16.0.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 0000::0000:0000:0000:0000/64 scope link
valid_lft forever preferred_lft forever
|
編號 2 後面的 ens18
就是網卡代號
我的電腦只有裝一張網卡結果才會只到編號 2,如果有多張網卡會接續列在下面
如果這台機器是 docker host,可能會有一大堆虛擬網卡
接下來就是開始編輯設定檔
使用 nano 編輯器修改設定檔
1
|
nano /etc/netplan/50-cloud-init.yaml
|
使用 DHCP 自動設定 IP
1
2
3
4
5
6
7
8
|
network:
version: 2
renderer: networkd
ethernets:
# 下面 ens18 改成你的網卡代號
ens18:
dhcp4: true
# 如果有多張網卡,設定繼續加在下面
|
設定固定 IP
1
2
3
4
5
6
7
8
9
10
11
12
|
network:
version: 2
ethernets:
ens18:
addresses:
# 設定固定 IP
- 192.168.1.2/24
# 預設閘道器
gateway4: 192.168.1.1
# 預設 DNS
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
|
固定 IP 中 /24
代表子網遮罩,相當於 255.255.255.0
如果不會換算,可以參考 IPv4 子網計算機
通常沒特殊需求的話,家用路由器的子網遮罩都是用 /24
255.255.255.0
在 ubuntu 22.04 新版的 Netplan 中, gateway4
這個設定已被棄用
新版的設定檔長這樣
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
network:
version: 2
ethernets:
ens18:
addresses:
# 設定固定 IP
- 192.168.1.2/24
# 預設 DNS
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
# 預設閘道器
routes:
- to: default
via: 192.168.1.1
|
預設路由的設定,改成可以設定多個預設閘道器 (Gateway)
1
2
3
4
5
6
7
|
routes:
- to: default
via: 10.0.0.1
metric: 200
- to: default
via: 11.0.0.1
metric: 300
|
其中 metric
代表優先權重,值越小越優先使用
設定 WIFI 連線
這邊同樣是用 Netplan 來修改設定,如果可以裝套件的狀況或是已經裝了 network-manager
可以用 nmcli 工具來設定比較方便
取得 Wifi 網卡代號
1
2
|
\$ ls /sys/class/net
enp0s25 lo wlp3s0
|
通常在 Ubuntu 22.04 中 Wifi 網卡代號通常是 wlan0
或是 wlp3s0
在設定檔下面加上 Wifi 的部分即可
1
2
3
4
5
6
7
8
9
10
11
12
13
|
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlp3s0:
optional: true
access-points:
"SSID-NAME-HERE":
password: "PASSWORD-HERE"
dhcp4: true
|
至於要怎麼找附近可用的熱點…

如果要用指令的方式查,推薦用 nmcli 設定即可,就不需要用 netplan 打一堆字了
保存、套用設定
範例使用的 nano 編輯器,儲存按法:
Ctrl + X 離開 => Ctrl + Y 確認保存
保存完後,用下面指令測試設定檔有無格式錯誤
確定網路沒問題,在 120 秒內按 Enter 確定套用。
這招可以避免設定固定 IP 時設定錯誤斷網,畢竟很懶的跑去機器旁邊重新設定。
如果想要直接套用,不用再另外檢查,可以用 netplan apply
檢查是否設定成功
看一下網卡有沒有配到 IP
如果你的 Raspberry Pi 也是裝 Ubuntu,網路設定也是這樣修改
參考資料