本文最后更新于 195 天前。
虽然 KVM 提供了一个开箱即用的桥接网卡 virbr0 但这是给 NAT 网络的虚拟机用的,它分配的 IP 段特殊,使得外部无法访问虚拟机,据说连宿主机都无法访问(但是在我测试时,宿主机是可以访问的)。
所以需要配置桥接网卡,本文将以 Debian 11 为例,讲述 GNU/Linux 配置桥接网卡的注意事项。
提到桥接网卡,一般的教程都会告诉你这么做:
查看网络接口
$ ip a
在
/etc/network/interfaces
添加以下内容(以 eno1 为例)auto br0 iface br0 inet static bridge_ports eno1 address xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gateway xxx.xxx.xxx.xxx
或者
auto br0 iface br0 inet dhcp bridge_ports eno1
重启网络服务
sudo systemctl restart networking.service
但实际上并没有什么卵用,配置完桥接网卡,要么重启网络服务时报错,要么直接无法上网。
我起初也是搞得一头雾水,直到后来在 Debian Wiki 上看了官方文档,才知道网络配置里还少了一下内容:
iface eno1 inet manual
因为根据官方文档描述,加入网桥的设备,不能获取 IP 地址。
此时再重启网络服务,就可以看到桥接网卡正常工作了。如果还是报错的话,试试 flush 一下加入网桥的设备和网桥再试试。