桥接Linux网络和虚拟化

时间:2015-10-09 12:24:42

标签: linux ubuntu networking virtual-machine kvm

我的Linux主机有libvirt / kvm虚拟化,虚拟机需要"真正的"静态IP地址,所以我决定设置桥接网络。我在主机上创建了br0,在VMs属性中设置了源设备:主机设备vnet0(Bridge' br0')。

例如,我的br0有ip 192.168.1.1,其中一个VM有192.168.1.5

一切运行良好,但随后我连接到虚拟机,客户端地址检测为192.168.1.1。此外,所有HTTP请求都来自192.168.1.1。

:这是我的错误,某种错误配置? VM如何获取客户端的真实IP?

2 个答案:

答案 0 :(得分:2)

让我尝试根据我在你的问题中推断出的答案:

由于您要将可路由的IP地址分配给VM,

选项1:将主机物理以太网接口添加到vswitch(也称为vswitch上行链路)。此外,对于所有VM以太网接口,在物理以太网接口的IP所属的同一子网中分配IP地址。或者,如果DHCP服务器在同一广播域(子网)中运行,如果接口配置为通过DHCP获取IP,则VM将从DHCP服务器获取IP

选项2:创建vswitch并将X.Y.Z.1 IP分配给vswitch(br0)。还在主机中启用IP转发。现在,您可以将来自同一子网的IP分配给VM以太网接口。或者,您可以在br0上运行DHCP(例如DNSmasq)并将IP分配给VM接口

答案 1 :(得分:1)

  

这是我的错误,某种错误配置? VM如何获取客户端的真实IP?

如果从运行虚拟机的主机进行连接,则 获取真实IP地址。您的主机与虚拟机共享网络(显然为192.168.1.0/24或类似)。当您从主机连接到虚拟机时,源地址为192.168.1.1。

如果您要从网络上的其他位置进行连接,则需要向我们提供有关配置的更多详细信息。