一步步实现SDDC-Edge与动态路由实现

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
云防火墙,500元 1000GB
简介: 实验摘要:1>Windows Server软路由器静态路由设置 [难度★复杂度★]2>Edge Services Gateway边界服务网关部署 [难度★复杂度★]3>动态路由实现 [难度★★复杂度★★★]

正文:

上篇中,迷你SDDC环境已经实现了逻辑交换和分布式逻辑路由。通过在ESXI内核空间中创建一个DLR Instance,实现dev-web-tier、dev-app-tier和dev-db-tier三个逻辑网络的三层互访。

但是现在虚拟逻辑网络与外部物理网络之间缺少一个互通的桥梁,将物理网络与NSX SDN打通,实现真正意义上的软件定义数据中心网络基础架构。在今天的讨论中,我将向大家演示如何部署Edge Services Gateway和配置动态路由,实现整个迷你SDDC网络环境的最终拓扑。在本文的最后,JUMP代表的外部网络与Web01代表的逻辑网络之间将实现三层互访。


主题:迷你SDDC环境搭建

任务29:Windows Server软路由器静态路由


通过下图,各位可以看到逻辑网络与物理网络之间的边界是ESG设备;我们需要在ADDC、ESG和DLR上配置路由条目,才能实现今天讨论的目标。

image.png

在之前的文章“NSX控制平面和静态路由更新流程1” “NSX控制平面和静态路由更新流程2中,我已经详细描述了NSX-V控制平面组件netcapd与DLR-CVM、DLR-Instance之间如何实现静态路由配置的下发;其中也提及NSX-V6.4版本支持两种动态路由协议,分别是BGP和OSPF。

但是基于Windows Server 2008R2的软路由器动态协议仅支持RIP,因此,我只能在“路由和远程访问”界面下配置静态路由,告知所有迷你SDDC环境外部网络,逻辑网络的路由该如何走。

  • 在ADDC虚拟机的“路由和远程访问”界面,新建IPv4静态路由
    image.png
  • 新建一条10.0.10.0/24网络的静态路由,NH=172.20.12.100,这是将来ESG边界服务网关的上联地址
    image.png
  • 各位可以根据自己的喜好,选择是否将所有的逻辑网络目标全部以静态路由的形式发布
  • 实际上,迷你SDDC环境最终想要呈现的3-Tier-App演示效果,是不需要在ADDC软路由器上添加任何静态路由的;因为外部用户只需要访问Web01和Web02两台服务器将来的Load Balance VIP地址,这个地址是172.20.12.200/24,是ADDC软路由器的直连网络,根本不需要配置任何路由条目;本文是为了更好的演示动态路由效果,因此特意添加这些路由条目

image.png

  • 由于JUMP主机是我的台式机,只配置了一个172.20.9.150/24的地址,并没有配置网关,因此需要在命令行通过route add命令添加一条静态路由;
  • 在尚未配置ESG的情况下,JUMP主机目前无法ping通dev-web-tier网络的Web01虚拟机地址
    image.png


主题:迷你SDDC环境搭建

任务30:Edge Services Gateway的部署


接下来,我将演示如何部署一台ESG边界服务网关,这里我想强调四点:

  • 一般来说,ESG和DLR-CVM均部署在边界集群,有时候边界集群和管理集群会合并
  • 由于ESG相当于承接逻辑网络和物理网络的桥梁,因此承载ESG的边界集群主机必须要经过主机准备操作,安装NSX-ESX VIB
  • 如果需要在ESG上启用有状态的服务,如NAT、Load Balancer、VPN等,ESG只能选择以HA方式提供高可用;不可以使用ECMP等价多路径
  • 为了避免路由黑洞的情况发生,DLR-CVM与建立邻居关系的ESG虚拟机不应该放置在同一台ESXI主机上

上述四点是设计NSX时,必须要考量的内容,不过在我的迷你SDDC环境中,由于硬件资源有限,DLR-CVM和ESG虚拟机都只能部署在esxi-1a这台虚拟ESXI服务器上。

  • 在NSX Edges页面,点击ADD,添加Edge Services Gateway

