另一种虚拟化平台-NSX DC如何实现Openstack网络与安全

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
云防火墙,500元 1000GB
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 最近这两个月,工作强度陡然提升。前不久为了归纳和总结NSX DC分别与HOST-VM容器和裸金属容器的最佳实践和“特殊部署”,已经起早贪黑了两个多礼拜。因此,公众号的更新频率有所下降。好在功夫不负有心人,届时我也会推出专门的篇幅来介绍云原生场景的技术实现。在今天的分享中,我将继续上一篇的内容,向大家展示管理员通过Openstack Horizon或者命令行执行配置的时候,NSX DC后端究竟发生了什么变化。

最近这两个月,工作强度陡然提升。前不久为了归纳和总结NSX DC分别与HOST-VM容器和裸金属容器的最佳实践和“特殊部署”,已经起早贪黑了两个多礼拜。因此,公众号的更新频率有所下降。好在功夫不负有心人,届时我也会推出专门的篇幅来介绍云原生场景的技术实现。

在今天的分享中,我将继续上一篇的内容,向大家展示管理员通过Openstack Horizon或者命令行执行配置的时候,NSX DC后端究竟发生了什么变化。

image.png

如上图所示,各位可以看到OpenStack的Neutron网络组件,包括了交换、路由、负载均衡、防火墙等。在与NSX DC集成的场景中,这些原先由Neutron插件提供的功能,将通过NSX Neutron Plugin,由NSX DC来提供。

简单来说,Openstack与NSX DC的集成:

1. 保留用户原先OpenStack的使用习惯,用户在Horizon或者OpenStack命令行进行日常操作

2. 包括L2交换、L3路由、负载均衡器、安全组等常用功能在内的原Neutron功能不变;并且因为NSX DC的关系,多了些原OpenStack没有的功能,比如动态路由协议支持。

3. 由于NSX DC能够支持包括vSphere、OpenStack、Container、Bare Metal在内的异构平台,因此管理员可以将整个私有云的网络与安全进行统一纳管,构建虚拟云网络,承载企业业务。

接下来,我们看看管理员在OpenStack Horizon UI界面或者命令行进行配置的时候,NSX DC后端究竟发生了什么变化。这有助于我们更好地理解OpenStack与NSX DC集成的原理。

=======

I.逻辑交换机

============

首先来看看OpenStack上的配置:

进入项目-网络-网络界面,点击“创建网络”。

image.png

创建一个用于Web应用的Neutron网络,如:Dev-Web-Tier-0613。

image.png

定义网络地址、网关地址等信息

image.png

选择是否开启DHCP。

image.png

依次完成Web、App、DB三个网络的创建。

image.png

在完成上述配置后,NSX DC上又能看到哪些变化呢?

可以看到在NSX DC上,出现了自动创建的三个逻辑交换网络,对应在Openstack创建的三个Neutron网络。

image.png

由于该Overlay传输区域同样关联了ESXi服务器,因此可以在ESXi上同样看到创建的三个逻辑交换机。

相当于实现了跨OpenStack与VMware的逻辑网络互联(目前只有二层,需要逻辑路由才能实现三层)。

image.png

对于开启了DHCP自动分配IP地址的场景,在Openstack上可以看到该Neutron网络自动连接到了一个DHCP服务器。

image.png

在NSX MGR上,同样可以看到该逻辑交换机连接到了DHCP Service Router和元数据代理服务器。

image.png

对于一般的VLAN类型的逻辑交换机、以及TRUNK类型的VLAN逻辑交换机,实现的原理与Overlay类型的逻辑交换机相类似,只有一点不同:

TRUNK类型的VLAN逻辑交换机必须通过命令行实现,无法通过Horizon UI界面进行配置。

=======

II.逻辑路由器

============

进入项目-网络-路由界面,添加一台路由设备。

image.png

定义名称为T1_Tenant1。

image.png

image.png

暂时不选择连接到外部网络,启动SNAT;

等待路由器实例创建完成。

image.png

为路由器实例添加内联LIF,连接到Web、App、DB三个Neutron网络。

image.png

设计Dev-Web-Tier:10.0.10.1/24

设计App-Web-Tier:10.0.20.1/24

设计DB-Web-Tier:10.0.30.1/24

image.png

在NSXMGR上,可以看到创建了一个Tier-1级别的逻辑路由器。

