其实 Windows 中的“远程桌面” 功能就是这种技术的前身, 用户通过这个功能可以登 录到其他用户的桌面进行远程操作,或登录到后台 Windows 服务器上进行配置和维护工作。 但是 Windows 的这种功能有很大的局限性,它无法设置虚拟桌面的模板,这样就无法快速部署,并且每台 PC 机的屏幕分辨率与服务器显卡的屏幕分辨率、刷新率都有不同,这就 造成远程桌面在显示时并不如本地桌面那样清晰,图像可能抖动,鼠标也可能不好用,字 体和图形大小可能都不是最佳的。
因此,远程桌面只能运用于短时间登录同事的 PC 机或 维护后台服务器,不能长期使用。 为了解决远程桌面存在的问题, Citrix 公司和 VMware 公司各自开发了自己的 VDI 系 统。对于桌面,可以通过模板、复制等功能进行快速部署、回退。对于图像显示问题,两 家公司各自使用了自己的协议来解决这个问题。 Citrix 自行研发了 HDX 协议,该协议的灵感 来源于早期的医学影像技术—拍摄 X 光片后,需要有协议将片子传输到医生面前的终端设 备,从而进行病理分析。 Citrix 的 HDX 协议借鉴了这一点,完美地将后台服务器的桌面通过 网络投放到瘦终端或个人 PC 机的屏幕上。而 VMware 使用的 PCoIP 协议,顾名思义,就是在 IP 之上运行 PC 的影像,它来自于 VMware 收购的一家加拿大科技公司 Teradici。 这家公司早 期定位于高端的图形设计,为动画行业及对图形质量有高要求的医疗保健行业提供解决方案。 PCoIP 协议实现的原理与 HDX 类似,但是对网络的延迟和抖动、屏幕分辨率的支持好于 HDX。
然而,随着桌面虚拟化的部署,在数据中心防火墙的背后(那里驻留着数百或数千个 桌面)也会产生新的安全隐患。这些桌面与其他用户和关键工作负载紧紧相邻,使得它们 远比以前更易于受到恶意软件和其他攻击的影响。这些攻击还容易从桌面移动到服务器, 使得数据中心内部暴露出一个巨大的受攻击面—这是因为虚拟桌面和企业应用服务器都 是通过虚拟化的方式一起部署在数据中心中。这种东西向流量威胁场景对当今很多客户来 说是一个普遍现象,尤其是那些有着严格安全性和合规性要求的客户。如图 6.20 所示,圆 圈部分就是这个巨大的受攻击面。
此外,使用了虚拟桌面后就意味着有多台虚拟机处于同一网段中—这些处于同一网 段的虚拟机都是给同一业务部门的员工使用的虚拟桌面。在以往,防火墙是无法实现二层 安全防护的,它的安全策略需要借助二层交换机的一些安全特性来完成,然而在虚拟化环 境中,服务器连接的交换机一般都配置为 Trunk 接口,而非 Access 接口,导致无法配置细 颗粒度的安全策略。 再者,很多企业都在寻求一种可以永久跟随用户和工作负载的网络连接和安全策 略,这是 BYOD 带来的变化,员工可以使用平板、手机、非公司统一购买的电脑连接 虚拟桌面。 企业同样需要细颗粒度的安全策略来实现 BYOD 安全。
NSX 分布式防火墙可以解决 VMware VDI 安全性不足的问题。 除此之外, Citrix 公司 VDI 解决方案中的安全性问题也一并被解决。它有效保护数据中心内的东西向流量,同时 确保 IT 管理员快速轻松地管理网络连接和安全策略,此策略可跨基础架构、设备和位置动 态跟踪终端用户的虚拟桌面和应用。 我们把这种解决方案称之为 VMware NSX for VDI。如图 6.21 所示,借助此解决方案, 企业可以从快速和简单的 VDI 网络连接和安全保护中受益。 IT 管理员可以在数秒内创建能 够动态跟随虚拟桌面的策略,无需耗费大量时间进行网络调配。通过将安全策略从数据中 心延展到桌面和应用,这个解决方案还提供与 VMware 业界领先的安全合作伙伴体系集成 的可延展平台,以便为客户提供纵深防御,从而保护整个桌面。
VMware NSX for VDI 增强了桌面虚拟化安全,并通过支持管理员集中定义策略来解决 东西向流量威胁。然后,此策略会分布到每个 vSphere 主机内的 Hypervisor 之上,并在每 个虚拟桌面创建时自动添加到桌面中。为了保护数据中心内的虚拟桌面和邻近工作负载, VMware NSX 中使用了微分段技术,从而为每个桌面提供自己的边界防御, 颗粒度非常精 细。 VMware NSX 分布式防火墙功能可以监控进出每台虚拟机的流量,从而消除桌面与邻 近工作负载之间未经授权的访问。如果虚拟桌面在主机之间或数据中心内移动,策略也将 自动跟随它移动。
借助 VMware NSX for VDI,管理员只需简单单击几下鼠标即可跨越所有虚拟桌面进行 创建、更改和管理安全策略的工作。安全策略也可以快速映射到用户组,以便加速虚拟桌面 启动。由于 NSX 网络虚拟化平台能够部署虚拟化网络功能(如交换、路由、防火墙和负载 均衡),管理员可以为 VDI 构建虚拟网络,无需复杂的 VLAN、 ACL 等物理网络配置策略。
管理员可以设置动态的终端用户计算环境的策略,这些策略根据角色映射到用户的网 络安全服务、逻辑分组、桌面操作系统等进行匹配,而与底层网络基础架构无关。集中管 理的策略会在每个桌面虚拟机创建时自动加载到此桌面,因此企业甚至可以对跨数据中心 跟随虚拟桌面移动的安全功能进行扩展。 VMware NSX 提供的可延展的平台还可以与来自 第三方的安全合作伙伴体系的更高级的功能集成,通过动态增加这些第三方安全服务,虚 拟桌面安全功能还可以从数据中心延展到桌面和应用。这些安全合作伙伴包括 Trend Micro、 Intel Security、 Palo Alto 等,它们可提供多种解决方案,如防病毒、防恶意软件、 入侵防护以及新一代安全服务来保护操作系统、浏览器、电子邮件等。 一言蔽之,通过 NSX 网络虚拟化,可以灵活创建网络资源池和逻辑隔离区,并支持动 态扩展和管理。而 NSX 的微分段可以实现如下三方面的病毒防护与访问控制,从而解决传 统 VDI 架构中的安全难题: 虚拟桌面间访问控制;
虚拟桌面到后台应用访问控制; 虚拟桌面防病毒、恶意软件等。 此外, NSX Edge 服务网关中的防火墙和负载均衡功能也可以用于支持 VDI 的基础架 构。因此, NSX 网络虚拟化平台不仅是支持企业各种应用的绝佳平台,也是企业部署 VDI 的绝佳基础架构平台。
6.2.7 利用 NSX Edge 实现防火墙功能
在 NSX 网络虚拟化平台内,除了部署分布式防火墙外,还能使用 NSX Edge 来部署防 火墙服务。之前已经有所提及, NSX 分布式防火墙主要处理东西向流量,而 NSX Edge 作 为物理网络和虚拟网络的接口,在其之上部署的防火墙服务,自然是用来处理南北向流量 的。与 NSX 分布式防火墙一样,通过 NSX Edge 部署的防火墙同样可以提供端到端的安全 防护。在数据中心内部,可以单独部署 NSX 分布式防火墙,也可以单独部署 NSX Edge 防 火墙,同样可以同时使用两个类型的防火墙,同时对东西向流量和南北向流量提供安全保 护。
建议在数据中心内部同时部署这两种类型的防火墙,当然鉴于不同行业、不同客户的 情况不同,具体问题还是需要具体分析。 之前说过,无论虚拟机采用何种方式连接到逻辑网络, NSX 分布式防火墙都可以保护 虚拟机。而 NSX Edge 防火墙主要保护的则是虚拟机和物理服务器或其他物理设备(如 NAS)之间的流量。 通过 NSX Edge 部署的防火墙支持 NSX Edge 的所有功能,如动态路由、对流量做线速的 转发处理。
这样一来,就算 Edge 防火墙串接在物理网络和虚拟网络之间, 转发性能也不会受 影响—它与提供路由服务的 NSX Edge 是同一台设备, 并没有增加一个虚拟或物理设备使得流 量绕行或形成带宽瓶颈。 NSX Edge 防火墙同样支持 NSX Edge 的 HA 和 ECMP 的部署模式。 与 NSX 分布式防火墙一样, NSX Edge 防火墙可以在网络的二至四层提供安全防护, 如果需要在网络的五至七层实现安全防护,同样需要引入第三方安全厂商的解决方案。 在利用 NSX Edge 部署防火墙时,需要关心不同 Size 下的 NSX Edge 的资源分配。如 表 6.6 所示,由于防火墙牵涉连接数、规则条目的不同,因此部署 NSX Edge 防火墙时,需 要根据企业防火墙可能的连接数、规则条目来进行部署。
6.3 NSX 防火墙实验配置
本节将分别配置分布式防火墙和 Edge 防火墙,并在真实环境中验证其策略规则是否被 执行。在实验前,环境中所有路由可达的地址都是互通的,我们需要指定一些 deny 和 block 规则,使得某些特定流量被防火墙规则“干掉”。
6.3.1 配置 NSX 分布式防火墙
配置 NSX 分布式防火墙的步骤如下。 1.为了配置 NSX 分布式防火墙,首先在处于不同 NSX 逻辑交换机(不同网段)的虚拟 机上互相通过 ping 测试,验证在未部署防火墙时,流量是否可以交互。 可以发现, 192.168.41.10 和 192.168.42.10 可以互相 ping 通对方, 如图 6.22 和图 6.23 所示。
2. 在 NSX 主界面的左侧找到防火墙图标,单击之后,选择“+” 来新增一条防火墙规则,如图 6.24 所示。
在添加了这条规则之后,会看到它被显示在配置界面上,但是还没有配置防火墙的规 则, 如图 6.25 所示。 3.对防火墙添加规则。 找到 Name 一栏,在“+” 符号上,为其添加规则名称, 如图 6.26 所示。 4.为这条规则配置源和目的。找到 Source 和 Destination,同样找到“+” 图标,选择 源和目的。在这里,源是 192.168.41.10 所在的逻辑交换机,而目的是 IP 地址为 192.168.42.10 的虚拟机, 如图 6.27 和图 6.28 所示。
5.完成源目配置后,选择服务类型。这里可以根据协议(如 IP、 TCP、 UDP、 ICMP等)及其端口号进行选择。为了实验的测试, 这里选择了 ICMP Echo, 如图 6.29 所示。
6. 选择服务之后,可以对这种服务选择执行策略。策略有 3 种—Allow、 Block 和 Reject。 默认是 Allow,即放行。为了实验的测试,将其改为 Block, 如图 6.30 所示。当然,也可以 选择 Reject。 Block 的处理方式是直接阻断流量而不进行任何通知工作, Reject 的处理方式 是阻断流量并告知使用者虽然 IP 可达,但是流量被拒绝。
7.分布式防火墙配置已经完成。需要单击 Publish Changes,策略才会执行, 如图 6.31 所示。 8.如图 6.32 和图 6.33 所示,通过测试,发现从 192.168.41.10 向 192.168.42.10 测试 ping 包流量已经被阻断,防火墙配置成功。而反向的 ping 测试仍然是连通的,这是因为只对 ICMP Echo 设置了防火墙规则,并没有防火墙策略运用在 ICMP Echo Reply 方向。
6.3.2 配置 NSX Edge 防火墙
配置 NSX Edge 防火墙的方法与配置 NSX 分布式防火墙类似, 其步骤如下。
1.在外部物理路由器上启用了一个环回口,模拟一台外部的主机 IP 地址 1.1.1.1/32, 并将其发布到了动态路由中。这个环回口地址本来是能连接到内部网络的(如图 6.34 所示, 它能够 ping 通 NSX 环境中内部服务器的地址 192.168.41.10)。在 NSX Edge 上设置防火墙 规则,使外部主机无法 ping 通内部网络。
2.找到连接外部物理网络的 NSX Edge 服务网关(见图 6.35),在其上找到防火墙配置界面,新增一条防火墙规则, 如图 6.36 所示。
3.在新增的策略之上就可以进行配置了。与配置分布式防火墙类似,首先为其取名,如图 6.37 所示。
之后需要确定流量的源和目的。因此,需要使用这个 IP 地址作为源,为此,新建一个外部主机地址 1.1.1.1/32 作为源,如图 6.38 和图 6.39 所示。
防火墙策略的目的为连接 182.168.41.0/24 的逻辑交换机, 如图 6.40 所示。 4. 与 NSX 分布式防火墙的配置步骤相同, 在设置完源目之后需要设置服务类型并执 行策略。同样选择 ICMP Echo,并将其执行 Deny 策略,如图 6.41 和图 6.42 所示。
5.经测试,之前可以正常 ping 通内部网络的外部主机,流量已经被防火墙策略所阻断, 如图 6.43 所示。
6.4 总结
NSX 网络虚拟化平台中有两种类型的防火墙—NSX 分布式防火墙和 NSX Edge 防火墙,前者主要处理东西向流量,后者主要处理南北向流量。 NSX 分布式防火墙不同于传统防火墙,它利用微分段技术,对网络的所有虚 拟机实现二到四层细颗粒度的数据中心安全防护。它能实现隔离、分段和高级 安全服务。 对于网络五到七层中的应用的安全防护, NSX 网络虚拟化平台可以通过集成第三 方安全厂商的解决方案来实现。 NSX 防火墙主要实现企业中不同部门资源之间的隔离和安全策略,也可以用于企 业中应用的不同层级之间的安全防护,还可以实现 VDI 环境中的安全防护等。
第7章 NSX-V Edge 服务网关
在介绍完 NSX-V 的逻辑交换/逻辑路由和安全之后,下面开始介绍 NSX Edge。 VMware 的研发人员曾将 NSX Edge 比作“瑞士军刀”,因为它可以在 NSX-V 环境中提 供各种不同的服务。这些服务都是实时进行实例化部署的。有了这些服务,在设计数据 中心时,可以省去很多硬件采购成本,且易于快速部署和扩展, 还可以针对每个租户、 每个应用实现动态的服务。 NSX Edge 提供的这些服务其实非常像 NFV(网络功能虚拟 化)提供的类似服务,也就是将各种本来需要硬件实现的网络功能,通过 X86 服务器 在虚拟化环境中去实现。因此,有人认为 VMware NSX 解决方案也是一种 NFV 解决方 案,前文提到的 NSX 的各种分布式服务也与 NPV 的理念一脉相承。
7.1 NSX Edge 服务网关简介
NSX Edge 提供的服务涵盖了网络中三层到七层的很多主要功能,如路由、防火墙、 负载均衡、二层和三层 VPN、 DHCP 和 DNS。本节会对 NSX Edge 服务网关进行基本的 介绍,而具体网络服务的功能,则在后续小节分别详细介绍。
7.1.1 NSX Edge 服务网关能实现的功能
我们在第 4 章和第 5 章就利用 NSX Edge 服务网关配置过集中式路由和集中式防火墙。 NSX Edge 网关的作用是连接孤立的网络,并与其共享上连网络接口。因此,可以利用 NSX Edge 网关实现诸多网络功能,比如二层桥接、三层路由, 包括各式各样的 4-7 层服务。利 用 NSX Edge 网关实现二层桥接、三层路由和防火墙功能已在前面章节讨论过,本章主要 讨论利用 NSX Edge 网关实现 4-7 层网络服务。那么, NSX Edge 网关能实现哪些服务呢? 我们先回想一下之前章节演示过的实验配置。图 7.1 是之前利用 NSX Edge 服务网关配 置路由时的截图。
不难看出, NSX Edge 服务网关能实现的 4-7 层功能包括防火墙、 NAT、 DHCP、负载均衡、 VPN 等。NSX Edge 服务网关是以虚拟机的形式存在,通过一个逻辑接口连接到逻辑交换机或逻辑路由器提供的虚拟机的网段。这样一来, 从逻辑拓扑方面看,就像一台物理的防火墙、物理负载均衡设备或物理 VPN 设备连接到了核心交换机(其实在 NSX 环境中,分布式路由器承担了传统网络的核心交换机功能)上一样。这样部署的好处如下:
有利于快速部署和扩展;
实时地将服务实例化;
可以针对每个租户或应用进行差异化的动态策略;
利用 x86 计算机的能力,无需购买昂贵的第三方硬件产品;
服务流量在虚拟化内部完成,无需通过物理交换机绕行至硬件产品,消除流量瓶颈。