第一次发帖。
连接到客户虚拟机的 SSH/HTTPS 时出现间歇性故障的奇怪问题。
如何重现问题:
启动主机和客户机,等待几个小时。
通过 SSH/HTTPS 进入访客从外面,无连接。
SSH 到访客来自主机总是有效。
通过 SSH 连接到主机从外面总是有效
Ping 客人来自从外面,然后通过 SSH/HTTPS 连接到访客从外面,始终有效
等待几个小时,然后通过 SSH/HTTPS 连接到访客从外面- 再次失败。
我尝试了各种方法来看看是否能找到问题所在,但其他人发布的建议“修复”似乎都不适合我的情况,而且对我的问题没有作用。
设置:
Ubuntu 20.04 LTS 服务器带有 qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils,位于具有 2 个网络接口的物理机上。
1 个桥接接口和 1 个直接连接的接口。
桥接接口用于主机和客户机,直接接口仅用作客户的第二个接口。
Guest 是 Debian 11.1 服务器安装
桥接接口连接到标准非管理型交换机
主机 IP 为 192.168.1.26/24 网关 192.168.1.254 客户 IP 为 192.168.1.27/24 网关 192.168.1.254
直连的第二个接口设置为192.168.10.1/24,无网关(用于VLAN)。
为了确保防火墙不会干扰访客访问,br_netfilter已启用并加载以下内容:
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0
有人指出,如果主机的 IP 与客户机的 IP 位于同一子网中,则可能会出现问题。我需要设置额外的路由条目吗?
其他人认为 ARP 问题与 MAC 地址有关。
我已使用建议范围内的 MAC 地址设置了固定 MAC 地址。这是必需的,因为此来宾的上游需要知道 MAC 地址,以便对主机和来宾进行出站访问控制。
主机上的 ip a 输出:
eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br1 state UP group default qlen 1000
link/ether 00:18:1c:04:04:5c brd ff:ff:ff:ff:ff:ff
eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br2 state UP group default qlen 1000
link/ether 00:18:1c:04:04:5d brd ff:ff:ff:ff:ff:ff
br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:18:1c:04:04:5c brd ff:ff:ff:ff:ff:ff
inet 169.254.2.83/16 brd 169.254.255.255 scope link noprefixroute br1
valid_lft forever preferred_lft forever
br2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:18:1c:04:04:5d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute br2
valid_lft forever preferred_lft forever
6: macvtap0@br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 500
link/ether 52:54:00:e9:15:a1 brd ff:ff:ff:ff:ff:ff
vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br2 state UNKNOWN group default qlen 1000
link/ether fe:54:00:e9:15:b2 brd ff:ff:ff:ff:ff:ff
主机上的 ip route 输出:
default via 192.168.1.254 dev br2 proto static metric 425
169.254.0.0/16 dev br1 proto kernel scope link src 169.254.2.83 metric 426
192.168.1.0/24 dev br2 proto kernel scope link src 192.168.1.26 metric 425
224.0.0.0/4 dev br1 proto static scope link metric 426
ip a 在客户机上输出:
enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:e9:15:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.1/24 brd 192.168.10.255 scope global enp1s0
valid_lft forever preferred_lft forever
enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
link/ether 52:54:00:e9:15:b2 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.27/24 brd 192.168.1.255 scope global enp2s0
valid_lft forever preferred_lft forever
enp1s0.73@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
link/ether 52:54:00:e9:15:a1 brd ff:ff:ff:ff:ff:ff
客户机上的 ip route 输出:
default via 192.168.1.254 dev enp2s0 onlink
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.27
192.168.10.0/24 dev enp1s0 proto kernel scope link src 192.168.10.1
这个问题让我的头发比以前更白了——花了好几天时间阅读所有我可能错过的东西,但没有发现任何明显的内容。
任何指点都将不胜感激。