作者:Tony Liu 译者:TF编译组
1 总览
本指南介绍如何使用MX作为网关(gateway),为Tungsten Fabric(编者按:原文为Contrail,其开源版已更名为Tungsten Fabric,本文出现Contrail之处均以Tungsten Fabric替换)管理的overlay层提供external或underlay连接。
根据性能要求,网关可以连接到主干(spine)或叶子(leaf)。
2 Underlay/INET
2.1 eBGP
在典型的IP结构中,所有叶子(leaves)、主干(spines)和网关(gateways)都使用eBGP来建立underlay连接。
2.2 IBGP
对于iBGP,建议使用RR(路由反射器)以避免所有BGP节点之间的完全网状对等连接。
3 Overlay/VPN
3.1 环回地址
在每个MX上都会分配并派发环回地址(loopback address)。它用于控制节点的BGP对等,以及vRouter的隧道(tunneling)。Tungsten Fabric和环回地址之间的连接由underlay提供。
如果将单独的接口用于控制平面和数据平面,则当MX通告路由时,控制接口的地址将用作下一跳。要解决此问题,应将环回接口同时用于控制平面和数据平面。
set interfaces lo0 unit 0 family inet address 10.6.0.31/32
3.2 BGP
3.2.1 AS
通常,网关具有一个全局唯一ASN。
set routing-options autonomous-system 64031
3.2.2 EBGP AND IBGP
当Tungsten Fabric和网关位于不同的AS中时,将使用eBGP。
set protocols bgp group vpn-contrail type external
set protocols bgp group vpn-contrail multihop
set protocols bgp group vpn-contrail local-address 10.6.0.31
set protocols bgp group vpn-contrail keep all
set protocols bgp group vpn-contrail family inet-vpn unicast
set protocols bgp group vpn-contrail family evpn signaling
set protocols bgp group vpn-contrail family route-target
set protocols bgp group vpn-contrail neighbor 10.6.11.1 peer-as 64512
当Tungsten Fabric和网关位于同一AS中时,将使用iBGP。
set protocols bgp group vpn-contrail type internal
set protocols bgp group vpn-contrail local-address 10.6.0.31
set protocols bgp group vpn-contrail keep all
set protocols bgp group vpn-contrail family inet-vpn unicast
set protocols bgp group vpn-contrail family evpn signaling
set protocols bgp group vpn-contrail family route-target
set protocols bgp group vpn-contrail neighbor 10.6.11.1
当网关全局ASN与Tungsten Fabric ASN不同时,可以使用local-as来启用iBGP。
set protocols bgp group vpn-contrail type internal
set protocols bgp group vpn-contrail local-address 10.6.0.31
set protocols bgp group vpn-contrail local-as 64512
set protocols bgp group vpn-contrail keep all
set protocols bgp group vpn-contrail family inet-vpn unicast
set protocols bgp group vpn-contrail family evpn signaling
set protocols bgp group vpn-contrail family route-target
set protocols bgp group vpn-contrail neighbor 10.6.11.1 peer-as 64512
3.3 BGP Family
3.3.1 L3VPN
set protocols bgp group vpn-contrail family inet-vpn unicast
3.3.2 EVPN
set protocols bgp group vpn-contrail family evpn signaling
3.3.3 ROUTE TARGET
set protocols bgp group vpn-contrail family route-target
Family“route-target”是用于优化的。在MX上进行配置时,如果存在VRF导入策略,MX将会发布route-target路由。在将VPN-IPv4路由发布给邻居之前,MX还会检查route-target路由表。如果该路由中的route-target未被邻居通告,则MX不会通告该路由。
如果控制平面和数据平面上的接口是分开的,则MX从Tungsten Fabric控制节点接收route-target路由。RT路由的下一跳是控制节点地址(在控制平面上)。MX会尝试解决数据平面上MPLS表(inet.3)中的下一跳,但是会失败。这样,RT路由不会生效,而会被隐藏。结果是MX没有发布路由。为了解决这个问题,可以在inet.3中添加静态路由,以使下一跳的控制接口可以被解析。然后,MX应用RT路由并发布路由。Tungsten Fabric没有此类问题,因为它不会尝试解析下一跳。
3.4 隧道(Tunnel)
Tunnel service是必须要启用的。这里有一个示例。
set chassis fpc 0 pic 0 tunnel-services bandwidth 1g
3.4.1 MPLSOGRE隧道
对于L3VPN,在BGP收到INET-VPN路由并将其放在表bgp.l3vpn.0中之后,它将为该路由寻找MPLS路径。BGP尝试解析表inet.3中的路由。如果成功,将创建GRE隧道并在inet.3中添加MPLS路由。否则,该路由将会被隐藏在bgp.l3vpn.0中。
在启用隧道后,destination-networks的路由将被添加到inet.3中。这里是一个示例。
set routing-options dynamic-tunnels contrail source-address 10.6.0.31set routing-options dynamic-tunnels contrail greset routing-options dynamic-tunnels contrail destination-networks 10.6.11.0/24
source-address is the loopback address.
这是表inet.3中GRE隧道路由的示例。
10.6.11.4/32 (1 entry, 1 announced)
*Tunnel Preference: 300
Next hop type: Router, Next hop index: 0
Address: 0xd7a9210
Next-hop reference count: 3
Next hop: via gr-0/0/0.32769, selected
Session Id: 0x0
State:
Local AS: 64031
Age: 10
Validation State: unverified
Task: DYN_TUNNEL
Announcement bits (2): 0-Resolve tree 1 1-Resolve_IGP_FRR task
AS path: I
这是动态隧道数据库。
> show dynamic-tunnels database
*- Signal Tunnels #- PFE-down
Table: inet.3
Destination-network: 10.6.11.0/24
Tunnel to: 10.6.11.1/32 State: Up (expires in 00:06:58 seconds)
Reference count: 0
Next-hop type: gre
Source address: 10.6.0.31
Next hop: gr-0/0/10.32769
State: Up
Tunnel to: 10.6.11.7/32 State: Up
Reference count: 2
Next-hop type: gre
Source address: 10.6.0.31
Next hop: gr-0/0/10.32770
State: Up
3.4.2 MPLSOUDP TUNNEL
UDP隧道更适合于负载均衡。
set routing-options dynamic-tunnels contrail source-address 10.6.0.31
set routing-options dynamic-tunnels contrail udp
set routing-options dynamic-tunnels contrail destination-networks 10.6.11.0/24
这是表inet.3中UDP隧道路由的示例。
10.6.11.4/32 (1 entry, 1 announced)
*Tunnel Preference: 300
Next hop type: Tunnel Composite, Next hop index: 0
Address: 0xd7a87f0
Next-hop reference count: 2
Tunnel type: UDP, Refer