我按照以下说明设置了静态 IPhttps://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/netplan-how-to-configure-static-ip-address-in-ubuntu-18-04-using-netplan.html
一开始是可以的,但是重启电脑后,WiFi 就不能用了,对应的信息如下:
networkctl 状态 -a
1: lo
Link File: /lib/systemd/network/99-default.link
Network File: n/a
Type: loopback
State: carrier (unmanaged)
Address: 127.0.0.1
::1
● 2: enp2s0
Link File: /lib/systemd/network/99-default.link
Network File: n/a
Type: ether
State: routable (unmanaged)
Path: pci-0000:02:00.0
Driver: r8169
Vendor: Realtek Semiconductor Co., Ltd.
Model: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
HW Address: ... (ASUSTek COMPUTER INC.)
Address: 10.5.150.56
...
Gateway: 10.5.148.1 (Cisco Systems, Inc)
● 3: wlp3s0
Link File: /lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-wlp3s0.network
Type: wlan
State: off (configuring)
Path: pci-0000:03:00.0
Driver: rtl8723be
Vendor: Realtek Semiconductor Co., Ltd.
Model: RTL8723BE PCIe Wireless Network Adapter
HW Address: 30:52:cb:ee:5c:c2 (Liteon Technology Corporation)
DNS: 8.8.8.8
8.8.4.4
/etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
wifis:
wlp3s0:
dhcp4: no
addresses: [192.168.43.131/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
access-points:
F3-:
password: ...
配置文件
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.5.150.56 netmask 255.255.252.0 broadcast 10.5.151.255
inet6 ... prefixlen 64 scopeid 0x20<link>
ether ... txqueuelen 1000 (Ethernet)
RX packets 13169 bytes 9405575 (9.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7706 bytes 1033540 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1251 bytes 164695 (164.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1251 bytes 164695 (164.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether ... txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
那么,问题可能是什么?提前致谢...
答案1
我在使用 Netplan 为通过 networkd 呈现的 WiFi 接口分配静态 IP 地址时遇到了类似的问题。对我来说,主要因素是我设置了错误的密码。确保接入点存在,并且密码正确。在重新启动系统之前,我盲目地定义了一个不存在的接入点,并在通过 networkd 呈现时设置了一个静态 IP 地址,认为这无关紧要。重启后,WiFi 不再工作。
我不确定这是否是一个错误,但尝试为使用 NetworkManager 呈现的 WiFi 接口分配静态 IP 地址时,并没有将我的静态 IP 地址应用于我的接口,即使在 NetworkManager GUI 中查看和定义时也是如此(当前错误报告已创建)。我依靠使用 networkd 渲染的 netplan YAML 配置和适当的凭据来避免此问题。这按预期工作,但我的系统依靠 USB 加密狗作为备用网络接口进行直接以太网连接。应用我的 Netplan 设置后,我无法与以太网接口连接。默认情况下,NetworkManager 是 Ubuntu 18.04 桌面版的默认服务,它通常通过 GUI 管理网络接口。从我的 Netplan 配置中,我明确说明了 WiFi 接口的配置,但 networkd 在系统上检测到新接口时不会自动为其分配设置。我创建了一个改编自此 SO 的 YAML 配置邮政首先使用 NetworkManager 设置所有接口,然后指定我的 WiFi 接口以使用 networkd 进行渲染以进行静态地址分配:
network:
version: 2
renderer: NetworkManager
wifis:
renderer: networkd
wlp1s0:
addresses: [192.168.1.231/24]
dhcp4: no
dhcp6: no
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
access-points:
accesspointename:
password: passwordgoeshere
重新启动后,我与静态 WiFi 接口建立了连接,并且以太网接口按预期运行。
如果您不想重新启动整个系统,并且/或者要连接的接入点与通过 NetworkManager 或 nmcli 连接的接入点不同,您可以运行以下命令以在应用 netplan 后重新启动服务:
sudo netplan apply; sudo systemctl daemon-reload; sudo systemctl stop NetworkManager; sudo systemctl restart systemd-networkd.service; sudo systemctl restart NetworkManager
答案2
首先,网关地址192.168.1.1和192.168.43.131/24不在同一子网,两者之一不正确。
其次,netplan 对格式、约定、缩进、间距等非常具体。您可以在此处查看示例:
cat /usr/share/doc/netplan.io/examples/wireless.yaml
我建议您将 yaml 文件修改为:
network:
version: 2
renderer: networkd
wifis:
wlp3s0:
dhcp4: no
addresses: [192.168.43.131/24]
gateway4: 192.168.43.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
access-points:
"F3-":
password: "..."
注意:F3- 真的是您问题中的 yaml 文件所暗示的网络名称吗?还是 F3 或其他名称?请用上面的详细信息进行替换。
接下来,应用更改:
sudo netplan apply
有改善吗?