附录:EVPN 多宿主交换矩阵创建示例
整个附录部分中显示的示例是在考虑功能测试的情况下制作的。还对 WAN 路由器集成进行了快捷方式,这不是生产级设计。不过,通过下面的设计,您可以轻松评估新园区交换矩阵的部署方式。
园区交换矩阵 EVPN 多宿主组件
此配置示例使用以下设备:
- 两台 QFX5110 交换机作为分配设备,软件版本:Junos OS 22.4R3-S2 或更高版本。
- 两台接入层 EX4100 交换机,软件版本:Junos OS 22.4R3-S2 或更高版本。
- 一台 SRX345 WAN 路由器,软件版本:Junos OS 21.2R3-S7 或更高版本。
- 瞻博网络接入点。
- 两个充当有线客户端的 Linux 桌面。
瞻博网络 Mist Wired Assurance
通过瞻博网络 Mist 门户,可以使用瞻博网络 Mist Wired Assurance 来集中管理所有瞻博网络交换机。瞻博网络 Mist Wired Assurance 可让您全面了解构成网络接入层的设备。该门户提供了一个用户界面,您可以使用瞻博网络 Mist 帐户通过 AI 驱动型云服务访问您的架构。您可以监控、衡量有线网络上的关键合规性指标并接收警报。这包括交换机版本和 PoE 合规性、交换机接入点关联性和 VLAN 洞察。
以下链接介绍了如何将交换机瞻博网络接入 瞻博网络 Mist 云: https://www.juniper.net/documentation/us/en/quick-start/hardware/cloud-ready-switches/topics/topic-map/step-1-begin.html
通过门户,瞻博网络 Mist Wired Assurance 用于从头开始构建园区交换矩阵 EVPN 多宿主。这包括以下内容:
- 在核心层与分布层之间分配点对点 (P2P) 链路。
- 为参与底层和叠加的设备分配唯一的 BGP AS 编号。
- 创建 VRF 实例允许您从逻辑上对流量进行分段。这还包括将新的或现有的 VLAN 分配给每个具有代表性的 VRF。
- 分配给分布层的每个第 3 层网关集成路由和桥接 (IRB) 接口的 IP 寻址。
- 每个环路接口的 IP 寻址。
- 为底层和叠加连接配置路由策略。
- 优化了 P2P 底层、第 3 层 IRB 和 ESI-LAG 束的最大传输单元 (MTU) 设置。
- 可下载连接表(CSV 格式),供园区交换矩阵物理扩建的人员使用。
- 图形界面描述了具有 BGP 对等和物理链路状态的所有设备。
有关 瞻博网络 Mist Wired Assurance 的更多信息,请参阅: https://www.mist.com/documentation/category/wired-assurance/
瞻博网络 Mist Wired Assurance 交换机
您必须验证参与园区交换矩阵的每台设备是否都已被采用或声明并分配给某个站点。交换机以交换矩阵中的相应层命名,以便于构建和操作交换矩阵。
模板
通过瞻博网络 Mist 云进行交换机管理的一个关键功能是,使用模板和分层模型对交换机进行分组并进行批量更新。模板提供了统一性和便利性,而层次结构(站点和交换机)提供了可扩展性和粒度。
模板和分层模型意味着您可以创建模板配置,然后每个组中的所有设备继承模板设置。例如,当发生冲突时,当网站和组织级别的设置都适用于同一设备时,较窄的设置(在本例中为站点设置)将覆盖在组织级别定义的较宽设置。
层次结构底部的单个交换机可以继承在组织级别定义的全部或部分配置,然后再继承在站点级别定义的配置。当然,各个交换机也可以有其独特的配置。
您可以在层次结构的任何级别包含单独的 CLI 命令,然后以“AND”为基础附加到该组中的所有交换机,也就是说,各个 CLI 设置将附加到现有配置中(现有设置可能会被替换或附加)。
如果对非门户原生的项目运行 CLI 命令,则最后应用此配置数据;覆盖同一节中的现有配置数据。您可以从交换机模板或单个交换机配置访问 CLI 命令选项。
在 组织>交换机模板下,我们使用以下模板:
我们提供以下 JSON 格式的模板副本,用于导入您自己的系统进行验证:
{
"ntp_servers": [],
"dns_servers": [
"8.8.8.8",
"9.9.9.9"
],
"dns_suffix": [],
"additional_config_cmds": [],
"networks": {
"vlan1099": {
"vlan_id": 1099,
"subnet": "10.99.99.0/24"
},
"vlan1088": {
"vlan_id": 1088,
"subnet": "10.88.88.0/24"
},
"vlan1033": {
"vlan_id": 1033,
"subnet": "10.33.33.0/24"
}
},
"port_usages": {
"myaccess": {
"mode": "trunk",
"disabled": false,
"port_network": "vlan1033",
"voip_network": null,
"stp_edge": false,
"port_auth": null,
"all_networks": false,
"networks": [
"vlan1033",
"vlan1088",
"vlan1099"
],
"speed": "auto",
"duplex": "auto",
"mac_limit": 0,
"persist_mac": false,
"poe_disabled": false,
"enable_qos": false,
"storm_control": {},
"mtu": 9018,
"description": ""
},
"myesilag": {
"mode": "trunk",
"disabled": false,
"port_network": null,
"voip_network": null,
"stp_edge": false,
"port_auth": null,
"all_networks": true,
"networks": [],
"speed": "auto",
"duplex": "auto",
"mac_limit": 0,
"persist_mac": false,
"poe_disabled": false,
"enable_qos": false,
"storm_control": {},
"mtu": 9014,
"description": ""
},
"dynamic": {
"mode": "dynamic",
"reset_default_when": "link_down",
"rules": []
},
"vlan1099": {
"mode": "access",
"disabled": false,
"port_network": "vlan1099",
"voip_network": null,
"stp_edge": false,
"all_networks": false,
"networks": null,
"port_auth": null,
"speed": "auto",
"duplex": "auto",
"mac_limit": 0,
"persist_mac": false,
"poe_disabled": false,
"enable_qos": false,
"storm_control": {},
"mtu": 9014,
"description": "Corp-IT",
"disable_autoneg": false,
"mac_auth_protocol": null,
"enable_mac_auth": null,
"mac_auth_only": null,
"guest_network": null,
"bypass_auth_when_server_down": null
},
"vlan1088": {
"mode": "access",
"disabled": false,
"port_network": "vlan1088",
"voip_network": null,
"stp_edge": false,
"all_networks": false,
"networks": null,
"port_auth": null,
"speed": "auto",
"duplex": "auto",
"mac_limit": 0,
"persist_mac": false,
"poe_disabled": false,
"enable_qos": false,
"storm_control": {},
"mtu": 9014,
"description": "Developers",
"disable_autoneg": false,
"mac_auth_protocol": null,
"enable_mac_auth": null,
"mac_auth_only": null,
"guest_network": null,
"bypass_auth_when_server_down": null
},
"vlan1033": {
"mode": "access",
"disabled": false,
"port_network": "vlan1033",
"voip_network": null,
"stp_edge": false,
"all_networks": false,
"networks": null,
"port_auth": null,
"speed": "auto",
"duplex": "auto",
"mac_limit": 0,
"persist_mac": false,
"poe_disabled": false,
"enable_qos": false,
"storm_control": {},
"mtu": 9014,
"description": "Guest-WiFi",
"disable_autoneg": false,
"mac_auth_protocol": null,
"enable_mac_auth": null,
"mac_auth_only": null,
"guest_network": null,
"bypass_auth_when_server_down": null
}
},
"switch_matching": {
"enable": true,
"rules": [
{
"name": "core",
"match_model": "EX9204",
"port_config": {},
"additional_config_cmds": [
""
],
"ip_config": {
"type": "dhcp",
"network": "default"
},
"oob_ip_config": {
"type": "dhcp",
"use_mgmt_vrf": false
}
},
{
"name": "distribution",
"port_config": {},
"additional_config_cmds": [
""
],
"ip_config": {
"type": "dhcp",
"network": "default"
},
"oob_ip_config": {
"type": "dhcp",
"use_mgmt_vrf": false
},
"match_model[0:7]": "QFX5120"
},
{
"name": "access",
"port_config": {
"ge-0/0/16": {
"usage": "myaccess",
"dynamic_usage": null,
"critical": false,
"description": "",
"no_local_overwrite": true
}
},
"additional_config_cmds": [
""
],
"ip_config": {
"type": "dhcp",
"network": "default"
},
"oob_ip_config": {
"type": "dhcp",
"use_mgmt_vrf": false
},
"match_model[0:6]": "EX4400"
}
]
},
"switch_mgmt": {
"config_revert_timer": 10,
"root_password": "juniper123",
"protect_re": {
"enabled": false
},
"tacacs": {
"enabled": false
}
},
"radius_config": {
"auth_servers": [],
"acct_servers": [],
"auth_servers_timeout": 5,
"auth_servers_retries": 3,
"fast_dot1x_timers": false,
"acct_interim_interval": 0,
"auth_server_selection": "ordered",
"coa_enabled": false,
"coa_port": ""
},
"vrf_config": {
"enabled": false
},
"remote_syslog": {
"enabled": false
},
"snmp_config": {
"enabled": false
},
"dhcp_snooping": {
"enabled": false
},
"acl_policies": [],
"mist_nac": {
"enabled": true,
"network": null
},
"name": "campus-fabric"
}
拓扑结构
瞻博网络 Mist Wired Assurance 可在访问设备的管理 IP 地址后,为每个塌缩核心层设备提供 LAN 和环路 IP 寻址模板。每个设备都配置了一个 /32 环路地址和 /31 点对点接口,用于将园区交换矩阵内的塌缩核心层设备互连。接入层交换机等设备使用标准 LAG 连接到分布层;而塌缩核心层则以多宿主、负载平衡的方式使用 ESI-LAG。
WAN 路由器可以通过门户进行配置,但独立于园区交换矩阵工作流程。WAN 路由器配置为可以连接到核心交换机上的 ESI-LAG。WAN 路由器可以独立使用,也可以构建为高可用性群集。在本文档中,将单个 SRX 路由器用作 WAN 路由器。
有一个 JVD 扩展,涵盖有关 WAN 路由器集成的更多详细信息,特别是对于生产级安装。此处显示的是一种快速方法,该方法已知限制不适用于生产环境。
创建园区交换矩阵
- 从门户左侧的 “组织” 中,选择 “园区交换矩阵”。
图 5:园区交换矩阵创建
Mist 提供了在组织或站点级别部署园区交换矩阵的选项,如下所示的园区交换矩阵菜单左上角所示。现在,这两种设计都使您能够根据客户要求仅使用单个 PoD 或多个 PoD 构建交换矩阵,以连接多栋建筑。在 EVPN 多宿主交换矩阵中,如果没有 PoD,只能进行站点级部署。
在此所示的示例中,交换矩阵是在站点级别构建的:
图 6:交换矩阵站点级别创建
选择园区交换矩阵拓扑结构
-
选择下方的园区交换矩阵 EVPN 多宿主选项:
图 7:EVPN 多宿主交换矩阵创建
Mist 提供了一个部分来命名园区交换矩阵 EVPN 多宿主:
- 配置 — 根据公司标准提供名称。
- 虚拟网关 v4 MAC 地址 — 您可以在此处配置用于所有 VLAN 的网关的全局 MAC 地址(分配的默认值)。或者,每个 VLAN 的 MAC 地址可以是唯一的(故障排除时首选)。
拓扑设置
- BGP 本地 AS — 用于所有控制平面交互的 BGP AS 编号。
- AS 基数 — 表示为每个塌缩核心层设备自动分配的专用 BGP AS 编号的起点。您可以使用适合您部署的任何专用 BGP AS 编号范围。
- 子网 — 表示用于设备之间 P2P 链路的 IP 地址池。您可以使用适合部署的任何范围。Mist 将此子网分解为每个链路的 /31 个子网寻址。可以修改此数字以适应特定的部署规模。例如,/24 提供多达 128 个 P2P /31 子网。
- 自动路由器 ID 子网 — 表示与每个设备的环路地址关联的 IP 地址池。每个设备都会自动从此池中分配一个 /32 的环路 IP 地址。您可以使用适合部署的任何范围。使用 VTEP 的 VXLAN 隧道与此地址相关联。此处分配的环路 IP 地址仅在底层传输网络中可见。这些底层环路 IP 地址的定义对于 EVPN-VXLAN 交换矩阵的正常运行至关重要。
注意:建议将所有选项都设置为默认设置,除非它与连接到园区交换矩阵的其他网络发生冲突。每层之间的 P2P 链路利用 /31 寻址来保存地址。
选择园区交换矩阵节点
-
选择要加入园区交换矩阵 EVPN 多宿主每一层的设备。在创建园区交换矩阵之前,建议您验证每个设备是否存在于站点的交换机清单中。
下一步是将交换机分配给层。由于交换机是相对于目标层功能命名的,因此可以快速将其分配到各自的角色。
图 8:选择交换矩阵节点

