1

我在基于 Debian 的防火墙后面有一个 Ubuntu 16.04 KVM 管理程序,并且我正在尝试使来宾 VM 可访问 IP,最好匹配我用于该机器集合的子网。

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

管理程序位于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的来宾(“myguest”)可以访问整个互联网;它配置有:

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 的防火墙和整个互联网。

从防火墙 (10.4.0.1) 我可以 ping 管理程序 (10.4.20.250) 和网桥 (10.4.20.20) .. 但对客户端 (10.4.20.25) 的 ping 丢失。同样,从 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 

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

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

4

0 回答 0