找到
41
篇与
dd
相关的结果
-
EVPN讲解1 mmwzf0ya.png图片 H3C EVPN VXLAN 从 0 到 1 完整实验教程 更适合小白食用一、实验目标 本文基于一套已经打通的 H3C EVPN VXLAN 实验拓扑,从 0 到 1 重新梳理整套方案的实现逻辑,重点讲清楚: 4 台设备分别承担什么角色 Underlay 和 Overlay 如何配合 EVPN、VXLAN、VSI、VNI、L3VNI、分布式网关分别是什么 为什么要先配什么、后配什么 每条关键命令的作用和联动关系 如何把整套配置真正敲出来,而不是只会看结果 二、实验拓扑角色划分 RTD Underlay 核心 + EVPN RR 三层互联核心 EVPN 路由反射器 不接终端 不做业务网关 RTA VTEP + 二层接入 + 分布式网关 接入 VM1 / VM2 承载二层 VNI 承载三层网关 参与 L3VNI RTB VTEP + 二层接入 + 分布式网关 接入 VM3 / VM4 承载二层 VNI 承载三层网关 参与 L3VNI RTC L3VNI 节点 + 外部前缀注入点 不做二层接入 参与 vpn1 的三层转发 注入 20.1.1.1/32 三、整套网络的三层逻辑 1)Underlay Underlay 只做一件事:保证设备之间 IP 可达。 RTA — RTD:11.1.1.0/30 RTB — RTD:12.1.1.0/30 RTC — RTD:13.1.1.0/30 Loopback0: RTA:1.1.1.1/32 RTB:2.2.2.2/32 RTC:3.3.3.3/32 RTD:4.4.4.4/32 2)Overlay Overlay 负责传输 EVPN 控制平面 信息。 RTD 是 RR RTA / RTB / RTC 是 RR Client 3)业务层 vpna → VNI 10 → 10.1.1.0/24 vpnb → VNI 20 → 10.1.2.0/24 vpn1 → L3VNI 1000 RTA / RTB 同时提供 10.1.1.1、10.1.2.1 分布式网关 RTC 提供 20.1.1.1/32 外部前缀 四、先讲透:VSI 和 Vsi-interface 到底是什么 这一段是整篇最关键、最容易混淆的地方。1)什么是 vsi vsi vpna vsi vpnb它表示:创建一个二层业务实例。 2)什么是 interface Vsi-interface 1 interface Vsi-interface 1 interface Vsi-interface 2 interface Vsi-interface 3它表示:创建一个三层 VSI 接口。 重点:在 H3C 上,进入 interface Vsi-interface 1 视图时,本身就是在创建这个接口。 3)VSI 和 Vsi-interface 的关系 先有三层接口侧概念: interface Vsi-interface 1 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 distributed-gateway local然后再在二层 VSI 下进行关联: vsi vpna gateway vsi-interface 1一句话总结: 先有 Vsi-interface 这个三层接口对象,再在 vsi 里通过 gateway vsi-interface 进行绑定,学习顺序会更顺。 五、配置顺序为什么必须这样安排 基础接口和 IP 地址 Underlay OSPF 验证 Loopback 可达 建立 BGP EVPN 邻居 创建 VRF / VPN 实例 开启 VXLAN / L2VPN 基础能力 先创建 Vsi-interface 接口 再创建二层 VSI,并通过 gateway vsi-interface 绑定 分布式网关 接入口 xconnect RTC 注入外部前缀 完整配置汇总 验证与排错 六、地址规划 设备地址规划RTDLoopback0:4.4.4.4/32;GE0/0:11.1.1.1/30;GE0/1:12.1.1.1/30;GE0/2:13.1.1.1/30RTALoopback0:1.1.1.1/32;GE0/0:11.1.1.2/30;GE0/1:接入 10.1.1.0/24;GE0/2:接入 10.1.2.0/24RTBLoopback0:2.2.2.2/32;GE0/0:12.1.1.2/30;GE0/1:接入 10.1.1.0/24;GE0/2:接入 10.1.2.0/24RTCLoopback0:3.3.3.3/32;Loopback1:20.1.1.1/32;GE0/0:13.1.1.2/30七、第一阶段:配置 Underlay 目标:4 台设备三层互通,4 个 Loopback 地址互通,为后续 EVPN 邻居建立提供基础。 7.1 RTD 配置 system-view sysname RTD interface LoopBack0 ip address 4.4.4.4 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 11.1.1.1 255.255.255.252 interface GigabitEthernet0/1 port link-mode route ip address 12.1.1.1 255.255.255.252 interface GigabitEthernet0/2 port link-mode route ip address 13.1.1.1 255.255.255.252 ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 4.4.4.4 0.0.0.0 network 11.1.1.0 0.0.0.3 network 12.1.1.0 0.0.0.3 network 13.1.1.0 0.0.0.37.2 RTA 配置 system-view sysname RTA interface LoopBack0 ip address 1.1.1.1 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 11.1.1.2 255.255.255.252 ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 11.1.1.0 0.0.0.37.3 RTB 配置 system-view sysname RTB interface LoopBack0 ip address 2.2.2.2 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 12.1.1.2 255.255.255.252 ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 12.1.1.0 0.0.0.37.4 RTC 配置 system-view sysname RTC interface LoopBack0 ip address 3.3.3.3 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 13.1.1.2 255.255.255.252 ospf 1 router-id 3.3.3.3 default-route-advertise always area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 13.1.1.0 0.0.0.37.5 验证命令 display ospf peer display ip routing-table ping 1.1.1.1 ping 2.2.2.2 ping 3.3.3.3 ping 4.4.4.4八、第二阶段:建立 BGP EVPN 控制平面 目标:让 RTA / RTB / RTC 都通过 RTD 建立 EVPN 邻居,由 RTD 作为 RR 反射 EVPN 路由。 8.1 RTD 配置 RR bgp 200 group evpn internal peer evpn connect-interface LoopBack0 peer 1.1.1.1 group evpn peer 2.2.2.2 group evpn peer 3.3.3.3 group evpn address-family l2vpn evpn undo policy vpn-target peer evpn enable peer evpn reflect-client8.2 RTA 配置 bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable8.3 RTB 配置 bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable8.4 RTC 配置 bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable8.5 验证命令 display bgp l2vpn evpn peer display bgp l2vpn evpn summary九、第三阶段:创建 VRF / VPN 实例 目标:创建租户 vpn1,为三层路由和 EVPN 地址族准备基础。 9.1 RTA 配置 ip vpn-instance vpn1 route-distinguisher 1:1 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity9.2 RTB 配置 ip vpn-instance vpn1 route-distinguisher 1:2 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity9.3 RTC 配置 ip vpn-instance vpn1 route-distinguisher 1:3 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity十、第四阶段:开启 VXLAN 基础能力 10.1 RTA 配置 l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable10.2 RTB 配置 l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable10.3 RTC 配置 l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable十一、第五阶段:先创建 Vsi-interface 接口 11.1 RTA 创建 Vsi-interface interface Vsi-interface 1 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0001-0001-0001 local-proxy-arp enable distributed-gateway local interface Vsi-interface 2 ip binding vpn-instance vpn1 ip address 10.1.2.1 255.255.255.0 mac-address 0002-0002-0002 local-proxy-arp enable distributed-gateway local interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 100011.2 RTB 创建 Vsi-interface interface Vsi-interface 1 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0001-0001-0001 local-proxy-arp enable distributed-gateway local interface Vsi-interface 2 ip binding vpn-instance vpn1 ip address 10.1.2.1 255.255.255.0 mac-address 0002-0002-0002 local-proxy-arp enable distributed-gateway local interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 100011.3 RTC 创建 Vsi-interface interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 1000十二、第六阶段:再创建二层 VSI,并绑定二层 VNI 12.1 RTA 配置 vsi vpna gateway vsi-interface 1 arp suppression enable vxlan 10 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity vsi vpnb gateway vsi-interface 2 arp suppression enable vxlan 20 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity12.2 RTB 配置 vsi vpna gateway vsi-interface 1 arp suppression enable vxlan 10 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity vsi vpnb gateway vsi-interface 2 arp suppression enable vxlan 20 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity十三、第七阶段:配置分布式网关 相关关键命令: ip binding vpn-instance vpn1 ip address mac-address local-proxy-arp enable distributed-gateway local十四、第八阶段:接入口加入对应的 VSI 14.1 RTA 配置 interface GigabitEthernet0/1 port link-mode route xconnect vsi vpna interface GigabitEthernet0/2 port link-mode route xconnect vsi vpnb14.2 RTB 配置 interface GigabitEthernet0/1 port link-mode route xconnect vsi vpna interface GigabitEthernet0/2 port link-mode route xconnect vsi vpnb十五、第九阶段:RTC 注入外部前缀 15.1 RTC 配置 LoopBack1 interface LoopBack1 ip binding vpn-instance vpn1 ip address 20.1.1.1 255.255.255.25515.2 RTC 将直连路由引入 BGP VRF bgp 200 ip vpn-instance vpn1 address-family ipv4 unicast import-route direct十六、四台设备完整配置汇总 这一部分信息量最大。Markdown 版保留完整配置,但用普通代码块替代原先“每一行一个 div”的写法,移动端会轻很多。 16.1 RTD 完整配置 system-view sysname RTD interface LoopBack0 ip address 4.4.4.4 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 11.1.1.1 255.255.255.252 interface GigabitEthernet0/1 port link-mode route ip address 12.1.1.1 255.255.255.252 interface GigabitEthernet0/2 port link-mode route ip address 13.1.1.1 255.255.255.252 ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 4.4.4.4 0.0.0.0 network 11.1.1.0 0.0.0.3 network 12.1.1.0 0.0.0.3 network 13.1.1.0 0.0.0.3 bgp 200 group evpn internal peer evpn connect-interface LoopBack0 peer 1.1.1.1 group evpn peer 2.2.2.2 group evpn peer 3.3.3.3 group evpn address-family l2vpn evpn undo policy vpn-target peer evpn enable peer evpn reflect-client16.2 RTA 完整配置 system-view sysname RTA ip vpn-instance vpn1 route-distinguisher 1:1 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable interface LoopBack0 ip address 1.1.1.1 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 11.1.1.2 255.255.255.252 interface GigabitEthernet0/1 port link-mode route xconnect vsi vpna interface GigabitEthernet0/2 port link-mode route xconnect vsi vpnb ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 11.1.1.0 0.0.0.3 interface Vsi-interface 1 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0001-0001-0001 local-proxy-arp enable distributed-gateway local interface Vsi-interface 2 ip binding vpn-instance vpn1 ip address 10.1.2.1 255.255.255.0 mac-address 0002-0002-0002 local-proxy-arp enable distributed-gateway local interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 1000 vsi vpna gateway vsi-interface 1 arp suppression enable vxlan 10 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity vsi vpnb gateway vsi-interface 2 arp suppression enable vxlan 20 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable16.3 RTB 完整配置 system-view sysname RTB ip vpn-instance vpn1 route-distinguisher 1:2 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable interface LoopBack0 ip address 2.2.2.2 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 12.1.1.2 255.255.255.252 interface GigabitEthernet0/1 port link-mode route xconnect vsi vpna interface GigabitEthernet0/2 port link-mode route xconnect vsi vpnb ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 12.1.1.0 0.0.0.3 interface Vsi-interface 1 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0001-0001-0001 local-proxy-arp enable distributed-gateway local interface Vsi-interface 2 ip binding vpn-instance vpn1 ip address 10.1.2.1 255.255.255.0 mac-address 0002-0002-0002 local-proxy-arp enable distributed-gateway local interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 1000 vsi vpna gateway vsi-interface 1 arp suppression enable vxlan 10 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity vsi vpnb gateway vsi-interface 2 arp suppression enable vxlan 20 evpn encapsulation vxlan route-distinguisher auto vpn-target auto export-extcommunity vpn-target auto import-extcommunity bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable16.4 RTC 完整配置 system-view sysname RTC ip vpn-instance vpn1 route-distinguisher 1:3 address-family ipv4 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity address-family evpn vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity l2vpn enable vxlan tunnel arp-learning disable vxlan tunnel mac-learning disable interface LoopBack0 ip address 3.3.3.3 255.255.255.255 interface GigabitEthernet0/0 port link-mode route ip address 13.1.1.2 255.255.255.252 interface LoopBack1 ip binding vpn-instance vpn1 ip address 20.1.1.1 255.255.255.255 ospf 1 router-id 3.3.3.3 default-route-advertise always area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 13.1.1.0 0.0.0.3 interface Vsi-interface 3 ip binding vpn-instance vpn1 l3-vni 1000 bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 address-family l2vpn evpn peer 4.4.4.4 enable ip vpn-instance vpn1 address-family ipv4 unicast import-route direct十七、最终验证思路 17.1 二层互通验证 display mac-address display vxlan tunnel display bgp l2vpn evpn routing-table17.2 三层互通验证 ping 10.1.1.x ping 10.1.2.x17.3 ARP / 主机路由验证 display arp vpn-instance vpn1 display ip routing-table vpn-instance vpn1 protocol direct display ip routing-table vpn-instance vpn1 protocol bgp display ip routing-table vpn-instance vpn1 protocol evpn17.4 VRF 路由验证 display ip routing-table vpn-instance vpn1十八、常见排错思路 1)Loopback 不通 先查 Underlay: display ospf peer display ip routing-table ping 4.4.4.42)EVPN 邻居不起 先查: Loopback 是否可达 BGP 邻居地址是否正确 connect-interface LoopBack0 是否已配置 RR 上是否启用了 peer evpn reflect-client 查看命令: display bgp l2vpn evpn peer display bgp l2vpn evpn summary3)二层主机不通 先查: vsi 是否创建 vxlan 10 / 20 是否正确 接口是否执行 xconnect vsi EVPN Type-2 路由是否学习到 MAC 表是否正常生成 查看命令: display mac-address display bgp l2vpn evpn routing-table display vxlan tunnel4)三层互访不通 先查: Vsi-interface 是否绑定到 vpn1 网关 IP 是否正确 distributed-gateway local 是否已配置 l3-vni 1000 是否在各节点存在 RTC 是否把 20.1.1.1/32 引入到 BGP VRF 查看命令: display ip routing-table vpn-instance vpn1 display arp vpn-instance vpn1 display bgp vpnv4 all routing-table十九、全文总结 Underlay 负责打通设备 IP 可达 Overlay 负责 EVPN 控制平面发布与学习 Vsi-interface 是三层接口对象 vsi 是二层业务实例 先建 Vsi-interface,再在 vsi 里做 gateway vsi-interface 绑定,逻辑最清晰 RTA / RTB 同时承载二层 VNI、三层网关、L3VNI RTC 负责引入外部前缀到 vpn1 RTD 作为 RR,负责 EVPN 路由反射 到这里,这套 H3C EVPN VXLAN 分布式网关实验,就算真正从“看懂”走到了“能独立敲出来”。 二十、针对博客性能的优化说明 这版 Markdown 相比你原来那篇重 HTML 文章,主要做了这些性能优化: 去掉了文章内部的大段 <style> 去掉了每一行代码单独一个 div 的写法 改成标准 Markdown 标题、列表、表格、代码块 保留阅读层次,但尽量减少不必要的嵌套 更适合手机端和 Typecho 内容页渲染 如果你博客首页现在还是“显示全文”,建议再额外改成“只显示摘要”,否则长文依然会拖慢首页列表页。 -
分布式evpn网关配置举例 一、实验说明 更适合小白食用 这篇主要是记录一下我做的一个 H3C EVPN VXLAN 分布式网关实验,涉及 4 台设备:RTA、RTB、RTC、RTD。 整体看下来,RTA 和 RTB 更像是接入侧 VTEP,主要负责二层业务接入、VSI 和 VXLAN 的绑定、分布式网关这些内容; RTC 这台更偏三层侧,主要看业务路由引入和三层互通;RTD 则是整个实验里的 EVPN 路由反射器(RR),负责把控制面路由组织起来。 这套实验我感觉挺适合拿来入门 EVPN VXLAN,尤其是把 RR、VTEP、二层 VNI、三层 VNI 这些概念串起来看,会比单独背命令顺很多。 二、设备角色说明 RTA: 接入侧 VTEP,主要看二层业务、VXLAN 映射和分布式网关。 RTB: 也是接入侧 VTEP,可以理解成和 RTA 对称的一侧,用来做跨 VXLAN 的二层互通。 RTC: 这台更偏三层网关侧,重点看路由引入、L3 VNI 和三层互通。 RTD: EVPN RR,也就是路由反射器,负责把几台设备的 EVPN 路由反射出去。 三、设备配置查看 下面把几台设备的原始配置也放上来,点击文件名可以直接在当前页面弹窗查看,不用跳转: 查看 RTA.txt 查看 RTB.txt 查看 RTC.txt 查看 RTD.txt 四、阅读建议 如果是第一次看这套配置,我建议不要一上来就直接从头到尾硬读,不然很容易被一堆命令绕进去。 先看 RTD,先把 RR 的邻居关系看清楚,知道谁和谁建了 EVPN 邻居,谁负责反射。 再看 RTA 和 RTB,重点看 VSI、VNI、VTEP、分布式网关这些内容。 最后看 RTC,把三层网关、L3 VNI、VPN 实例和业务互通串起来理解。 我自己看这类配置的时候,一般也是按这个顺序,不然很容易只见命令,不见整体逻辑。 五、补充说明 下面这些点,是我觉得这套实验里最值得单独拎出来说的几个地方。很多时候不是命令难,而是概念容易混在一起。 所以这里我尽量按“人话”来整理一下,也方便后面自己回头看。 1、group evpn internal 是什么意思 这个命令放在 BGP 下面看,其实就比较好理解了。 group evpn,可以理解成先建了一个名字叫 evpn 的邻居组; internal 表示这个组里的邻居都是 IBGP 邻居,也就是和本设备在同一个 AS 里。 我的理解是,这个东西本质上就是为了省配置、也为了后面扩展方便。 比如有几台设备都要做 EVPN 邻居,很多公共属性其实是一样的,那就没必要一台一台单独敲,直接先建个组, 再把邻居拉进来就行。 所以这里的重点不是“这条命令很神秘”,而是要明白:它本质上就是一个 IBGP 邻居模板组。 2、peer evpn reflect-client 是干什么的 这个命令就很好理解了,关键点就两个字:反射。 RTD 在这里扮演的是 RR,也就是 EVPN 路由反射器。 peer evpn reflect-client 的意思,就是把这个邻居组里的设备都当成 RR Client。 这样一来,RTA、RTB、RTC 不需要彼此全互联,它们只要都和 RTD 建邻就行。 某台设备把 EVPN 路由发给 RTD,RTD 再把这些路由反射给其他客户端。 这个设计的好处很明显: 设备少的时候可能感受不明显; 设备一多,如果全互联,邻居关系会非常乱; 有了 RR 之后,控制面拓扑就清晰很多,扩容也方便。 所以我自己看这条命令的时候,通常不会死记“reflect-client”这个词,而是直接理解成: RTD 负责帮大家转发 EVPN 路由信息。 3、vxlan tunnel mac-learning disable 的意义 这条命令如果只看字面,很容易觉得有点抽象。其实它想表达的意思很简单: 不要再依赖 VXLAN 隧道里的数据面报文去学习远端 MAC 了。 传统 Flood-and-Learn 的思路,很多时候是靠报文来了再学; 但 EVPN 的思路更偏控制面,也就是通过 BGP EVPN 直接去分发 MAC/IP 可达信息。 所以把这个功能关掉,可以理解成网络在明确告诉你: 远端 MAC 的学习,尽量别靠“听流量猜”; 更希望通过 EVPN 控制面来学; 这样泛洪会少一些,收敛和可控性也会更好一些。 这个点我觉得是 EVPN VXLAN 和传统 VXLAN 一个挺重要的区别。 你会发现,越往 EVPN 方向走,越强调“控制面提前知道”,而不是“数据面来了再学”。 4、VSI / BD / VNI 到底是什么关系 这三个概念,是很多人一开始最容易混的地方。 我现在更习惯这么理解: VNI:就是 VXLAN 里的那个业务编号,可以理解成“隧道里带着走的标签”; VSI:设备本地的一个二层业务实例,理解成“这台设备上的一个虚拟交换域”就行; BD:桥接域,很多厂商会更常说这个词,本质上也是一个二层广播域的概念。 如果说得再直白一点: VSI / BD 更像是设备本地怎么看这个二层业务,VNI 更像是这个业务放到 VXLAN 隧道里之后对应的编号。 所以很多时候,你会看到某个 VSI 下面去绑一个 VXLAN VNI。 这其实就是在说:把这个本地二层业务域,映射到某个 VXLAN 网络编号上。 至于 VSI 和 BD,到底是不是完全一样,不同厂商实现会有些表达差异。 但在学习和看实验配置的时候,你完全可以先把它们都理解成“二层广播域”。 5、二层 VNI 和三层 VNI 的区别 这个点真的很重要,很多时候一旦这里理顺了,后面的分布式网关、租户三层互通就顺了。 (1)二层 VNI 二层 VNI 主要负责承载 二层业务。 你可以把它理解成:把同一个二层网段,通过 VXLAN 的方式延伸到不同设备上。 它对应的是二层广播域; 更关注 MAC、ARP、主机二层可达; 适合“同一网段跨设备延伸”的场景。 (2)三层 VNI 三层 VNI 就不一样了,它对应的已经不是简单的二层广播域,而是 一个租户的三层转发域。 它更偏向 VPN 实例、租户路由表这些概念; 承载的是三层转发逻辑; 适合不同子网之间的互通。 (3)我自己的记法 二层 VNI 管“同网段怎么延伸”,三层 VNI 管“不同网段怎么互通”。 这么记我觉得最省脑子,也最不容易混。 (4)再说得再通俗一点 二层 VNI:更像是把一个 VLAN 的二层范围,通过 VXLAN 扩展到了别的设备; 三层 VNI:更像是给一个租户准备了一套路由空间,让不同网段之间可以在 VXLAN 网络里转起来。 6、分布式网关和这些概念之间是什么关系 分布式网关这个东西,如果单独背定义,其实挺容易越背越绕。 我自己的理解就是一句话: 让终端无论接到哪台 VTEP,上面都像有“同一个网关”在本地等着它。 这样做的好处是,终端流量不用先绕去远端设备找网关,而是可以本地就完成网关转发。 它通常会和这些东西一起配合: 二层 VNI:负责租户二层网段的延伸; 三层 VNI:负责跨网段的三层转发; EVPN:负责把 MAC/IP 和路由信息发出去; VTEP:负责封装和解封装 VXLAN 报文。 所以整体逻辑可以简单理解成: 终端先接入本地 VTEP → 同网段流量靠二层 VNI 互通 → 跨网段流量在本地分布式网关做三层转发 → 再通过三层 VNI 和 EVPN 控制面把流量和路由带到对端。7、最后说一下我自己看这套配置时会重点盯哪些地方 如果后面我自己再回头看这套实验,我觉得最值得重点盯的还是下面这些点: BGP EVPN 邻居关系:先看谁和谁建邻,谁是 RR,谁是 Client; VSI 配置:看每个业务二层域是怎么建的; VNI 绑定关系:看哪些是二层 VNI,哪些是三层 VNI; 网关接口:看分布式网关地址是怎么落的; VPN 实例:看租户路由表是怎么组织的; EVPN 控制面:看 MAC/IP 和路由信息到底是怎么发布和学习的。 对我自己来说,这样去看会比只盯着单条命令更有效,因为命令本身其实只是表象,真正要弄明白的还是整套网络是怎么联动起来的。 配置文件 下载文件 复制内容 × 正在加载配置文件... #configModalScrollBox::-webkit-scrollbar { width: 18px; height: 18px;}#configModalScrollBox::-webkit-scrollbar-track { background: #e5e7eb; border-radius: 10px;}#configModalScrollBox::-webkit-scrollbar-thumb { background: #9ca3af; border-radius: 10px; border: 3px solid #e5e7eb;}#configModalScrollBox::-webkit-scrollbar-thumb:hover { background: #6b7280;}#configModalScrollBox { scrollbar-width: auto; scrollbar-color: #9ca3af #e5e7eb;}var currentConfigUrl = '';var currentConfigTitle = '';function openConfigModal(url, title) { currentConfigUrl = url; currentConfigTitle = title; document.getElementById('configModalTitle').innerText = title; document.getElementById('configModalContent').innerText = '正在加载配置文件...'; document.getElementById('configDownloadBtn').href = url; document.getElementById('configDownloadBtn').setAttribute('download', title); document.getElementById('configModalMask').style.display = 'block'; document.getElementById('configModal').style.display = 'block'; document.body.style.overflow = 'hidden'; fetch(url) .then(function(response) { if (!response.ok) { throw new Error('HTTP状态码:' + response.status); } return response.text(); }) .then(function(text) { document.getElementById('configModalContent').innerText = text; }) .catch(function(error) { document.getElementById('configModalContent').innerText = '配置文件加载失败\\n\\n可能原因:\\n1. 文件路径不对\\n2. 文件权限不足\\n3. Web 服务未开放 txt 访问\\n4. 文章内容中的 JS 被过滤\\n\\n错误信息:' + error; });}function closeConfigModal() { document.getElementById('configModalMask').style.display = 'none'; document.getElementById('configModal').style.display = 'none'; document.body.style.overflow = '';}function copyConfigContent() { var text = document.getElementById('configModalContent').innerText; if (!text || text === '正在加载配置文件...') { alert('当前没有可复制的配置内容'); return; } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(function() { alert('配置内容已复制'); }).catch(function() { fallbackCopyText(text); }); } else { fallbackCopyText(text); }}function fallbackCopyText(text) { var textarea = document.createElement('textarea'); textarea.value = text; textarea.style.position = 'fixed'; textarea.style.left = '-9999px'; textarea.style.top = '0'; document.body.appendChild(textarea); textarea.focus(); textarea.select(); try { document.execCommand('copy'); alert('配置内容已复制'); } catch (err) { alert('复制失败,请手动复制'); } document.body.removeChild(textarea);}document.getElementById('configModalMask').onclick = closeConfigModal;document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { closeConfigModal(); }}); -
近期团队人员懈怠,记一次会议沟通记录 2、关于金融港工区轮值安排XXX伙伴已经离职了,他之前主要负责 XXX 工区,也是一位非常负责的伙伴,大家后面可以简单欢送一下。因为目前新人还没有到岗,在新人到来之前,金融港工区的相关工作需要大家一起先顶一段时间,先通过轮值的方式来保障工作正常开展,资产和 IT 的伙伴一起参与。从下周一开始、具体安排如下:①、轮值周期为 每人一周,先从 资产组开始排班,资产排完之后再由 IT 组继续轮值;②、轮值到金融港的伙伴,需要 同时承担该工区的资产和 IT 相关工作;③、轮值安排 从下周开始执行,先从 郑万玉开始,万玉结束后由 雨生接替;④、每周轮值结束时,当前负责的伙伴需要在 周五与下一位伙伴做好工作交接,确保工作连续。⑤、万玉去金融港值班的时候,王昊来中安,新城的资产工作,新林帮衬着一下 过渡讲话:金融港这个事情其实也是一个例子,我也想借这个机会把团队的一些工作原则跟大家再讲清楚。 3、团队去年的绩效已经过去好几个月了,大家听过看绩效结果也能看出来公司的一个趋势和原则;今天我想把一个原则讲清楚:团队工作是以结果为导向的。分配到的任务,希望大家先接住,再想办法推进,而不是一上来就推、就说“忙”“做不了”。如果安排的工作做不了,确实存在工作冲突,可以把你现在在做什么、优先级在哪里说清楚,协调解决。但我不希望出现一边说很忙,一边时间又没有真正投入到工作上的情况。公司对办公区域有正常的管理和记录机制,这些大家也都清楚。有我会看,总部那边也会看。作为管理者,我们更多还是基于事实来判断大家的投入和产出。 另外也想和大家说清楚一点:薪酬调整和绩效评定本身就是择优机制。如果到发布绩效或薪酬调整的时候再去争论,其实意义不大。绩效更多是靠平时一点点工作积累形成的,日常承担了多少事情、解决了多少问题、交付质量怎么样,这些都会体现在最终结果上。咱们绩效和薪酬调整是择优机制。谁承担更多、解决问题更多、工作产出更稳定,自然就会排在更靠前的位置;如果长期只做自己所谓份内的最低动作,那在绩效评优和加薪时排在后面,这是结果,不是惩罚。公司有正常的管理机制,我们也会基于事实去判断投入和产出,这对团队和个人发展都更有帮助。