JUNOS 101更新: Day One – 部署MBGP组播VPN

The networking industry has been looking for the best way to offer Multicast VPN services while leveraging the strength and scalability of the existing unicast technology. The result of several year’s effort is Multi-Protocol BGP Multicast VPN, often referred to as MBGP MVPN. This technology has received a warm welcome in the market and is already deployed in many production networks, ranging from Tier-1 service providers to financial and trading companies.

This Week: Deploying MBGP Multicast VPNs assumes the reader has at least some experience with IP/MPLS architectures, including Multi-Protocol BGP and IGPs, but you need not be an expert in Multicast as the basic concepts are revisited in the book.
Whatever you bring to this book will only be amplified by the clear explanations, the explicit samples, and its attention to detail. Step-by-step the author walks you through a technology that can be explored and stood up in a week. Roll up your sleeves. It’s time to get down to work.

Deploying Multicast VPNs

学习笔记: Internet cheat sheets on PacketLife

Stretch@packetlife一直在blog上发布一系列技术Cheat Sheets ── 浓缩式技术笔记,或者是考试前提前准备的小抄。:-D 这些Cheat Sheets涵盖了包括BGP、IS-IS、OSPF、802.11、QoS……甚至Physical Terminations等各方面的内容,每一份都是一到两页纸的PDF文件,是很好的一套个人复习笔记。我个人并没有仔细阅读其中的内容,同时希望对您有所帮助。当然,Stretch所做的远远不止单纯发布学习笔记和Cheat Sheets,相对而言应当说这他的兴趣更为准确。详细的信息请参考Site Transition and Other Stuff.

另外,这些Cheat Sheets的国际版目前也正在寻找志愿协作人员,这里有一个BGP Cheat Sheet的法语版本。目前还没有找到中文简体版本的协作者,Stretch编辑的Cheat Sheets无论从界面,还是实用性上面取决于各人观念差异,相信仍然会吸引很大一部分网络工作人员的眼球。如果您有兴趣,可以联系Stretch,相信他会欢迎您的协助。PS: 考虑到版权原因,请到PacketLife上下载相关的资料,下面是相关资料截图 ──

Protocols – BGP

tn_BGP.pdf

Protocols – IS-IS

tn_IS-IS.pdf

Protocols – OSPF

tn_OSPF.pdf

Protocols – EIGRP / First Hop Redundancy

tn_EIGRP.pdftn_First_Hop_Redundancy.pdf

Protocols – IEEE 802.11 WLAN

tn_IEEE_802.11_WLAN.pdf

Protocols – IEEE 802.1x / IPsec

tn_IEEE_802.1X.pdftn_IPsec.pdf

Protocols – IPv4 Multicast / IPv6

tn_IPv4_Multicast.pdftn_IPv6.pdf

Protocols – Spanning Tree

tn_Spanning_Tree.pdf

Applications – Wireshark Display Filters

tn_Wireshark_Display_Filters.pdf

Reference – tcpdump / IOS IPv4 Access Lists

tn_tcpdump.pdftn_IOS_IPv4_Access_Lists.pdf

Reference – IPv4 Subnetting / Common Ports

tn_IPv4_Subnetting.pdftn_common-ports.pdf

Technologies – QoS

tn_QoS.pdf

Technologies – Frame Mode MPLS / VLANs

tn_Frame_Mode_MPLS.pdftn_VLANs.pdf

Miscellaneous – Cisco IOS Versions / Physical Terminations

tn_Cisco_IOS_Versions.pdftn_physical-terminations.pdf

Miscellaneous – Markdown / MediaWiki

tn_Markdown.pdftn_MediaWiki.pdf

Juniper JUNOS BGP与OSPF完全末节区域设计陷阱

完成JUNOS OSPF末节区域(Stub Area)配置以后,需要进一步过滤域间路由LSA-3,压缩OSPF数据库并不难。只需要在ABR上加入no-summary参数,将当前的OSPF末节区域10设置为OSPF完全末节区域(TSA)即可。我们不需要在OSPF 区域10的所有Juniper JUNOS路由器上面设置,因为OSPF LSA-3只会通过OSPF ABR将来自骨干区域的LSA转换为LSA-3注入末节区域,因此我们在OSPF ABR上设置该区域为OSPF末节区域,并且阻止netsummary LSA注入,便可过滤掉LSA-3/4/5三种LSA。在实验中,OSPF区域10存在R3/R4两台ABR,我们需要同时在这两台ABR上面加上no-summary参数。

[edit logical-routers r3 protocols]
nigel@junos# set ospf area 10 stub no-summaries

[edit logical-routers r4 protocols]
nigel@junos# set ospf area 10 stub no-summaries

查看Juniper JUNOS R1的OSPF数据库,只有由两台JUNOS OSPF ABR注入的,用于保持OSPF域外/域间目标网段连通性的默认路由仍然保留在JUNOS OSPF的数据库当中,同时注意这些默认路由依然以OSPF LSA-3的形式出现。OSPF区域10内的路由器仍然保持对200.200/24网段的连通性。

