虚拟机的 KVM 桥接不起作用?

虚拟机的 KVM 桥接不起作用?

我目前正在设置带有多个 VM 客户机的 KVM。我创建了第一个,但已经遇到了第一个问题:

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)

那么显然主机配置不正确?

主机-/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 是来自客户虚拟机的 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

访客-/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

访客-/etc/resolv.conf

nameserver 88.140.40.50
nameserver 88.140.40.1

答案1

您遗漏了一些有关网络的关键点,而非严格意义上的虚拟化相关点。

您需要在主机上配置伪装(NAT)(取决于发行版,搜索通用网关操作方法),否则它将不起作用。

答案2

我相信有了桥接,你仍然需要启用转发echo 1 > /proc/sys/net/ipv4/ip_forward(编辑/etc/sysctl.conf以使其在重启后继续存在)。

此外,为了让互联网的回复能够返回到您的虚拟机,您需要设置 NAT。NAT 将使互联网将您的虚拟机的 IP 地址视为公共 IP,以便数据包能够找到返回的路径。

答案3

奇怪的是,您有一个私有 IP(192.168.0.1)和一个公共 IP(88.140.40.50)。您在防火墙上添加了 NAT 吗?您可以ping 88.140.40.50检查您的 pointopoint 是否正常工作吗?

相关内容