OVS使用GRE隧道连接VMs
本文档介绍如何使用Open vSwitch允许两个位于不同宿主机的虚拟机通过基于端口的GRE隧道进行通信。注意:本指南介绍配置GRE隧道所需的步骤。相同的方法可用于配置Open vSwitch支持的任何其它隧道协议。建立本指南假设环境配置如下所述。两个物理网络传输网络以太网网络,用于运行OVS的主机之间的隧道通信。取决于正在使用的隧道协议(本文使用GRE),可能需要修改物理交换...
本文档介绍如何使用Open vSwitch允许两个位于不同宿主机的虚拟机通过基于端口的GRE隧道进行通信。
注意:
本指南介绍配置GRE隧道所需的步骤。相同的方法可用于配置Open vSwitch支持的任何其它隧道协议。
建立
本指南假设环境配置如下所述。
两个物理网络
-
传输网络
以太网网络,用于运行OVS的主机之间的隧道通信。取决于正在使用的隧道协议(本文使用GRE),可能需要修改物理交换机的一些配置(例如,需要调整MTU值)。物理交换设备的配置不在本文的讨论范围内。 -
管理网络
严格来说,这个网络是不需要的,但它是一个简单的方法为物理主机提供远程访问的IP地址,因为IP地址不能直接分配给作为OVS网桥成员的物理接口。
两个物理主机
当前环境假定使用两个名为host1
和host2
的主机。两个主机都是运行Open vSwitch的hypervisor。每台主机都有两个NIC,eth0
和`eth1``,配置如下:
-
eth0
连接到传输网络。eth0
的IP地址用于通过传输网络与主机2通信。 -
eth1
连接到管理网络。eth1
的IP地址用于到达进行管理的物理主机。
四个虚拟机
每个主机将运行两个虚拟机(VM)。vm1
和vm2
运行在主机host1
,而vm3
和vm4
运行在host2
。
每个虚拟机都有一个在物理主机上显示为Linux设备(如tap0
)的单一接口。
注意:
对于Xen/XenServer,VM接口以Linux设备的形式出现,名称类似与vif1.0
。其它Linux系统可能会将这些接口显示为vnet0
,vnet1
等。
配置步骤
在开始之前,你需要确保知道分配到host1
和host2
上的eth0
接口的IP地址,因为在配置过程中需要用到。
在host1
上执行以下配置。
#. 创建OVS网桥:
$ ovs-vsctl add-br br0
注意:
你不需要添加`eth0`到OVS网桥下.
#. 启动host1
主机上的vm1
和 vm2
. 如果这两个虚拟机没有自动关联到OVS,关联他们到你刚刚创建的OVS网桥上 (以下的命令假定 tap0
对应 vm1
以及 tap1
对应 vm2
)::
$ ovs-vsctl add-port br0 tap0
$ ovs-vsctl add-port br0 tap1
#. 添加一个GRE隧道端口:
$ ovs-vsctl add-port br0 gre0 \
-- set interface gre0 type=gre options:remote_ip=<IP of eth0 on host2>
使用相同的基本步骤,在host2
主机上创建镜像配置:
#. 创建OVS网桥, 但是不在网桥上添加任何物理接口:
$ ovs-vsctl add-br br0
#. 启动host2
主机上的vm3
和 vm4
, 如果需要将他们的接口添加到OVS网桥(再次, tap0
对应于 vm3
以及 tap1
对应于 vm4
)::
$ ovs-vsctl add-port br0 tap0
$ ovs-vsctl add-port br0 tap1
#. 在host2
上创建GRE隧道接口, 这次在指定remote_ip
远端IP地址时,使用host1
上``eth0`接口的IP地址:
$ ovs-vsctl add-port br0 gre0 \
-- set interface gre0 type=gre options:remote_ip=<IP of eth0 on host1>
测试
无论虚拟机是否在同一主机上或不同主机上运行,四个虚拟机直接的PING操作都应正常工作。
使用ip route show
(或等效命令),在虚拟机内部运行的操作系统的路由表不应显示主机使用的IP子网的任何信息,仅显示在虚拟机操作系统中配置的IP子网。为了帮助说明这一点,最好在客户虚拟机中使用与主机系统完全不同的IP子网。
排错
如果不同主机上的虚拟机之间的连接不能工作,请检查以下项目:
-
确保
host1
和host2
通过eth0
的网络连接(连接到传输网络的NIC)。这可能需要使用额外的IP路由或IP路由规则。 -
确保
host1
上的gre0
指向host2
上的eth0
,并且host2
上的gre0
指向’host1’上的eth0
。 -
确保所有虚拟机都被分配了同一子网中的IP地址;此配置中不需要IP路由功能。
更多推荐
所有评论(0)