image.png

该逻辑路由器下联三个逻辑交换网络,并定义了接口地址(网关地址)。

image.png

当实例连接到逻辑交换机后,在Hypervisor(KVM)命令行,可以看到创建的逻辑路由器实例和三个对应的逻辑交换。

image.png

可以看到,管理员在OpenStack上创建L2交换机或者L3路由器,会在NSX DC创建对应的逻辑交换机和逻辑路由器。通过命令行,我们可以非常简单地去验证这些。

接下来,我将尝试把OpenStack上的路由器连接到外部网络,这里会发生一些有趣的事情。

=======

III.外部网络

============

在Horiozn页面,创建一个外部网络。

image.png

创建一个Local类型的外部网络。

这个网络在OpenStack和NSX DC集成的世界,似乎毫无意义~

image.png

定义子网信息。

image.png

image.png


等待外部网络创建完成。

image.png

在Horizon的网络拓扑页面,可以看到该外部网络已经创建。

image.png

但是,请注意,管理员在NSXMGR上是看不到该网络的。

image.png

虽然这个“外部网络”在NSXMGR上没有任何蛛丝马迹,但是在OpenStack控制器命令行可以查看到该网络信息。

# openstack network show 网络名称

image.png

现在,编辑之前创建的路由器实例,选择连接到该外部网络。

image.png

image.png

在完成上述操作后,可以看到该Tier1逻辑路由器连接到了Tier0逻辑路由器。

image.png

image.png

可以看到,只有管理员在OpenStack上将某一个路由器连接到外部网络后,这些变更才会呈现在NSXMGR上。

上一回分享中,我提及:OpenStack和NSX DC的集成是借助于Neutron Plugin实现的,管理员需要配置nsx.ini来告诉OpenStack,将来创建的对象应该在哪些区域。比如:

L2交换机应该在UUID为A的Overlay传输控制区域被创建;

L3路由器应该在UUID为A的Overlay传输控制区域被创建;

当管理员尝试将路由器连接到外部网络的时候,实际上Tier1逻辑路由器会被连接到UUID为B的Tier0逻辑路由器;

当管理员在创建L2交换机,并且勾选了启用DHCP的时候,相关的配置会被自动添加到UUID为C的DHCP配置文件,并且由UUID为D的元数据代理处理。

image.png

因此,各位一定可以想到,如果管理员配置了负载均衡器,那么LB实例一定会被创建在UUID为E的Edge Cluster;接下来,就一起来验证一下猜想。

=======

IV.网络功能虚拟化-负载均衡器

============

由于在Horizon页面,无法选择HTTPS作为负载均衡协议,因此选择采用命令行方式进行;创建负载均衡器。

# neutron lbaas-loadbalancer-create --nameT1_Tenant_LB Dev-Web-Tier-0613--vip-address 10.0.10.10

注:此时不会在NSXMGR上创建负载均衡器实例。

image.png

创建侦听器。

# neutron lbaas-listener-create--loadbalancer T1_Tenant_LB --protocol HTTPS --protocol-port 443--name HTTPS-Listener

注:在Horizon上可以看到负载均衡器和侦听器已经被创建。

image.png

image.png

创建服务器池。

# neutron lbaas-pool-create --lb-algorithmROUND_ROBIN --listener HTTPS-Listener --protocol HTTPs--name WEBPOOL

注:截止目前,不会有任何负载均衡器相关对象在NSXMGR上被创建。

image.png

将Web-01a和Web-02a添加到服务器池。

# neutron lbaas-member-create  --subnet Dev-Web-Tier-0613 --address 10.0.10.12 --protocol-port 443WEBPOOL

# neutron lbaas-member-create  --subnet Dev-Web-Tier-0613 --address 10.0.10.7--protocol-port 443WEBPOOL

注:此时会在NSX上创建负载均衡器,该负载均衡器会以单臂形式创建,关联到Dev-Web-Tier-0613逻辑交换机;负载均衡器将会在Tier-1路由器所在的Edge节点上被创建(本质上是因为管理员定义了Edge Cluster的UUID,因此相关的Service Router实例均会在对应的Edge节点上被创建)。

注:如果是虚拟机版本的Edge,必须是中等规模以上,否则系统会反馈:由于Edge节点是Small小型部署,无足够空间创建负载均衡器。