image.png

  • 定义设备名称为dev-esg,勾选Deploy Edge Appliance VM
    image.png
  • 为ESG虚拟机操作系统管理员admin定义密码,同时开启SSH
    image.png
  • 选择由AT-Management and Edge Cluster下的主机esxi-1a承载dev-esg虚拟机

image.png

  • 选择最小规模部署,只部署一台实例,不考虑HA冗余
    image.png
  • 与创建DLR-Instance实例一样,我们需要为dev-esg配置上联接口和内部接口:
    上联接口:172.20.12.100/24
    内部接口:10.0.100.1/29

image.png

image.png

image.png

  • 定义dev-esg默认网关为172.20.12.1,该网关是ADDC软路由器的Physical接口地址
    image.png
  • 可以选择开启ESG的南北向防火墙,设置默认规则为放行
    注意,这里的防火墙并不是NSX强大的分布式防火墙

image.png

  • 确认各项参数设置无误后,退出向导;NSX Manager将通过vCenter的EAM,在esxi-1a这台服务器上创建一台dev-esg虚拟机
    image.png


主题:迷你SDDC环境搭建

任务31:动态路由的实现

阶段1:DLR上配置BGP动态路由协议


由于部署ESG的过程,并不涉及任何动态路由协议的配置;因此目前并没有改变JUMP无法访问Web01的情况,反之亦然。

通过在ADDC上配置静态路由,外部网络已经了解到所有逻辑网络目标的下一跳地址是ESG的上联地址,即172.20.12.100/24;接下来,我将演示,如何配置dev-dlr与dev-esg之间的动态路由,最终实现迷你SDDC网络架构拓扑。

  • 首先开始配置dev-dlr,在Routing路由设置下,找到Global Configuration全局设置,点击Dynamic Routing Configuration旁的Edit编辑按键,声明dev-dlr设备的Router ID
  • 一般来说,选择Uplink地址作为该设备的Router ID
    image.png
  • 完成全局设置后,不要忘记Publish Changes,发布并生效更改
    image.png
  • 我选择BGP作为动态路由协议,因此进入BGP配置界面,点击Edit编辑
    image.png
  • 勾选Enable BGP,开启BGP动态路由协议,声明本地自治系统为65002
    image.png
  • 点击Neighbors邻居下方的绿色加号,添加邻居
    image.png
  • 添加dev-esg作为dev-dlr的邻居,地址为10.0.100.1,远端自治系统65001

这里有两个特别需要注意的设置,Forwarding Address转发地址Protocol Address协议地址

  • 转发地址,必须填写dev-dlr的Uplink地址,即10.0.100.2
  • 协议地址,填写的是DLR-CVM的地址,即10.0.100.3

dev-esg与dev-dlr之间建立邻居关系,是10.0.100.1和10.0.100.3(DLR-CVM)之间建立邻居关系;由于dev-dlr的DLR-CVM上拥有所有DRL-Instance直连网络的地址(这一点,可以访问vCenter,查看DLR-CVM的网络摘要知晓),因此dev-esg在与DLR-CVM建立邻居关系后,可以学习到包括dev-web-tier在内的所有逻辑网络路由;

这里有一个问题值得探讨,DLR-CVM将自己的网络告知自己的邻居dev-esg的时候,路由条目会怎么写

在物理网络中,肯定是10.0.10.0/24 NH=10.0.100.3;如果是这样,dev-esg在收到外部网络目标地址是10.0.10.0/24的包时,将发往10.0.100.3,可这是一台DLR-CVM,是控制平面组件,并非DLR-Instance,数据转发平面组件。

事实上,DLR-CVM会告知dev-esg的路由条目是10.0.10.0/24 NH=10.0.100.2,会用自己的转发地址替换协议地址

image.png

  • 发布更改,完成BGP动态路由协议的设置
    image.png
  • 最后不要忘记,进入Route Redistribution,配置路由重分发

image.png

  • 激活BGP协议的重分发

image.png

  • 将直连的网络重分发给BGP邻居,即dev-web-tier、dev-app-tier、dev-db-tier和dev-transit四个直连的逻辑网络image.png
  • 不要忘记发布更改,重要的事情说三遍!!!

    image.png

