KVM — 无法从物理网络 ping 通虚拟网关

KVM — 无法从物理网络 ping 通虚拟网关

请考虑下图:

图表

这是SERVER01网卡的配置:

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d4:ae:52:c0:e6:c5 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.251/24 brd 10.0.1.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::d6ae:52ff:fec0:e6c5/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:b1:de:03 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.1/24 brd 192.168.100.255 scope global virbr1
       valid_lft forever preferred_lft forever

该服务器有以下路线:

default via 10.0.1.1 dev eno1 onlink 
10.0.1.0/24 dev eno1 proto kernel scope link src 10.0.1.251 
192.168.100.0/24 dev virbr1 proto kernel scope link src 192.168.100.1 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

虚拟网络具有以下 XML:

<network connections='2'>
  <name>pxb-vn</name>
  <uuid>2445d9f0-e67c-4654-99ce-297642280b04</uuid>
  <forward mode='route'/>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:b1:de:03'/>
  <domain name='pxb-vn'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
  </ip>
</network>

我想为每个虚拟服务器提供一项服务。目前,将以下路由添加到物理 Linux 计算机是可行的:

ip r add 192.168.100.0/24 via 10.0.1.251 dev eth0

这是到虚拟服务器的路由:

ip r add 10.0.1.0/24 via 192.168.100.1 dev eth0

但是我公司的网络是 Windows、Mac OS 和 Linux 计算机的混合体,我认为用此规则配置每台物理计算机是不切实际的。如您所见,我设置了一个路由虚拟网络,我认为应该可以从 10.0.1.0/24 网络 ping 到 192.168.100.1,但它不起作用。我是 KVM 和网络新手,我想我错过了一些东西。提前致谢。

答案1

我认为为每台物理计算机配置此规则是不切实际的。

有很多方法可以做到这一点,但对于小型网络来说,它们几乎都比在各处设置静态路由要复杂得多。

唯一可能更简单的方法是配置这些物理机的默认网关,使其本身拥有虚拟机网络的路由。这将导致一定程度的效率低下,因为数据包从物理机传输到路由器,再到虚拟机服务器,再到虚拟机,而不是直接从物理机传输到虚拟机服务器,但在小型网络中,额外的流量和延迟不太可能被注意到。

相关内容