我在Centos 7上有单个NIC Host,我想用KVM-Qemu进行虚拟化。
主机IP是
192.168.1.110
和接口是enp0s31f6
我已经从libvirt中删除了“默认”的NATconfiguration。
然后我从virt-manager创build了2个接口,
virsh网表
Name State Autostart Persistent ---------------------------------------------------------- ext active yes yes int active yes yes
virsh net-dumpxml分机
<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个虚拟机,vm1连接了int和ext接口,vm2连接了int接口。
VM1
eth0 10.1.1.12/24 eth1 172.16.2.12/24 ( I left the dns column blank)
VM2
eth0 10.1.1.13/24
我正在使用NetworkManager来pipe理networking。
vm2不会连接到外部世界或ping其他guest(vm1),即使我让DHCP分配地址。 但是 ,如果我使用“ext”接口连接vm2并让DHCP分配IP,则它可以连接到外部世界。 (这也发生在vm1)
当我将静态IP分配给vm1和vm2时,连接停止。
我添加了interface=int并在/etc/dnsmasq.conf尝试使用interface=virbr0 ,但仍然没有发生任何事情。
基本上,我的意图是,ext和int都可以连接到互联网,它只用于function分离。
任何帮助表示赞赏。
input和输出表用于主机服务器上的本地进程。 虚拟机不是本地进程。
在转发表中,将下一行移到表的末尾:
REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
输出表有许多重复,所有规则和默认权限都允许。