nigel@junos# run show ospf database logical-router r1
netsummary

    OSPF link state database, Area 0.0.0.10
 Type      ID       Adv Rtr   Seq    Age  Opt  Cksum Len
Summary 0.0.0.0  10.0.3.3 0x8000000a  31 0x20 0x849d 28
Summary 0.0.0.0  10.0.3.4 0x8000000b  30 0x20 0x7ea2 28

nigel@junos# run traceroute logical-router r1 200.200.0.1
traceroute to 200.200.0.1 (200.200.0.1), 30 hops max,
40 byte packets
 1  10.0.4.13 (10.0.4.13)  0.476 ms  0.364 ms  0.278 ms
 2  10.0.2.1 (10.0.2.1)  0.438 ms  0.577 ms  0.407 ms
 3  10.0.8.10 (10.0.8.10)  0.613 ms  0.583 ms  0.601 ms
 4  10.0.8.10 (10.0.8.10)  0.581 ms !H  0.661 ms !H
0.548 ms !H

Juniper JUNOS BGP与OSPF完全末节区域(TSA)的设计陷阱

需要特别注意的是:配置OSPF TSA,它往往是事故出现的多灾区域,因为不单失去了OSPF域外路由LSA-5,同时OSPF域间路由LSA-3同时被过滤掉,链路状态的瓶颈会增加OSPF网络的扩展性能。尤其由于设计上的疏忽,尝试在OSPF TSA内实现扩展特性,路由黑洞屡屡会产生。

常见的设计错误包括将本地子网在OSPF TSA内汇总,从而丢失域内路由器全部的外部连通性,使OSPF TSA成为网路孤岛;尝试穿越TSA建立OSPF虚链路;以及OSPF TSA域内路由器通过JUNOS BGP与域外路由器交换路由更新,而造成协议下一跳不可达,进而造成路由Hidden,如此这般的情况时有发生。

这些情况会在后面的内容里面逐一演示。因此在配置JUNOS OSPF区域的时候,需要明确OSPF TSA的角色,任何日后存在扩展性需求的区域都不应该被轻易的定义为OSPF TSA。

Labs: IOS配置基本域间 (Inter-AS) MPLS/VPN服务

一个大型的企业网络(customer A)已经在两个服务提供商(SP Left和SP Right)中铺设了连接他们的VPN站点的MPLS VPN服务,见下图:
basic-inter-as-mpls-vpn-service
虽然客户能够通过在不同的服务提供商之间的一条站点间专线(Inter-Site)建立VPN站点间的连接,但是客户希望能够通过一条运营商之间的链路把两个独立的VPN连接起来,从而避免站点间的流量在站点内部传输。

本练习中,你将使用一个优化客户A所有站点之间连接性能的域间MPLS VPN的设计来连接两个MPLS/VPN骨干;同时你需要在服务提供商之间相互映射路由目标和路由区分符,使用一个不相兼容的地址架构。

作为过渡到铺设成熟的域间服务的临时过渡方案,你需要先建立一条VRF链路来连接两个MPLS/VPN骨干网;每个骨干将被另外一个骨干看作一个巨大的客户站点,见下图。由于ASBR-L和ASBR-R之间只有一条物理链路,你需要把这条VRF链路配置在连接AS边界路由器之间的隧道接口上。
basic-inter-as-mpls-vpn-service
临时过渡方案铺设完毕,并且所有的客户站点已经能够成功连接以后,你需要铺设最终的域间MPLS/VPN解决方案,在AS边界路由器之间通过多协议EBGP交换VPN路由,见下图:
basic-inter-as-mpls-vpn-service

实验演示: IOS配置基本域间 (Inter-AS) MPLS/VPN服务 – 完整版

点击上文↑链接收看高清版本实验视频

youtube labs

实验视频分段演示点播

