在Ubuntu 16.04主机上配置kvm(libvirt)路由网络

时间:2018-03-30 05:10:54

标签: networking ubuntu-16.04 kvm virsh

我在基于Debian的防火墙后面有一个Ubuntu 16.04 KVM管理程序,我试图让客户虚拟机可以在IP上访问,最好是匹配我用于该机器集合的子网。 / p>

防火墙正在托管10.4.0.0/16网络,并成功NAT并接受并接受适用的流量。

虚拟机管理程序位于10.4.20.250,其中virsh网络配置如下所示。值得注意的是,我已经扩展了网络掩码,试图将客户端与主机分开:

<network>
  <name>default</name>
  <uuid>02b5de1a-cde4-45dd-b8f5-a9fdfa1c6809</uuid>
  <forward mode='route'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:a3:f0:e9'/>
  <ip address='10.4.20.20' netmask='255.255.255.128'>
  </ip>
</network>

管理程序(10.4.20.250)也有以下内容:

# ip r
default via 10.4.0.1 dev enp0s25 onlink 
10.4.0.0/16 dev enp0s25  proto kernel  scope link  src 10.4.20.250 
10.4.20.0/25 dev virbr0  proto kernel  scope link  src 10.4.20.20 
169.254.0.0/16 dev enp0s25  scope link  metric 1000 

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.fe54009e64d0   yes     vnet0

# ip link show virbr0
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether fe:54:00:9e:64:d0 brd ff:ff:ff:ff:ff:ff

# virsh domiflist myguest
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     virbr0     virtio      52:54:00:9e:64:d0

10.4.20.25的来宾(&#34; myguest&#34;)可以上网;它配置为:

ip r
default via 10.4.20.20 dev eth0 
10.4.0.0/17 dev eth0  proto kernel  scope link  src 10.4.20.25

从连接到虚拟机管理程序的终端会话(10.4.20.250),我可以ping通自己,10.4.20.20的网桥,10.4.20.25的访客,10.4.0.1的防火墙,以及整个互联网。 / p>

从防火墙(10.4.0.1)我可以ping管理程序(10.4.20.250)和网桥(10.4.20.20)..但是ping客户端(10.4.20.25)丢失了。同样,从10.4网络上的另一台机器,我可以ping防火墙,管理程序和网桥,但不能ping客户端。我有以下规则集:

ip r
default via 10.4.0.1 dev enp4s0 onlink 
10.4.0.0/16 dev enp4s0 proto kernel scope link src 10.4.2.1 
10.4.20.0/25 via 10.4.20.20 dev enp4s0 
192.168.15.0/24 dev enp1s0 proto kernel scope link src 192.168.15.242 

任何帮助我可能缺少哪些配置以使我的客户端可以从远程设备访问?

注意,我尝试将转发模式设置为&#39; open&#39;但virsh net-edit给出了以下错误: 错误:不支持的配置:未知的转发类型&#39;打开&#39;

0 个答案:

没有答案