我最近在 HP Pavillion Desktop 510-p051a 上安装了 Ubuntu Server 22.04 的全新副本。我当前所在的网络仅支持 WIFI 访问。我正在尝试将 WIFI 接口配置为使用静态 IP 地址。 HP Pavillion 有 2 个网络接口:enp2s0 和 wlp3s0,以及环回 (lo),(请参见下文)。
$ ip a
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: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether c8:d3:ff:35:f1:5f brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 58:00:e3:62:b0:97 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.25/24 metric 600 brd 192.168.1.255 scope global dynamic wlp3s0
valid_lft 3439sec preferred_lft 3439sec
inet6 2406:2d40:400a:410::c7c/128 scope global dynamic noprefixroute
valid_lft 1011sec preferred_lft 411sec
inet6 fd2e:9b4:7dc7:10::c7c/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd2e:9b4:7dc7:10:5a00:e3ff:fe62:b097/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 2406:2d40:400a:410:5a00:e3ff:fe62:b097/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 1011sec preferred_lft 411sec
inet6 fe80::5a00:e3ff:fe62:b097/64 scope link
valid_lft forever preferred_lft forever
Ubuntu Server 22.04 安装在 /etc/netplan 目录中创建了两个 yaml 文件(00-installer-config.yaml 和 00-installer-config-wifi.yaml)(请参见下文):
$ sudo cat 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp2s0:
dhcp4: true
version: 2
$ sudo cat 00-installer-config-wifi.yaml
# This is the network config written by 'subiquity'
network:
version: 2
wifis:
wlp3s0:
access-points:
MY-WIFI:
password: MyPassword
dhcp4: true
WIFI 接口的配置文件当前从 DHCP 获取 IP 地址,如上所示(示例:192.168.1.25)。
我创建了多个版本的配置文件,以便于仅为 WIFI 接口(wlp3s0)设置静态 IP 地址,而不使用以太网接口(enp2s0),但我没有任何运气(请参阅下面的示例) :
00-installer-config-wifi.yaml(仅限 WIFI)
network:
version: 2
renderer: networkd
wifis:
wlp3s0:
addresses:
- 192.168.1.25/24
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
00-installer-config.yaml(两者合并)
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.25/24
wifis:
wlp3s0:
dhcp4: no
dhcp6: no
addresses:
- 192.168.1.25/24
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
routes:
- to: default
via: 192.168.1.1
00-installer-config-wifi.yaml(我认为这行不通,但我还是尝试了):
network:
version: 2
renderer: networkd
ethernets:
wlp3s0:
addresses:
- 192.168.1.25/24
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
这样的例子还在继续......
注意:gateway4 在运行“sudo netplan try”和“sudo netplan apply”时会给出警告消息。
在对不同版本的 yaml 文件进行大量测试后,我不得不在 /etc/netplan 目录中使用两个默认文件(由 Ubuntu Server 22.04 安装创建)来获取 IP 地址(DHCP,而不是静态),否则没有 IP 地址。
如果有人知道如何正确设置这些 yaml 文件中的代码,我将非常感谢您的帮助。
提前致谢。
对不起各位。我明白了。
以下配置文件在服务器重新启动后终于起作用了:
00-网络-config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
wifis:
wlp3s0:
addresses: [192.168.1.25/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
access-points:
MY-WIFI:
password: MyPassword
希望能帮助遇到同样问题的人。