以下是实验过程中可能使用到的命令:

  • address-family ipv4 vrf-name
    选择在路由协议内为每个VRF进程配置
  • address-family vpnv4
    在BGP路由进程选择VPNv4地址族配置
  • clear ip bgp *|ip-address
    重置BGP会话
  • clear ip bgp *|ip-address soft in
    请求从BGP邻居重新获得BGP路由更新
  • interface Tunnel x
    创建一个隧道接口
  • tunnel destination ip-address
    指定隧道接口所使用的传输目标的IP地址
  • tunnel source ip-address
    指定隧道接口所使用的传输源的IP地址
  • ip vrf forwarding vrf-name
    把一个接口绑定到某个VRF上面
  • ip vrf vrf-name
    创建一个虚拟路由/转发表(VRF)
  • ping vrf-name host
    通过查询某个VRF检验主机的可达性
  • rd value
    为VRF分配路由区分符(RD)
  • address-family ipv4 vrf-name
    选择在路由协议内为每个VRF进程配置
  • address-family vpnv4
    选择VPNv4地址族配置
  • ip vrf forwarding vrf-name
    把一个接口绑定到某个VRF上面
  • ip vrf vrf-name
    创建一个虚拟路由/转发表(VRF)
  • neighbor ip-address remote-as as-number
    配置一个BGP邻居
  • no auto-summary
    关闭在网络边缘的子网自动汇总
  • neighbor ip-address activate
    为指定的邻居激活在地址族下交换路由
  • neighbor ip-address routere-flector-client
    在路由反射器上配置一个路由反射器客户
  • neighbor ip-address next-hop-self
    对于指定的邻居修改BGP下一跳属性
  • no bgp default route-target filter
    关闭缺省的对于VPNv4路由的基于路由目标的过滤
  • ping vrf-name host
    通过查询某个VRF检验主机的可达性
  • route-map name permit seq
    创建一个route-map的条目
  • router bgp as-number
    选择BGP配置
  • route-target import|export value
    给一个VRF分配一个路由目标(Route Target)
  • show ip bgp vpnv4 vrf-name
    显示某个指定邻居的VPNv4路由
  • show ip route vrf-name
    显示某个特定VRF的IP路由表
  • show ip vrf detail
    显示VRF的详细内容
  • telnet host /vrf-name
    Telnet到与特定VRF直连的CE路由器上
  • show ip bgp [ vpnv4 vrf-name ] prefix
    显示某个特定VRF的VPNv4路由

Labs: IOS配置MPLS/VPN PE和CE之间运行BGP

本实验将在MPLS/VPN的PE和CE路由器之间配置BGP路由协议mpls-running-bgp-between-the-pe-and-ce-routers

客户希望把中心站点(A1和A3)从RIP合并到BGP上,而末节站点(A3和A4)则注入RIP缺省路由,见下图:
mpls-running-bgp-between-the-pe-and-ce-routers2

实验演示: IOS配置MPLS/VPN PE和CE之间运行BGP – 完整版

点击上文↑链接收看高清版本实验视频

youtube labs

实验视频分段演示点播

本实验练习中,你将合并PE路由器和CE路由器(A1、A2)的路由协议,由RIP到BGP,你需要完成以下工作——

  1. 配置BGP作为PE路由器和CE路由器之间的路由协议;
  2. 使用AS-override特征集在客户的站点间使用相同的AS号码交换路由
  3. 在A2上使用Local Preference和MED,选择主要链路和备份链路
  4. 通过在PE路由器上通告缺省路由优化RIP路由
  5. 检验当主链路失效以后备份链路对其替换;以及当主链路恢复以后自动成为活跃链路
  6. 调谐BGP时间参数优化BGP收敛

以下是实验过程中可能使用到的命令:

  • address-family ipv4 vrf-name
    选择在路由协议内为每个VRF进程配置
  • address-family vpnv4
    选择VPNv4地址族配置
  • clear ip bgp *|ip-address
    重置BGP会话
  • clear ip bgp *|ip-address soft in
    请求从BGP邻居重新获得BGP路由更新
  • default-information originate
    在特定的路由进程内向邻居通告一条缺省路由
  • ip vrf forwarding vrf-name
    把一个接口绑定到某个VRF上面
  • ip vrf-name
    创建一个虚拟路由/转发表(VRF)
  • ping vrf-name host
    通过查询某个VRF检验主机的可达性
  • rd value
    为VRF分配路由区分符(RD)
  • address-family ipv4 vrf-name
    选择在路由协议内为每个VRF进程配置
  • address-family vpnv4
    选择VPNv4地址族配置
  • neighbor ip-address remote-as as-number
    配置一个BGP邻居
  • neighbor ip-address route-map name in|out
    对于向指定的邻居接收或者发送的BGP路由更新应用一个route-map
  • no auto-summary
    关闭在网络边缘的子网自动汇总
  • no router rip
    关闭RIP路由进程
  • neighbor ip-address activate
    为指定的邻居激活在地址族下交换路由
  • neighbor ip-address routere-flector-client
    在路由反射器上配置一个路由反射器客户
  • ping vrf-name name host
    通过查询某个VRF检验主机的可达性
  • route-map name permit seq
    创建一个route-map的条目
  • router bgp as-number
    选择BGP配置
  • route-target import|export value
    给一个VRF分配一个路由目标(Route Target)
  • show ip bgp vpnv4 vrf-name
    显示某个指定邻居的VPNv4路由
  • show ip route vrf-name
    显示某个特定VRF的IP路由表
  • show ip vrf detail
    显示VRF的详细内容
  • telnet host /vrf-name
    Telnet到与特定VRF直连的CE路由器上
  • set local value
    在ROUTE-MAP中设置BGP本地优先属性
  • set metric value
    在ROUTE-MAP中设置BGP MED属性
  • show ip bgp [ vpnv4 vrf-name ] prefix
    显示某个特定VRF的VPNv4路由