(Centos 7 上的 KVM)无法 ping 通单网卡主机的客户机或反之亦然

(Centos 7 上的 KVM)无法 ping 通单网卡主机的客户机或反之亦然

我在 Centos 7 上有一个单 NIC 主机,我想使用 KVM-Qemu 进行虚拟化。

主持人

主机 IP 是

192.168.1.110 

并且接口是enp0s31f6

我已经从 libvirt 中删除了“默认” NAT 配置。

然后我从 virt-manager 创建了 2 个接口,分别是

virsh 网络表

 Name                 State      Autostart     Persistent
----------------------------------------------------------
 ext                  active     yes           yes
 int                  active     yes           yes

virsh net-dumpxml ext

<network connections='1'>
  <name>ext</name>
  <uuid>99ea2f5d-8557-4141-9e90-0ac0619a6261</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr2' stp='on' delay='0'/>
  <mac address='52:54:00:41:32:d9'/>
  <domain name='ext'/>
  <ip address='172.16.2.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='172.16.2.128' end='172.16.2.254'/>
    </dhcp>
  </ip>
</network>

virsh net-dumpxml int

<network connections='2'>
  <name>int</name>
  <uuid>bcc129a2-0d06-4a44-903b-60181f7cbb48</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr3' stp='on' delay='0'/>
  <mac address='52:54:00:ef:7a:ee'/>
  <domain name='int'/>
  <ip address='10.1.1.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='10.1.1.128' end='10.1.1.254'/>
    </dhcp>
  </ip>
</network>

路线-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 enp0s31f6
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 virbr3
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 enp0s31f6
172.16.2.0      0.0.0.0         255.255.255.0   U     0      0        0 virbr2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp0s31f6

iptables -t nat -vnL

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  *      *       10.1.1.0/24          224.0.0.0/24        
    0     0 RETURN     all  --  *      *       10.1.1.0/24          255.255.255.255     
    0     0 MASQUERADE  tcp  --  *      *       10.1.1.0/24         !10.1.1.0/24          masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       10.1.1.0/24         !10.1.1.0/24          masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       10.1.1.0/24         !10.1.1.0/24         
    0     0 RETURN     all  --  *      *       172.16.2.0/24        224.0.0.0/24        
    0     0 RETURN     all  --  *      *       172.16.2.0/24        255.255.255.255     
    0     0 MASQUERADE  tcp  --  *      *       172.16.2.0/24       !172.16.2.0/24        masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       172.16.2.0/24       !172.16.2.0/24        masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       172.16.2.0/24       !172.16.2.0/24       
    0     0 RETURN     all  --  *      *       172.16.2.0/24        224.0.0.0/24        
    0     0 RETURN     all  --  *      *       172.16.2.0/24        255.255.255.255     
    0     0 MASQUERADE  tcp  --  *      *       172.16.2.0/24       !172.16.2.0/24        masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       172.16.2.0/24       !172.16.2.0/24        masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       172.16.2.0/24       !172.16.2.0/24       
    0     0 RETURN     all  --  *      *       10.1.1.0/24          224.0.0.0/24        
    0     0 RETURN     all  --  *      *       10.1.1.0/24          255.255.255.255     
    0     0 MASQUERADE  tcp  --  *      *       10.1.1.0/24         !10.1.1.0/24          masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       10.1.1.0/24         !10.1.1.0/24          masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       10.1.1.0/24         !10.1.1.0/24         
    0     0 MASQUERADE  all  --  *      enp0s31f6  0.0.0.0/0            0.0.0.0/0           
    0     0 MASQUERADE  all  --  *      enp0s31f6  10.1.1.0/24          0.0.0.0/0           

iptables -vnL

Chain INPUT (policy ACCEPT 83 packets, 8441 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
   41  5578 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr3  0.0.0.0/0            10.1.1.0/24          ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr3 *       10.1.1.0/24          0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr3 virbr3  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr3  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      virbr2  0.0.0.0/0            172.16.2.0/24        ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr2 *       172.16.2.0/24        0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr2 virbr2  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr2  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      virbr2  0.0.0.0/0            172.16.2.0/24        ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr2 *       172.16.2.0/24        0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr2 virbr2  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr2  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr2 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      virbr3  0.0.0.0/0            10.1.1.0/24          ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr3 *       10.1.1.0/24          0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr3 virbr3  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr3  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr3 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-is-bridged
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    0     0 ACCEPT     all  --  enp0s31f6 *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      enp0s31f6  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 36 packets, 4389 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  *      virbr3  0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ACCEPT     udp  --  *      virbr2  0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ACCEPT     udp  --  *      virbr2  0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ACCEPT     udp  --  *      virbr3  0.0.0.0/0            0.0.0.0/0            udp dpt:68
   10   664 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0

客人

在 Guest 中,我有 2 个虚拟机,虚拟机 1 连接了intext接口,虚拟机 2 连接了int接口。

虚拟机1

eth0 10.1.1.12/24
eth1 172.16.2.12/24 ( I left the dns column blank)

虚拟机

eth0 10.1.1.13/24

我正在使用 NetworkManager 来管理网络。

问题是

  1. 即使我让 DHCP 分配地址,vm2 也无法连接到外界或 ping 其他客户机(vm1)。然而,如果我将 vm2 连接到“ext”接口并让 DHCP 分配 IP,它就可以连接并 ping 到外界。(这也发生在 vm1 中)

  2. 当我为 vm1 和 vm2 分配静态 IP 时,连接停止。

  3. 我已经添加了interface=int并尝试了interface=virbr0/etc/dnsmasq.conf但仍然没有任何反应。

基本上,我的目的是让ext和int都可以连接到互联网,它仅用于功能分离。

任何帮助都将受到赞赏。

答案1

输入和输出表用于主机服务器上的本地进程。虚拟机不是本地进程。

在前向表中将下一行移动到表尾:

REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

输出表有许多重复,所有规则和默认权限都允许所有。

相关内容