如何找出我的网络配置被忽略的原因?

如何找出我的网络配置被忽略的原因?

我一直在运行 Debian 10 aka Buster,没有出现任何问题。当网络连接突然中断时,我的问题就开始了。此时,NetworkManager 处于活动状态。我停止并禁用了该服务以排除其干扰。

此 PC 以桥接配置运行 KVM 虚拟机:

$ sudo brctl show
bridge name bridge id       STP     enabled interfaces
br1     8000.7446a0a0d47b   no      eno1
                                    vnet0
                                    vnet1
                                    vnet2
                                    vnet3

我的接口文件如下所示(省略了一些注释):

$ cat /etc/network/interfaces
(...)
# The loopback network interface
auto lo
iface lo inet loopback

#auto eno1
#iface eno1 inet manual

auto br1
iface br1 inet manual
bridge_ports eno1
address 192.168.1.27
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.16, 1.1.1.1

当我运行systemctl restart networking、 或 时ifdown br1; ifup br1br1最终没有 IP 地址,并且eno1br1都已关闭,并且没有默认路由。删除 eno1 行上的哈希符号没有任何效果。

在绝望中,我将这一行添加到接口文件中this line is illegal:当谈到环回块,它会导致预期的错误消息:

ifup: /etc/network/interfaces:7: misplaced option
ifup: couldn't read interfaces file "/etc/network/interfaces"

当谈到它,它没有。就好像ifupdown环回配置后停止读取一样。但是将回送块放在文件末尾仍然无法配置br1。我没有在文件中检测到任何不可打印的字符或其他奇怪的字符。

为了跨越 T,这里是日记:

$ sudo journalctl -u -e networking
(...)
-- Reboot --
May 21 09:29:58 jupiter systemd[1]: Starting Raise network interfaces...
May 21 09:29:59 jupiter ifup[584]: Waiting for br1 to get ready (MAXWAIT is 32 seconds).
May 21 09:30:00 jupiter systemd[1]: Started Raise network interfaces.

在网桥上设置 STP 不会改变行为。 ifup 怎么样?

# type ifup
ifup is /usr/sbin/ifup
# file /usr/sbin/ifup
/usr/sbin/ifup: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=9ac8619bfa91d2b8901228595fa390826c9682c7, stripped

如何找出我的网络配置被忽略的原因?

答案1

来自男人手动方法:

手动方法 该方法可用于定义默认情况下未进行配置的接口。可以通过命令或脚本手动配置up此类down接口 /etc/network/if-*.d

address命令在这里无效,但是桥接工具中的脚本/etc/network/if-*.d仍然配置该接口的所有桥接方面。

而从静态方法:

该方法可用于定义具有静态分配的 IPv4 地址的以太网接口。

选项

地址 地址
需要地址(点分四组/网络掩码)

[...]

你应该改变这一行:

iface br1 inet manual

进入这个:

iface br1 inet static

或者交替使用和命令manual手动配置(我不知道如何轻松手动配置)。up ip address add ...up ip route add default ...resolv.conf

相关内容