动态路由协议邻居关系的建立是双向的,在完成dev-dlr上的BGP配置后,还需要在dev-esg上配置


主题:迷你SDDC环境搭建

任务31:动态路由的实现

阶段2:ESG上配置BGP动态路由协议


在Edge上配置BGP动态路由协议的操作步骤,与在DLR上的步骤几乎一样,这里就不重复赘述了,请各位直接浏览步骤截图。

两个需要注意的地方是:自治区域和邻居地址是相反的,and ESG没有所谓的协议地址和转发地址区分

image.png

image.png

image.png

image.png

  • 为了演示效果,我首先只勾选Connected,即直连网络
    image.png
  • 在完成dev-esg的动态路由协议配置后,我在Web01虚拟机上,尝试ping 172.20.12.1,即Physical网络的网关地址,可以看到Web01可以访问172.20.12.0/24网络,说明从源为dev-web-tier的包,通过dev-dlr、dev-esg的路由转发,可以到达ADDC这台软路由器;
  • 但是,各位也能发现,为什么同样是ADDC这台软路由器上的模拟物理网络接口地址,Web01依旧无法访问172.20.10.0/24这个网络呢?
    image.png


主题:迷你SDDC环境搭建

任务31:动态路由的实现

阶段3:合理的重分发设置


答案其实很明显!

此时,如果管理员访问DLR-CVM查看路由表,一定可以发现以下路由条目:

172.20.12.0/24 NH=10.0.100.1

这是dev-esg的直连网络,在设置路由重分发的时候,我在dev-esg上只勾选了直连网络,因此dev-esg一定会将直连的172.20.12.0/24路由告知邻居DLR-CVM,因此在ESXI内核中运行的DLR-Instance可以正确路由目标地址是172.20.12.0/24的IP包;

同时,由于172.20.9.0/24,172.20.10.0/24,172.20.11.0/24并非dev-esg的直连网络,在DRL-CVM中一定没有这三个网络的路由条目,所以Web01虚拟机一定无法访问172.20.10.1这个地址。

如何来解决这个问题呢?

  • 首先,在dev-esg上添加静态路由
    image.png
  • 添加以下三个目标网络的静态路由:
    172.20.9.0/24 NH=172.20.12.1
    172.20.10.0/24 NH=172.20.12.1
    172.20.11.0/24 NH=172.20.12.1

image.png

  • 第四次提起:不要忘记发布更改
    image.png
  • 在没有正确设置路由充分发之前,Web01依旧无法ping通172.20.10.1
  • image.png
  • 此时,在dev-esg的路由重分发设置下,勾选Static routes,将静态路由条目重分发给BGP邻居
  • 此时,在DLR-CVM的路由表中,就会出现:
    172.20.9.0/24 NH=10.0.100.1
    172.20.10.0/24 NH=10.0.100.1
    172.20.11.0/24 NH=10.0.100.1

image.png

  • 访问Web01的命令行,可以看到除了172.20.10.0/24网络以外,Web01已经可以正常访问JUMP主机地址,即172.20.9.150

image.png

  • 反之,在JUMP主机,也可以正常访问Web01地址,即dev-web-tier网络

image.png

经过上述演示内容,我已经成功将迷你SDDC环境物理网络与逻辑网络互通;在陆续完成计算、存储和网络设置后,这个迷你的软件定义数据中心已经具备了业务上线的条件。

在实际的生产环境中,用户采用VMware ESXi作为服务器虚拟化解决方案、VMware vSAN作为超融合解决方案、VMware NSX DC作为SDN解决方案也是私有云数据中心部署的一种选择;而这三者,又可以通过VMware vCenter Server实现统一的管理。

可以说,计算、存储、网络是数据中心基础架构的三个必备要素,是云之基石。

不过一步步实现SDDC系列的科普并没有到此结束,接下来的几篇分享中,我还将演示:

利用Edge Services Gateway实现负载均衡,部署In-line和One-arm两种类型的负载均衡器;

如何利用VMware vRealize Network Insight,帮助用户归纳、创建、优化分布式防火墙条目;

最近VMware发布了NSX-T2.4,个人认为这会是一个具有里程碑意义的版本;最近我也在学习这个“变形金刚”到底是如何实现多云网络连接的,届时也会与各位分享心得体会,敬请关注。


