我的 Ubuntu 20.04 系统运行了几个月都没有问题,但最近sudo dhclient
每次重启后我都必须开始运行,否则我无法连接到互联网。
我相当确定这个问题与我最近尝试使用 Wireguard 有关,我可能配置错误导致某处的设置损坏(Wireguard 现在已被卸载)。
登录后,我的网络管理器连接如下所示,与一切正常运行时相同:
运行后sudo dhclient
,我有网络,但是网络管理器设置没有改变。
我可以将dhclient
命令添加到启动脚本中,但我真正想知道的是到底出了什么问题!
这是我的/etc/netplan/01-network-manager-all.yaml
配置
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
预先感谢您的帮助!
编辑:更多细节
我通过以太网和 wifi 连接到路由器,启动时似乎只有以太网有问题。我的 DHCP 客户端是一个在 LAN 上的 NAS 上运行的 pihole docker 容器。不过我的设置最近没有改变。
正在运行,这些是我的和接口ifconfig
的输出:enp4s0
wlp5s0
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.108 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e8fc:b999:680:6d7d prefixlen 64 scopeid 0x20<link>
ether 0c:9d:92:8a:c9:7a txqueuelen 1000 (Ethernet)
RX packets 631 bytes 563240 (563.2 KB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 578 bytes 65883 (65.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfc400000-fc41ffff
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.108 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e8fc:b999:680:6d7d prefixlen 64 scopeid 0x20<link>
ether 0c:9d:92:8a:c9:7a txqueuelen 1000 (Ethernet)
RX packets 631 bytes 563240 (563.2 KB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 578 bytes 65883 (65.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfc400000-fc41ffff
运行后输出似乎没有改变sudo dhclient
,但我注意到一个RX dropped
错误,并且仅出现在以太网接口上。
编辑2:
看起来我的/etc/resolv.conf
文件在启动时不存在(可能很明显,但最好添加此信息
前:
cat /etc/resolv.conf
后:
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 192.168.1.112
编辑3:
我的/etc/systemd/network
文件夹是空的
sudo iptables -L
运行前后运行dhclient
显示以下差异(仅显示差异,因为我使用 PIA VPN 并且它添加了大量条目,但它也已在我的系统上安装了数月):
前:
Chain piavpn.r.300.allowLAN (1 references)
ACCEPT all -- anywhere 224.0.0.0/4
[...]
This stuff below isn't present after running the command
Chain ufw-skip-to-policy-output (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain ufw-track-forward (1 references)
target prot opt source destination
Chain ufw-track-input (1 references)
target prot opt source destination
Chain ufw-track-output (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere ctstate NEW
ACCEPT udp -- anywhere anywhere ctstate NEW
Chain ufw-user-forward (1 references)
target prot opt source destination
Chain ufw-user-input (1 references)
target prot opt source destination
Chain ufw-user-limit (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain ufw-user-limit-accept (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain ufw-user-logging-forward (0 references)
target prot opt source destination
Chain ufw-user-logging-input (0 references)
target prot opt source destination
Chain ufw-user-logging-output (0 references)
target prot opt source destination
Chain ufw-user-output (1 references)
target prot opt source destination
后:
ACCEPT all -- anywhere base-address.mcast.net/4
[...]
entries missing
如果您需要其他信息请告诉我
答案1
经过一整天的故障排除后,我放弃了:我没有去了解导致此问题的原因,而是直接修复了问题,尽管我 100% 确定问题来自其他地方:
基于这个 askubuntu 答案我删除了符号链接/etc/resolv.conf
并添加了自己的 DNS 条目。重启后,我注意到该文件已被网络管理器创建的文件替换,因此我只需更新该文件即可。
一切都恢复正常了,尽管我仍然不确定是什么导致了这一切混乱。