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

简介: 实验摘要: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,个人认为这会是一个具有里程碑意义的版本;最近我也在学习这个“变形金刚”到底是如何实现多云网络连接的,届时也会与各位分享心得体会,敬请关注。


相关文章
|
8月前
|
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的高级路由功能:如何将特定的请求路由到较新版本的应用实例上,比如用于内部测试的、预发布的应用版本。
1317 0
|
4天前
|
开发者
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
56 1
|
4天前
|
文字识别 安全 JavaScript
6款超实用的Edge浏览器插件,让你的浏览器瞬间开挂!
Microsoft Edge是由微软开发的一款网页浏览器,致力于提供一个现代化、高效率、安全可靠的网络浏览器,以满足用户对于网络浏览的各种需求。
|
8月前
|
CDN
什么是微软 Edge 浏览器 Tracking Prevention 的 Org Relationship Mitigation 策略
什么是微软 Edge 浏览器 Tracking Prevention 的 Org Relationship Mitigation 策略
73 0
|
7月前
|
Web App开发 前端开发 JavaScript
|
4天前
edge浏览器内存不足
edge浏览器内存不足
17 0
|
4天前
|
前端开发 JavaScript UED
Edge浏览器兼容性问题如何修复,这篇文章告诉你
解决Edge浏览器兼容性问题的方法包括:1) 调整兼容性视图设置;2) 使用内置的IE模式浏览;3) 确保浏览器更新至最新版本;4) 禁用硬件加速;5) 修改注册表设置。通过这些方法,可确保程序在Edge浏览器中正常运行,提升用户体验。
34 0
|
4天前
|
缓存 搜索推荐
【电脑知识】Edge浏览器的使用技巧(特别详细)
【电脑知识】Edge浏览器的使用技巧(特别详细)
66 0
|
8月前
|
存储 API
微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子
微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子
72 0

热门文章

最新文章