相关文章
|
SDN 网络虚拟化 虚拟化
NSX干货分享·Edge传输节点和路由
笔者最近持续跟进了一个客户的NSX-T数据中心实施项目。对于用户来说,这个项目最难的地方就是实现业务网络从传统拓扑“渐进式”过渡到NSX逻辑网络。我们知道,VMware NSX-T是一款纯软件方式实现SDN架构的产品,其带给用户网络的灵活性体现在能够满足在网络拓扑中同时存在SDN拓扑和传统拓扑的需求。
|
Kubernetes 测试技术 应用服务中间件
Kubernetes的service mesh – 第五部分:DogFood环境,Ingress和Edge路由
概述 在这篇文章中,我们将向您展示如何使用Linkerd实现的Service Mesh来处理Kubernetes上的入口流量,在Service Mesh中的每个实例上分发流量。我们还将通过一个完整的例子来介绍Linkerd的高级路由功能:如何将特定的请求路由到较新版本的应用实例上,比如用于内部测试的、预发布的应用版本。
1356 0
|
6月前
|
开发者
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
395 1
|
1月前
|
Web App开发 安全 中间件
谷歌、火狐、Edge等浏览器如何使用ActiveX控件
allWebPlugin 是一款为用户提供安全、可靠且便捷的浏览器插件服务的中间件产品,支持 Chrome、Firefox、Edge 和 360 等浏览器。其 V2.0.0.20 版本支持一个页面加载多个插件,并解决了插件与浏览器之间的焦点问题。用户可通过“信息化系统 + allWebPlugin + 插件 + 浏览器”的解决方案实现 ActiveX 插件的无缝集成。下载地址见文末,安装包含详细说明。
|
1月前
|
安全 搜索推荐 数据安全/隐私保护
定制你的清爽Mac版Edge浏览器
【10月更文挑战第5天】本文介绍了如何定制Mac版Edge浏览器以实现清爽高效的操作体验。内容包括:选择主题以适应不同环境,自定义工具栏以保持界面简洁;启用隐私浏览模式及调整隐私设置来保护个人信息;通过更新浏览器和开启安全筛选器来加强安全性;安装扩展程序以增强功能,并设置启动选项和快捷方式以便于操作。通过这些方法,你可以根据个人需求打造个性化的浏览器环境。
|
2月前
|
安全 Oracle Java
edge浏览器加载java插件
edge浏览器加载java插件
|
2月前
|
安全
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
|
2月前
|
Web App开发 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【9月更文挑战第1天】当 Edge 浏览器提示“此网站被举报为不安全”时,可尝试:关闭 Microsoft Defender SmartScreen;检查网站安全性;清除缓存和 Cookie;更新 Edge 至最新版;或使用其他浏览器。若问题依旧,联系网站管理员和技术支持。同时,避免在不可信网站输入敏感信息,保护网络安全与隐私。
429 7
|
3月前
|
数据采集 Web App开发 测试技术
使用Selenium调试Edge浏览器的常见问题与解决方案
在互联网数据采集领域,Selenium常用于自动化网页爬取。针对使用Edge浏览器时遇到的启动远程调试失败、访问受限及代理IP设置等问题,本文提供了解决方案。通过特定命令启动Edge的远程调试模式,并利用Python脚本配合Selenium库,可实现代理IP、User-Agent的设定及Cookie管理等高级功能,有效提升爬虫稳定性和隐蔽性。遵循步骤配置后,即可顺畅执行自动化测试任务。
759 1
使用Selenium调试Edge浏览器的常见问题与解决方案
|
3月前
|
存储 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【8月更文挑战第19天】如果Edge浏览器提示“此网站已被人举报不安全”,首先确认网站可信度及安全证书有效性,避免访问可疑网站。检查浏览器是否需要更新,并确保自动更新功能已开启。可暂时关闭Microsoft Defender SmartScreen(不建议长期关闭),清除缓存和Cookies,或检查第三方安全软件设置。若问题持续,考虑重置Edge浏览器设置,保留重要数据。如仍无法解决,联系网站管理员或微软支持。
365 7

热门文章

最新文章