-
将所有设备分配到相应层后,您必须为每台设备提供底层环路 IP 地址(接入交换机除外)。此环路接口与称为 VTEP 的逻辑结构相关联;用于获取 VXLAN 隧道。园区交换矩阵 EVPN 多宿主具有用于在塌缩核心层交换机上进行 VXLAN 隧道的 VTEP。
定义自动路由器 ID 子网前缀时,会自动进行底层环路 IP 地址和路由器 ID 分配。无需手动分配它们。利用此最佳实践。
配置网络
-
输入网络信息,例如 VLAN 和 VRF 选项。VLAN 映射到 VNI,也可选择映射到 VRF,以提供一种从逻辑上将流量(例如 IoT 设备流量)与公司 IT 流量分开的方式。
图 9:配置网络
网络
-
可以在此部分下创建或导入 VLAN,包括每个 VLAN 的 IP 子网和默认网关。
园区交换矩阵模板的“ 共享元素” 部分包括上述创建 VLAN 的网络部分。
图 10:交换机模板
继承的网络
- 返回园区交换矩阵构建,选择包含第 2 层 VLAN 信息的现有模板。所有 VLAN 和 IP 信息均继承自模板。
图 11:从模板
导入网络
可以编辑、新添加或从现有模板添加网络:
图 12:编辑网络
对于每个网络,按照以下示例添加子网和虚拟网关的信息:
图 13:网络 1099 和 VGA
图 14:网络 1088 和 VGA
图 15:网络 1033 和 VGA
其他 IP 配置
瞻博网络 Mist Wired Assurance 为每个 VLAN 的 IRB 接口提供自动 IP 寻址。然后,端口配置文件和端口配置会将 VLAN 与指定的端口相关联。在本案例中,我们在园区交换矩阵构建之初就选择了园区交换矩阵 EVPN 多宿主。此选项对参与第 3 层子网的所有设备使用虚拟网关寻址。核心 1 和核心 2 交换机为每个第 3 层子网配置了一个共享 IP 地址。此地址在两个核心交换机之间共享,并充当 VLAN 内所有设备的默认网关。每个核心设备还会收到一个由瞻博网络 Mist 选择的唯一 IP 地址。所有地址都可以根据客户要求进行管理。瞻博网络 Mist 从每个子网的开头开始为核心 1 和核心 2 分配 IP 地址,最终用户可以相应地修改这些 IP 地址。例如,此部署使用 x.x.x.1 作为每个 VLAN 的默认网关,并将 x.x.x.254 用作离开 VLAN 的所有流量的最后手段网关(在本例中为 MX 路由器)。因此,我们将分配给 Core1 的 IP 地址从 x.x.x.1 修改为 x.x.x.3,以便虚拟网关对所有 VLAN 使用 x.x.x.1。
图 16:所用叠加 VLAN 的核心 1 静态 IP
图 17:所用叠加 VLAN 的 Core2 静态 IP
默认情况下,所有 VLAN 都放置在默认 VRF 中。VRF 选项允许您根据流量隔离要求将公共 VLAN 分组到相同的 VRF 中或单独的 VRF 中。此示例包括三个 VRF 或路由实例:corp-it、developers 和 guest-wifi。
- 在这里,您将构建第一个 corp-it VRF 并选择预定义的 VLAN 1099。
图 18:启用 VRF
图 19:将网络分配给 VRF
默认情况下,园区交换矩阵内不支持 VRF 间通信。如果需要 VRF 间通信,每个 VRF 都可以包含额外的路由,如指示园区交换矩阵使用外部路由器或防火墙进行进一步安全检查或路由功能的默认路由。在此示例中,所有流量都通过 ESI-LAG 进行中继,SRX 防火墙处理 VRF 间路由。参见 图 13:拓扑结构。
请注意,SRX 防火墙参与园区交换矩阵内定义的 VLAN,并且是离开子网的所有流量的最后手段网关。
- 选择添加 额外路由 选项,通知瞻博网络 Mist 转发离开 10.99.99.0/24 的所有流量,以使用 MX 路由器的下一跃点:10.99.99.254。
图 20:添加默认路由
- 再创建两个 VRF:
- 开发人员使用 vlan 1088 和 0.0.0.0/0,利用 10.88.88.254
- 使用 VLAN 1033 和 0.0.0.0/0 的访客 wifi VRF,利用 10.33.33.254
图 21:整个网络和 VRF 配置
- 下一步,您需要提供一个名称,如“fabric-lag”,交换矩阵将用于在所有接入交换机和塌缩核心层交换机之间建立冗余 LAG 接口。所有创建的 VLAN 都应自动添加为将来的中继网络。
图 22:交换矩阵 LAG 配置
- 该部分配置分布交换机和接入交换机之间的主动-主动 ESI-LAG 中继。在这里,我们为端口配置命名,并包括与此配置关联的 VLAN。高级选项卡提供了其他配置选项:
图 23:交换矩阵 LAG
注意:除非需要特定要求,否则建议设置默认设置。
- 现在,所有 VLAN 均已配置并分配给每个 VRF,并且分布和接入 ESI-LAG 也已构建完毕,请单击门户右上角的 继续 按钮,以转到下一步。
配置园区交换矩阵端口
最后一步是在核心交换机和接入交换机之间选择物理端口。
图 24:端口概述
注意:为确保准确性,建议在部署过程的此步骤之前,在两台塌缩核心层交换机上运行 CLI 命令“show lldp neighbors”。
塌缩核心交换机
核心 1:
-
现在,我们已准备好选择与塌缩核心层交换机互连的端口。您必须选择 et-0/0/48 作为塌缩核心层链路,然后选择 Link1。
图 25:第一个链路核心 1

