我一直在运行 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 br1
,br1
最终没有 IP 地址,并且eno1
和br1
都已关闭,并且没有默认路由。删除 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