image.png

设置健康检查。

# neutron lbaas-healthmonitor-create --typeHTTPS --url-path / --delay 3--max-retries 3 --timeout 3 --pool WEBPOOL --name HC_HTTPS

image.png

在Horizon页面可以查看负载均衡器的信息,其中正常情况下:

操作状态=在线;

置备状态=运行中。

image.png

在OpenStack控制器命令行,可以查看相应的配置。

查看负载均衡器:

# neutron lbaas-loadbalancer-list

查看侦听器:

# neutron lbaas-listener-list

查看服务器池:

neutronlbaas-pool-list

查看池成员,如WEBPOOL成员:

neutron lbaas-member-list WEBPOOl

查看健康状态检查设置:

neutronlbaas-healthmonitor-list


需要注意的是,如果管理员在此之前已经配置防火墙,那么此时需要开放正确的端口访问。

在NSXMGR上,找到Dev-Web-Tier-0613逻辑交换机,在相关选项中可以看到负载均衡器已经被关联。

image.png

由于是单臂负载均衡器,管理状态和操作状态均为关闭,这是正常现象。

image.png

在负载平衡器界面,可以查看该负载均衡器的详细设置,如虚拟服务器,即定义的VIP。

image.png

负载均衡的服务器池以及成员。

image.png

外部网络访问该VIP地址,确认已经可达。

image.png

通过负载均衡器访问业务;可以看到访问流量被负载均衡到Web-01a和Web-02a。

image.png

image.png

介绍完逻辑网络和网络功能虚拟化,最后我们再来看看“分布式防火墙”是如何提供OpenStack安全防护的。

=======

V.分布式防火墙-安全组

============

进入项目-网络-安全组,添加新的安全组。

image.png

创建一个安全组,如SG-Web-Tenant1。

image.png

以此类推,完成SG-App-Tenant1,SG-DB-Tenant1。

image.png

SG-Web-Tenant1添加规则,允许任意源入向HTTPS访问。

image.png

image.png

添加源为Web,TCP8443入向到App的规则。

image.png

添加源为App,TCP80入向到DB的规则。

image.png


等待安全组完成配置后,需要将实例关联到安全组。

image.png

编辑实例,关联到安全组。

image.png

将Web-01a关联到安全组SG-Web-Tenant1。

image.png

在NSXMGR上可以看到对应的安全组、安全策略。

image.png

在NSXMGR的安全组NS清单中,可以查看对应的安全组和关联的成员信息。

image.png

image.png

由于DB-01a并非是Openstack环境的虚拟机,因此手动添加到SG-DB-Tenant1安全组。

image.png

系统会有一条默认Deny any的策略,命名为os_default_section_ns_group,将所有Openstack业务虚拟机全部纳管。

image.png

通过五个简单的实例,我向各位演示了OpenStack与NSX DC集成后,管理员在Horizon或者命令行进行配置后,NSX DC如何去响应这些配置,以实现集成的初衷:用户习惯不改变,功能不改变,用NSX DC代替Neutron全部功能。

可以看到,NSX DC将Neutron网络的功能全部替换由自己来承载;因此,不难想象,在NSX DC与容器集成的场景中,逻辑交换机和逻辑路由器将代替容器的NameSpace,来实现云原生网络。

在,NSX DC如何与vSphere、KVM以及OpenStack集成,相信各位已经有了一定的认识。我们知道NSX DC的几大适用场景中,还有裸机和容器。我会在后续的分享中,与各位共同探讨,敬请关注。

