网络管理器不尊重 DHCP 设置?

网络管理器不尊重 DHCP 设置?

我的 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的输出:enp4s0wlp5s0

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 条目。重启后,我注意到该文件已被网络管理器创建的文件替换,因此我只需更新该文件即可。

一切都恢复正常了,尽管我仍然不确定是什么导致了这一切混乱。

相关内容