- 核心1 秒链路。您必须选择 et-0/0/49 作为折叠核心链路,然后选择 链路 2。
图 26: 图:第二个链路核心 1

- Core1 的第一个链接到 Access1。您可以选择 xe-0/0/1 作为 Access1 的链接。

- 这是 Core1 到 Access2 的第二个链接。您可以选择 xe-0/0/2 作为 Access2 的链接。

核心 2:
- 这是 Core2 的第一个链接。您必须选择 et-0/0/48 作为塌缩核心层链路,然后选择 Link1。

.

- 这是 Core2 的第二个链路您必须选择 et-0/0/49 作为塌缩核心层链路,然后选择 Link2。

.

- 这是 Core2 到 Access1 的第一个链接。您可以选择 xe-0/0/1 作为 Access1 的链接。
.png)
- 这是 Core2 与 Access2 的第一个链接。您可以选择 xe-0/0/2 作为 Access2 的链接。
接入交换机
您现在可以选择与塌缩核心层交换机互连的端口。
同时选择上行链路和接口速度,同时允许瞻博网络 Mist 定义每个 AE 索引。在这种情况下,上行链路 xe-0/2/0、xe-0/2/3 将分别选为接入交换机上的核心链路,并在 Access2 和 1 上选择 AE 索引 0/1(系统默认编号)。
访问1:

访问2:

选择所有必要的端口组合后,单击门户右上角的“ 继续” 按钮。
园区交换矩阵配置确认
最后一部分提供了确认每个设备配置的功能,如下所示:
图 27:交换矩阵确认视图
注意:由于我们已经配置了自动路由器 ID 子网的使用,因此此页面可能仍未分配底层环路 IP 地址,并且可能会出现如上所示的警告。暂时忽略此设置,因为分配会在您首次应用配置时进行。
- 完成验证后,选择门户右上角的“ 应用更改 ”选项。
图 28:将更改应用于交换矩阵
您必须完成第二阶段确认才能创建交换矩阵。
瞻博网络 Mist 将显示以下横幅,其中包括园区交换矩阵的预计构建时间。该过程包括以下内容:
- 瞻博网络 Mist 使用从构建开始时提供的范围内选择的 IP 地址构建分布设备与核心设备之间的 P2P 接口。
- 使用构建开始时提供的范围内的环路地址配置每个设备。
- eBGP 使用唯一的 BGP 自治系统编号在每台设备上调配。底层网络的主要目标是利用 ECMP 在每个数据包级别上对流量进行负载平衡,以实现设备环路可达性。eBGP 叠加的主要目标是使用 EVPN-VXLAN 传输客户流量。
- 在位于 Dist1 和 Dist2 上的每个第 3 层网关 IRB 上应用 IP 地址。
- 在每个环路接口上应用 IP 地址,在这种情况下,这是自动完成的。
- 为底层和叠加连接配置路由策略。
- 优化 P2P 底层、第 3 层 IRB 和 ESI-LAG 束的 MTU 设置。
- 使用自动分配的 VNI 地址进行 VXLAN 到 VLAN 的映射。
- 为公司 IT、开发人员和访客 wifi 创建 VRF 以及与每个 VRF 关联的 VLAN。
- 在分布设备和分布核心设备之间创建 VXLAN 隧道(以支持在后续步骤中配置的北向 MX 路由器)。
- 创建可下载的连接表(CSV 格式),供园区交换矩阵物理构建的人员使用。
- 显示一个图形界面,其中描述了具有 BGP 对等的所有设备以及物理链路的状态。
图 29:应用更改
- 单击 关闭园区交换矩阵配置后,您可以查看新创建的园区交换矩阵 EVPN 多宿主的摘要。
图 30:创建的 EVPN 多宿主交换矩阵视图
借助瞻博网络 Mist Wired Assurance,您可以下载表示园区交换矩阵物理布局的连接表(CSV 格式)。这可用于验证参与物理园区交换矩阵构建的所有交换机互连。园区交换矩阵建成或正在构建后,您可以下载连接表。
图 31:下载连接表 CSV
连接表电子表格:
图 32:下载的连接表
将 VLAN 应用于接入端口
如前所述,瞻博网络 Mist 能够将众所周知的服务(如 RADIUS、NTP、DNS 等)模板化,这些服务可在站点内的所有设备上使用。这些模板还可以包括 VLAN 和端口配置文件,可针对站点内的每台设备。验证前的最后一步是将 VLAN 与每个接入交换机上的必要端口相关联。
在这种情况下,Desktop1 和 2 与每个接入交换机上的不同端口相关联,需要将配置分别应用于 Access1 和 2。见 图 1。
还值得注意的是,瞻博网络接入点在 Access1 和 2 上连接到同一个端口,因此可以使用此配置对交换机模板进行自定义。例如,对交换机模板选项下的以下内容进行自定义,以将每台交换机与其角色相关联:核心、分布和接入。此外,所有接入交换机(例如,由瞻博网络® EX4400 交换机定义)都将名为“myaccess”的接入点端口配置文件与 ge-0/0/16 相关联,无需单独配置每台交换机。
进行端口配置
以 Access1 为例,我们将 vlan1099 应用于 Access1 上的 端口配置 部分下的端口 ge-0/0/11。在此示例中,交换机模板中定义了 vlan1099 (corp-it)、vlan1088 (developers) 和 vlan1033 (guest-wifi)。此处,在配置文件下选择了 vlan1099:
vlan1099 的交换机模板定义如下所示,表示与 VLAN 关联的属性,例如 dot1x 身份验证、QoS 和 PoE。需要以类似的方式配置 vlan1088 和 vlan1033。