我在偏僻的Raspberry Pi 4。它通过 WiFi 连接到远程路由器(IP 192.168.1.1),我已经使用 netplan 配置了网络。然而几个月后,我决定更改 DNS 配置,即删除我的路由器本地 DNS 并将其替换为 Cloudflare 的 DNS。因此,由于知道 yaml 文件对空格非常敏感,我所做的唯一更改是删除“92”和“68”,因此文件现在如下:
$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
wifis:
wlan0:
dhcp4: no
addresses: [192.168.1.12/24]
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
access-points:
"accesspointname":
password: "accesspointpassword"
version: 2
但是当我运行 netplan try 时,我得到以下信息:
$ sudo netplan try
Job for netplan-wpa-wlan0.service canceled.
An error occurred: Command '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' returned non-zero exit status 1.
Reverting.
Warning: Stopping systemd-networkd.service, but it can still be activated by:
systemd-networkd.socket
有时我也会收到以下错误:
$ sudo netplan try
Job for netplan-wpa-wlan0.service canceled.
An error occurred: Command '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' returned non-zero exit status 1.
Reverting.
Job for netplan-wpa-wlan0.service canceled.
Traceback (most recent call last):
File "/usr/share/netplan/netplan/cli/commands/try_command.py", line 84, in command_try
NetplanApply().command_apply(run_generate=True, sync=True, exit_on_error=False)
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 164, in command_apply
utils.systemctl_networkd('stop', sync=sync, extra_services=wpa_services)
File "/usr/share/netplan/netplan/cli/utils.py", line 131, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 264, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/try_command.py", line 66, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 264, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/try_command.py", line 95, in command_try
self.revert()
File "/usr/share/netplan/netplan/cli/commands/try_command.py", line 118, in revert
NetplanApply().command_apply(run_generate=False, sync=True, exit_on_error=False)
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 164, in command_apply
utils.systemctl_networkd('stop', sync=sync, extra_services=wpa_services)
File "/usr/share/netplan/netplan/cli/utils.py", line 131, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' returned non-zero exit status 1.
我要对此非常小心,因为我不想在网络配置错误的情况下被永久锁定,因为我没有本地访问权限来修复需要的问题(这就是我运行 netplan 尝试的原因...我不确定我是否会被锁定,如果我重新启动系统?)有什么建议吗?
答案1
看看这是否有任何区别...
笔记:确认没有制表符,只有空格
笔记: 正常缩进是两个空格
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
addresses: [192.168.1.12/24]
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
access-points:
"accesspointname":
password: "accesspointpassword"
并创建 /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg...
network: {config: disabled}
然后...
sudo netplan try
当你准备好时...
sudo netplan generate
sudo netplan apply
reboot