我目前正在为几个VM guest虚拟机设置一个KVM。 我创build了第一个,但我遇到了第一个问题:
root@vm1:~# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. From 88.140.40.50: icmp_seq=2 Redirect Host(New nexthop: 88.140.40.1) From 88.140.40.50: icmp_seq=3 Redirect Host(New nexthop: 88.140.40.1)
所以显然主机没有正确configuration?
HOST – / etc / network / interfaces:
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 88.140.40.50 netmask 255.255.0.0 gateway 88.140.40.1 pointopoint 88.140.40.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_hello 2 bridge_maxage 12 bridge_maxwait 0 up route add -host 192.168.0.1 dev br0
192.168.0.1是来自vm的ip。
主机 – iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:bootps ACCEPT tcp -- anywhere anywhere tcp dpt:bootps Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.0.1 anywhere ACCEPT all -- anywhere 192.168.0.1 ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-port-unreachable REJECT all -- anywhere anywhere reject-with icmp-port-unreachable Chain OUTPUT (policy ACCEPT) target prot opt source destination
GUEST – / etc / network / interfaces
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.255 gateway 88.140.40.50 pointopoint 88.140.40.50
GUEST – /etc/resolv.conf
nameserver 88.140.40.50 nameserver 88.140.40.1
您错过了关于networking的一些关键点,而不是严格的虚拟化相关。
您需要在主机上configuration伪装(NAT)(取决于发行版,search一般网关howto),否则将无法正常工作。
奇怪的是,你有一个私有IP(192.168.0.1)和一个公共IP(88.140.40.50)。 你在你的防火墙上增加了一个NAT吗? 你能ping 88.140.40.50检查你的pointopoint是否正在工作吗?
我相信,你仍然需要使用echo 1 > /proc/sys/net/ipv4/ip_forward来启用转发(编辑/etc/sysctl.conf以使其在重新启动时保持不变)。
另外,为了让互联网回复您的虚拟机,您需要设置NAT。 NAT将使互联网将您的虚拟机的IP地址视为公共IP,因此数据包可以找回来。