使用OVS搭建分布式隔离网络前言上一节我们使用OVS搭建了单机隔离网络,但是随着扩展网络规模、单一节点不再满足业务需求,分布式网络成为不可或缺的环节。分布式网络在实现细节上与单节点网络基本相同,只是物理环境中的网络连接略有不同。实验一:分布式非隔离网络网络拓扑结构如下图所示。我们每个节点都有两张网卡,一张用于管理,一张用于业务。使用两张网卡的原因有两个:管理网卡用于日常维护和登录,业务网卡用于传输虚拟节点的数据包,避免相互影响。我们要将业务网卡绑定到OVS网桥上,也就是Normal类型的Port。这种方式添加的端口不支持分配IP地址。如果之前在网卡上配置了IP,挂载到OVS上后就无法访问了。需要注意的是,如果使用物理环境搭建网络拓扑,需要将业务网卡对应的交换机端口配置为trunk模式。如果使用VmWare搭建网络拓扑,业务网卡需要配置网络类型为host-only模式。配置配置环境hostaovs-vsctladd-brbr-int#请修改eth1为当前实验环境的业务网卡名称ovs-vsctladd-portbr-inteth1#添加两个内部端口ovs-vsctladd-portbr-intvnet0--setInterfacevnet0type=internalovs-vsctladd-portbr-intvnet1--setInterfacevnet1type=internal#添加两个netnsipnetnsaddns0ipnetnsaddns1#将内部端口分别移动到netnsiplinksetvnet0netnsns0iplinksetvnet1netnsns1#启动端口并配置IPipnetnsexecns0iplinksetloupipnetnsexecns0iplinksetvnet0upipnetnsexecns0ipaddradd10.0.0.1/24devvnet0ipnetnsexecns1iplinksetloupipnetnsexecns1iplinksetvnet1upipnetnsexecns1ipaddradd10.0.0.2/24devvnet1配置环境hostbovs-vsctladd-brbr-int#请修改eth1为当前实验环境的业务网卡名ovs-vsctladd-portbr-inteth1#添加两个内部端口ovs-vsctladd-portbr-intvnet0--setInterfacevnet0type=internalovs-vsctladd-portbr-intvnet1--setInterfacevnet1type=internal#添加两个netnsipnetnsaddns0ipnetnsaddns1#将内部端口分别移动到netnsiplinksetvnet0netnsns0iplinksetvnet1netnsns1#启动端口并配置IPipnetnsexecns0iplinksetloupipnetnsexecns0iplinksetvnet0upipnetnsexecns0ipaddradd10.0.0.3/24devvnet0ipnetnsexecns1iplinksetloupipnetnsexecns1iplinksetvnet1upipnet1nsexecnsaddr添加10.0.0.4/24devvnet1测试主机Aipnetnsexecns0ping10.0.0.3ipnetnsexecns0ping10.0.0.4ipnetnsexecns1ping10.0.0.3ipnetnsexecns1ping10.0.0.4测试主机Bipnetnsexecns0ping10.0.0.1ipnetnsexecns0ping10.0.0.2ipnetnsexecns1ping10.0.0.1ipnetnsexecns1ping10.0.0.2测试结果hostAhostbping结果ns0ns0可以通信?ns0ns1可以通信?ns1ns0可以通信?ns1ns1可以通信?根据测试结果可以看出,我们已经成功使用OVS连接了分布在不同主机上的虚拟网络设备。实验二:分布式隔离网络搭建分布式隔离网络与单节点操作方法一致,即为对应的端口tag配置VLAN。如下图所示,我们分别为主机A和主机B的端口配置VLANtag100和200。Configuration配置环境hostAovs-vsctlsetPortvnet0tag=100ovs-vsctlsetPortvnet1tag=200配置环境hostbovs-vsctlsetPortvnet0tag=100ovs-vsctlsetPortvnet1tag=200test测试主机Aipnetnsexecns0ping10.0.0.3ipnetnsexecns0ping10.0.0.4ipnetnsexecns1ping10.0.0.3ipnetnsexecns1ping10.0.0.4测试主机Bipnetnsexecns0ping10.0.0.1ipnetnsexecns0ping10.0.0.2ipnetnsexec10ns1ping.0.1ipnetnsexecns1ping10.0.0.2测试结果主机A主机Bping结果ns0ns0可以通信?ns0ns1不通信?ns1ns0不通信?ns1ns1可以通信?根据测试结果可以看出我们已经成功隔离使用OVS虚拟网络设备分布在不同的主机上。
