我有Ubuntu 14.04(64位)+两个网卡的KVM主机:
– eth0连接到“公共”networking
– eth1连接到具有私有IP地址范围的br0网桥
从主机我可以访问互联网,ping VM Guest并通过SSH连接到它。
从VM Guest我只能ping主机,但无法访问互联网,无法ping通google.com
请帮助我将VM Guest连接到互联网,设置如下:
的/ etc /networking/接口
汽车 iface lo inet loopback auto eth0 iface eth0 inet static 地址192.168.2.60 networking掩码255.255.255.0 网关192.168.2.254 dns-nameservers 8.8.8.8 auto eth1 iface eth1 inet手册 自动br0 iface br0 inet static 地址10.0.0.1 networking掩码255.255.255.0 bridge_ports eth1 bridge_stpclosures bridge_maxwait 0 bridge_fd 0 #自动创build并销毁桥。 pre-up brctl addbr br0 ip链路设置dev br0 up post-up / usr / sbin / brctl setfd br0 0 addif br0 eth1 降低brctl delbr br0
KVMnetworking被定义为:
<network> <name>br0-net</name> <uuid>9d24b473-0b4d-4cfa-8b12-7bf267d856ae</uuid> <forward mode='bridge'/> <bridge name='br0'/> </network>
#sysctl -p /etc/sysctl.conf
net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
#route -n
内核IP路由表 目标网关Genmask标志度量参考使用Iface 0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
#iptables -t nat -vnL
链PREROUTING(策略接受0包,0字节) pkts字节目标人选退出源目的地 链INPUT(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地 链OUTPUT(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地 链POSTROUTING(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地
的/ etc /networking/接口
汽车 iface lo inet loopback auto eth0 iface eth0 inet static 地址10.0.0.11 networking掩码255.255.255.0
客户xml被定义为
<interface type='bridge'> <mac address='52:54:00:6b:93:69'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface>
#route -n
内核IP路由表 目标网关Genmask标志度量参考使用Iface 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
#iptables -t nat -vnL
链PREROUTING(策略接受0包,0字节) pkts字节目标人选退出源目的地 链INPUT(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地 链OUTPUT(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地 链POSTROUTING(策略ACCEPT 0包,0字节) pkts字节目标人选退出源目的地
Guest虚拟机的Ping KVM Host可以工作在10.0.0.1和192.168.2.60上:
$ ping 10.0.0.1
PING 10.0.0.1(10.0.0.1)56(84)字节的数据。 来自10.0.0.1的64字节:icmp_seq = 1 ttl = 64时间= 0.555ms
$ ping 192.168.2.60
PING 192.168.2.60(192.168.2.60)56(84)字节的数据。 来自192.168.2.60的64个字节:icmp_seq = 1 ttl = 64时间= 0.772ms
从来宾ping不同的计算机192.168.2.3不起作用:
--- 192.168.2.3 ping统计--- 发送277个数据包,接收0个数据包,丢包率100%,时间276399ms
来自Guest的Ping google.com不起作用:
ping:未知的主机google.com
我认为你错过了伪装的iptable规则
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE