XenServer部署系列之06网络配置安全
做业环境服务器
XenServer服务器网络
硬件型号:Dell PowerEdge R720负载均衡
OS:XenServer 6.2ide
Hostname:xsr01工具
Eth0 IP:192.168.0.241/24性能
Gateway:IP:192.168.0.1/24测试
三层交换机ui
硬件型号:Quidway S5700this
VLAN信息:
VLAN10网段为192.168.10.0/24,管理IP为192.168.10.1
VLAN20网段为192.168.20.0/24,管理IP为192.168.20.1
VLAN100网段为192.168.0.0/24,管理IP为192.168.0.1
三个VLAN相互隔离,
Xenserver的管理端口Eth0和XenCenter所在的PC机均链接到VLAN100的端口上。
另外,为本案实验方便起见,交换机上为各VLAN开设了DHCP地址池,容许远端系统自动获取IP地址及DNS地址。
本案中交换机前6个端口所属VLAN,以及交换机与服务器各端口的链接状况,以下图所示。
注:一、2端口属于VLAN100,三、4端口属于VLAN10,五、6端口属于Trunk口。
Trunk口容许全部的VLAN经过。
1、关于XenServer网络
在物理服务器上安装XenServer后,系统将为该服务器上的每一个物理NIC建立一个网络。该网络在虚拟机上的虚拟网络接口(VIF)与和主机服务器上的网络接口卡(NIC)所关联的物理网络接口(PIF)之间起桥接做用。XenServer网络是其系统内部虚拟的以太网交换机。
XenServer默认安装过程当中会选择第一块网卡eth0对应的网络Network0做为管理端口,对于每一个XenServer 主机,XenServer 最多支持 16 个网络(或最多支持 8 个已绑定的网络);对于每一个 VM,最多支持 7 个虚拟网络。
在 XenServer 中能够配置四种不一样类型的网络:
一、外部网络:与物理网络接口相关联,在虚拟机与外部网络之间起到桥接做用,从而使虚拟机可以经过服务器的物理网络卡链接到可用的资源。
二、绑定网络:可在两个 NIC 之间建立一个绑定,以在虚拟机与网络之间建立一个高性能通道。可支持主动-主动和主动-被动两种绑定模式。
三、单服务器专用网络:其与物理网络无关联,可用于提供指定主机上的虚拟机之间的链接,而与外界无链接。
四、跨服务器专用网络:对单服务器专用网络这一律念进行了扩展,容许不一样主机上的 VM 使用 vSwitch相互通讯。
XenServer网络的设置,说复杂也复杂,由于网络理解与其余虚拟化工具不大类似;说简单也简单,由于绝大部分的操做均可以经过XenCenter图形界面完成。
1、虚拟网络
打开XenCenter,链接并选择xsr01服务器,在其右侧切换到网络链接标签,里面会显示这台服务器的网络配置信息。
以下图所示,xsr01服务器有4块网卡,系统默认为每一个网卡建立了一个虚拟网络Network,也就是说,此时系统内部有四台虚拟的交换机,每一个虚拟交换机经过一个物理网卡与外界的物理交换机通信。
在上图中,经过单击Properties按钮,在弹出的网络属性对话框中能够更更名称、说明、文件夹、标记和自定义字段属性等。
本案将把“Network0”更名为“Network-VLAN100”。
本案中,网卡NIC0和NIC1分别链接到交换机的属于VLAN100和VLAN10的端口,对应地此处将Network0、Network1分别更名为Network-VLAN100、Network-VLAN10。名字的定义是随意的,更名主要是为了方便记忆管理。
Network二、Network3,在后文中要被绑定,此时暂不更名。
以上更改的结果,在PC机上,须要关闭、从新开启XenCenter并链接xsr01才能看到。
在上图中单击界面底部的“Configure”按钮,将弹出“Configure IP Addresses”窗口,可为网络配置IP。
3、配置网络IP
在“Configure IP Addresses”窗口中,在这里更改或增删IP地址。
管理网络Management做为特殊的网络,不可删除。
单击左侧边框里的“Add IP address”,将进入到新增IP的界面。
新增的IP地址,默认是以“Storage+数字”命名的,由于这一步设计的初衷是用于链接存储设备,这里更名为STVLAN10。Network下拉框中选择“Network-VLAN10”,即对应到网卡NIC1。接着设置IP,交换机里虽然启用了DHCP,不过这里为统一块儿见,使用固定IP 192.168.10.241。
在生产环境中,这一网络端口每每用于链接存储设备。本案中,因为没有存储设备,该网络用于桥接虚拟机。
添加IP完成后的结果以下图所示。
顺便提一下,这里提供的是一种经过XenCenter修改网络IP的方法。在XenServer系统主界面中,有一个“Networking and Management Interface”的选项,从中也能够理改IP,但在那里彷佛全部网卡都成了管理,若是设置eth1的IP地址,则eth0的IP也跟着变化,很差处理,处理很差会形成断网。第三种方法,是经过CLI命令进行设置,此文不涉及。
4、虚拟机桥接
本案中,新建并运行了一个CentOS6.5虚拟机,只配置了一个虚拟网卡,将系统设置成经过DHCP获取IP地址。
经过XenCenter查看该虚拟机,在其Networking标签栏中,能够看到该虚拟网卡链接到物理主机名为Network-VLAN100的网络,也就是说,该虚拟机经过物理机的Network-VLAN100上网。
注,若是这个界面上看不到IP,请在虚拟机系统里安装xe-tools。
若是局域网没有提供DHCP服务,请到虚拟机系统里手动配置VLAN10网段的IP及网关等。
经过Properties按钮,弹出Virtual Interface Properties对话框,能够更改其桥接的宿主机虚拟网络。本案中,将其改成Network-VLAN10。点击OK按钮完成设置。
设置完成后,过十来秒钟,该虚拟机会自动经过DHCP得到VLAN10里的IP地址(固然,若是嫌慢,也能够到系统里使用server network restart重启网络,但XenCenter仍然须要花费约一分钟的时间,才能将IP同步过来),在Networking界面上显示,本案是192.168.10.225,进入系统使用ifconfig查看到的IP即是这个。
5、双网卡绑定
网卡绑定(NIC Bonding)技术,在Linux 世界里,是用得很广泛的。相关的技术信息可参考笔者之前的博文《Linux bonding研究及实现》。
Linux提供了多种绑定模式的支持,XenServer的bond是基于Linux的绑定功能,可是官方指出,只支持mode 6(Active/Active)与Mode 1(Active/Passive)两种模式,使用其余模式,可能不受官方技术支持,可是实际测试发现,XenServer的绑定也支持其余一些模式。
网卡绑定,常见的是双网卡绑定,其实现是将两块网卡虚拟成为一块网卡设备,简单来讲,就是两块网卡共享同一个 MAC 地址和IP地址而并行连接聚合成一个逻辑链路工做,提供网络层面的冗余或者负载均衡功能。若是绑定中的有一个网卡失败,则主机的网络通讯会自动经过另外一个网卡重定向。
XenServer 支持主动-主动、主动-被动和 LACP三种绑定模式。支持的 NIC 数量和绑定模式随网络堆栈而异:LACP 绑定仅适用于 vSwitch,而主动-主动和主动-被动对于 vSwitch 和 Linux 桥都可用。当 vSwitch 是网络堆栈时,能够绑定两个、三个或四个 NIC。当 Linux 桥是网络堆栈时,只能绑定两个 NIC。
在XenCenter上,xsr01的Networking界面中,单击中间的Add Network按钮,将弹出New Network对话框。
在New Network对话框中,选择Bonded Network,而后下一步。
这里选择须要绑定的两张网卡NIC2和NIC3,绑定模式选择“Active-active”,MTU保留默认值。点击Finish按钮,完成绑定。
注:选择主动-主动绑定类型能够在两个绑定的NIC之间平衡通讯,若是中一个NIC出现故障,主机服务器的网络通讯将自动经过另外一个NIC进行路由;
选择主动-被动绑定类型,通讯仅经过其中一个绑定的NIC传输。在此模式下,只有在活动NIC出现故障时,另外一个NIC才会变成活动状态。
若要使用巨型帧,需将最大传输单元(MTU )的值设置为介于1500 与 9216 之间;
若要新网络添加到使用新建VM 向导建立的任何新VM 中,需勾选自动将此网络添加到新虚拟机复选框
绑定后在XenCenter网络栏中看到的是NIC2和NIC3绑定后的网卡Bond2+3,其对应的网络名字默认与之同名。能够经过Properties进行更改。因为下文会把该绑定网卡放入到名为Network-VLAN20的网络中,此处不对Bond2+3进行更名。
若是要删除建立的网络,在列表中选择要删除的网络,而后单击Remove Network按钮便可。
在 XenCenter中建立绑定的时候只能选择两块物理网卡进行绑定,没法实现三块网卡,甚至更多网卡的绑定。对于这些需求,虽然在实践中少有应用,但XenServer还提供了 CLI命令来解决这些问题,网上的一篇文章《XenServer中建立多块网卡的绑定》对此有很详细的讲解,但笔者尚没有实践过。
6、添加外部网络
XenServer容许一个物理网卡支持多个逻辑VLAN网络。当使用VLANs时,XenServer将会链接到交换机的trunk端口,VLANs容许网络管理员进行流量或带宽隔离,或者其余安全操做。
XenServer的外部网络(External Network),是基于VLANs的。 若是XenServer启用了外部网络,那么,其对应的物理网卡所链接的对端交换机的端口,必须配置为中继端口,而且进行了802.1q封装。
本案中,交换机上的五、6号端口已配置成Trunk口,而且容许包括VLAN20在内的全部VLAN流量经过。
在XenCenter上,xsr01的Networking界面中,单击中间的Add Network按钮,将弹出New Network对话框。在New Network对话框中,选择External Network,而后下一步。
自定义名称,可根据业务类型、VLAN划分状况等进行区分,这里命名为Network-VLAN20,表示链接到外界的VLAN20。
接下来,选择已绑定的2+3端口,输入将要分配的VLAN号。
勾选 “Automatically add this network to new machines”,表示之后新建虚拟机时,默认会建立一个链接到该网络的虚拟网卡。
注,若是交换机上没有VLAN20,或是相应的端口没有设置成Trunk口,xsr01主机的网络将会出现问题。
添加成功后,结果以下图所示。
接下来,为上述新建的网络Network-VLAN20配置IP。
经过单击上图中的Configure按钮,弹出Configure IP Address对话框。在Configure IP Address对话框中单击Add IP address,新增一个IP地址,在此为Network-VLAN20配置IP等。以下图所示。
注,这一步是选择Network-VLAN20,而不是Bond2+3。若是是选择后者的话,与前面选择Network10(NIC1)就没有区别了。
配置完成,结果以下图所示。
将虚拟机CentOS6.5vm01的虚拟网卡桥接到上述新增的Network-vlan20,过一段时间,可看到该虚拟机自动经过DHCP得到VLAN20里的IP地址。
因为上述操做中,勾选 “Automatically add this network to new machines”,之后新建虚拟机,在配置虚拟网卡这一步中,Network-vlan20成了默认网络之一。
7、其余
上述操做完成后,到xsr01命令行控制台里使用ifconfig命令,可查看到不少奇怪的网络信息。有兴趣的朋友不妨研究一下,笔者还不是很理解呢。
此外,Single-Server Private Network的配置,其操做与上述过程相似,这里就不研究了。