相关文章
|
3天前
|
人工智能 安全 网络安全
云端守护:云计算与网络安全的协同演进
在数字化浪潮中,云计算如同一片广阔的天空,承载着无数数据和应用。然而,这片天空并非总是晴朗。网络安全问题,像是突如其来的暴风雨,时刻威胁着云服务的稳定与安全。本文将探讨云计算和网络安全如何携手共进,确保信息技术的蓝天白云。我们将从云服务的基本架构出发,剖析网络安全的挑战,再深入信息安全的实践策略,最后展望未来技术的融合趋势。文章旨在为读者提供一张清晰的技术路线图,指引如何在云计算的时代保护好每一份数据,每一个应用。
12 1
|
3天前
|
人工智能 安全 网络安全
网络犯罪分子开始利用AI绕过现代电子邮件安全措施
网络犯罪分子开始利用AI绕过现代电子邮件安全措施
|
4天前
|
监控 安全 网络安全
云中守护者:云计算时代的网络安全挑战与应对策略
【8月更文挑战第15天】在数字化浪潮的推动下,云计算已成为现代企业信息技术架构的核心。然而,随着云服务的广泛应用,网络安全威胁也随之增多,对信息安全管理提出了新的要求。本文将探讨云计算环境下的网络安全挑战,分析云服务模式对安全策略的影响,并提出有效的应对措施,以期为企业在享受云计算带来的便利的同时,保障数据和网络的安全。
|
4天前
|
存储 SQL 安全
数字时代的守护者:网络安全与信息安全的现代挑战
在数字信息日益成为我们生活核心的时代,网络安全和信息安全的问题变得尤为重要。本文将探讨网络漏洞的识别、加密技术的进步以及提升安全意识的必要性,旨在为读者提供关于如何保护个人和组织数据免受威胁的实用知识。文章将通过分析当前的威胁景观,介绍最新的防护措施,并强调培养良好安全习惯的重要性,以期构建一个更加安全的网络环境。
|
4天前
|
存储 安全 网络安全
云上守护:云计算环境下的网络安全策略
随着云计算技术的飞速发展,企业和个人越来越依赖云服务来存储和处理数据。然而,云环境的开放性和复杂性也引入了新的安全威胁。本文将探讨云计算中的网络安全挑战,并提出有效的安全策略,旨在为读者提供在云环境中保护信息安全的实用指南。
10 1
|
4天前
|
云安全 数据采集 运维
漏洞扫描:守护网络安全的重要防线
随着互联网技术的飞速发展,网络安全问题已成为不容忽视的重大挑战。其中,系统漏洞威胁作为最常见且严重的安全危险之一,对组织和个人的信息资产构成了巨大威胁。本文将详细阐述系统漏洞扫描的好处、漏洞扫描的操作方法以及如何做好网络安全,以期为读者提供全面而实用的指导。
|
4天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务的安全挑战与策略
【8月更文挑战第15天】在数字化转型的浪潮中,云计算成为企业IT架构的核心。然而,随着云服务的广泛应用,网络安全问题也日益凸显。本文从云服务的基本概念出发,深入探讨了云计算环境下的网络安全挑战,包括数据泄露、身份验证、访问控制等问题,并提出了相应的安全策略和最佳实践。通过分析云服务提供商的责任共担模型,强调了企业在采用云服务时需采取的安全措施,旨在为企业构建更加安全的云计算环境提供指导。
|
4天前
|
存储 安全 网络安全
云上守护:云计算时代的网络安全策略与实践
在数字化浪潮中,云计算如同一座座数据城堡,承载着企业的核心资产。然而,网络威胁如影随形,不断考验着这些虚拟堡垒的防御能力。本文将探讨云计算环境下的网络安全挑战,分析云服务模型对安全策略的影响,并提出一系列切实可行的安全措施。从加密技术到身份认证,从访问控制到数据备份,我们将一同走进云计算的安全迷宫,寻找那些能够保护我们数据不受侵犯的钥匙。
7 0
|
5天前
|
安全 算法 网络安全
数字时代的守护者:网络安全漏洞、加密技术与安全意识的重要性
【8月更文挑战第14天】在数字化浪潮中,网络安全成为维系社会稳定与个人隐私的关键。本文将深入探讨网络安全的脆弱性,揭示加密技术在保护数据中的核心作用,并强调提升公众的安全意识对于构建坚固防线的必要性。我们将从网络漏洞的成因谈起,逐步剖析加密技术的演变及其应用,最后探讨如何通过教育和政策提高整个社会对网络安全威胁的应对能力。
|
5天前
|
机器学习/深度学习 安全 网络安全
云端守护:云计算与网络安全的协同演进
【8月更文挑战第14天】 随着企业和个人用户越来越多地将数据和应用程序迁移到云端,云计算服务的安全性成为了一个日益重要的议题。本文将探讨云计算与网络安全之间的相互作用,分析云服务提供者如何应对安全挑战,以及用户在享受云服务便利的同时应如何保持警觉。我们还将讨论信息安全的最新趋势,包括加密技术、身份管理和威胁检测系统的发展,以及这些技术如何帮助构建更安全的云环境。