PE与CE之间路由协议
一、背景拓扑
二、PE-CE之间走静态路由
2.1 关键配置之CE侧
2.2 关键配置之PE侧
三、PE-CE之前走BGP
3.1 关键配置之CE侧
3.2 关键配置之PE侧
3.3 分支与总部若使用相同AS号之解决方案
3.4 破坏了BGP本身的防环机制,如何避免出现环路
四、PE-CE之间OSPF
4.0 拓扑表述
4.1 关键配置之CE侧
4.2 关键配置之PE侧
4.3 vrf-lite与virtual-link的使用
4.4 sham-link的使用
一、背景拓扑
IP地址规划
各个设备环回口地址 R1 loopback 0 10.1.1.1/32 R2 loopback 0 10.1.1.2/32 R3 loopback 0 10.1.1.3/32 R4 loopback 0 10.1.1.4/32 R5 loopback 0 10.1.1.5/32 R6 loopback 0 66.1.1.1/32 R7 loopback 0 77.1.1.1/32 R8 loopback 0 88.1.1.1/32 设备间互联地址 R6--R1 16.1.1.0/24网段 R6.eth1:16.1.1.6/24 R1.eth1:16.1.1.1/24
以此类推...
需求
分支R6环回口66.1.1.1要访问总部R7环回口77.1.1.1
二、PE-CE之间走静态路由
2.1关键配置之CE侧
[R6]
ip route 77.1.1.1 255.255.255.255 eth0/1 16.1.1.1
2.2 关键配置之PE侧
【R1】
ip route vrf A 66.1.1.1 255.255.255.255 eth0/1 16.1.1.6 ! router bgp 100 address-family ipv4 vrf A #进入PE的vrf A redistribute static #将静态路由重分布进BGP
三、PE-CE之前走BGP
3.1 关键配置之CE侧
【R6】
router bgp 200 neighbor 16.1.1.1 remote-as 100 network 66.1.1.1 mask 255.255.255.255
3.2关键配置之PE侧
【R1】 router bgp 100 address-familiy ipv4 vrf A neighbor 16.1.1.6 remote-as 200
3.3 分支与总部若使用相同AS号之解决方案
1 使用BGP命令之AS-Override解决
作用:打破as-path的防环机制,允许相同跨AS时可以进入相同AS号 原理:改写AS-PATH,对共有和私有AS号都生效 场景:总部与分支使用BGP 相同AS号 配置位置:PE位置 命令: 【R1,R4】(在vrf下配置) router bgp 100 address-family ipv4 vrf A neighbor 47.1.1.7 allowas-in
2 使用BGP命令之allowas-in解决
场景1:分支A要通过总部去访问分支B,路由会经过两次同一个ISP网络,默认情况第二次经过ISP时,ISP查看aspath有自己的bgp AS号,会丢弃路由 场景2:分支A与总部使用相同的AS号 原理:忽略as-path防环机制检查 配置位置:PE或者CE皆可,在丢弃设备上设置,如果是上面场景1,则配置在PE侧;如果是场景2,则配置在CE侧 命令:
【R7】 router bgp 200 neighbor 47.1.1.4 allowas-in 【R4】(在vrf下配置) router bgp 100 address-family ipv4 vrf A neighbor 47.1.1.7 allowas-in
3.4 破坏了BGP本身的防环机制,如何避免出现环路
1 增加BGP扩展属性之SOO (Site of Origin),可解决路由环路问题
作用:防环 原理:将从CE侧收到的bgp路由添加上扩展属性soo值,传递给其他MP-BGP邻居,在邻居的PE侧要前往CE侧时,比对出接口soo值是否与传过来的SOO值相同,相同则不传递此路由给CE侧邻居 场景:多宿主环境下,如R7的环回口路由,R8不应该通过ISP线路收集到;R8反之亦然 配置位置:PE位置:通常在入方向(双PE侧接要配置) 命令:
【R7,R8】 route-map SOO permit 10 set extcommunity soo 78:78 router bgp 100 address-familiy ipv4 vrf A neighbor 47.1.1.7 route-map SOO in clear bgp vrf A ipv4 unicast 47.1.1.7 soft #配置完,如果没有生效,清理下vrf A下的bgp邻居 show bgp vpnv4 unicast all 77.1.1.1 #查看bgp路由是否携带soo值
四、PE-CE之间OSPF
4.0 拓扑表述
1. CE1-PE1之间运行ospf,归属area0 CE1的环回口归属area0 2. CE2a-PE4之间运行ospf,归属area0 CE12a环回口归属area0 3.ISP网络:MP-BGP+MPLS
4.1 关键配置之CE侧
interface Ethernet0/0 ip ospf 110 area 0 ! interface Loopback0 ip ospf 110 area 0
4.2 关键配置之PE侧
interface Ethernet0/1 ip vrf forwarding A #在vrf接口下开启ospf ip ospf 11 area 0 ! router bgp 100 address-family ipv4 vrf A redistribute ospf 11 #将ospf 重分发进MP-BGP,为了传递到分支站点 ! router ospf 11 vrf A redistribute bgp 100 subnets #bgp重分发到ospf,为了将总部路由传递给CE侧
4.3 vrf-lite与virtual-link的使用
1)拓扑变更
拓扑走线图不变 区域变化如下: 1. CE1-PE1之间运行ospf,归属area1 CE1的环回口归属area0 2. CE2a-PE4之间运行ospf,归属area0 CE12a环回口归属area0 3.ISP网络:MP-BGP+MPLS
2)问题描述
因为CE1-PE1之间运行ospf,归属area1,导致PE1的vrf无法学习到CE1的环回口路由
3a)解决方案一:忽略vrf ospf的环路检测
【PE1】 router ospf 11 vrf A capability vrf-lite
3b)解决方案二:建立virtual-link虚链路
【PE1侧】 router ospf 11 vrf A area 1 virtual-link 10.6.6.6 #建立虚链路,地址为CE侧ospf route-id 【CE1侧】 router ospf 110 area 1 virtual-link 16.1.1.1 #建立虚链路,地址为PE侧ospf route-id
4.4 sham-link的使用
1)使用场景
两个vpn站点属于同一区域(比如都属于area0),并且存在一条低速后门链路(默认R6-R8为低速备份链路)(为了避免优先选择低速链路,可以使用建立sham-link)
2)sharm-link原理
通过单播泛洪1类LSA和2类LSA
3)部署位置
PE设备-PE设备
4)部署步骤
1.PE设备上创建/32的环回口 2.该环回口划入vrf 3.在BGP的地址族下宣告该环回口 4.在PE设备的ospf进程里,设置sham-link,格式如下 area 区域 sham-link 本端PE环回口 对端PE环回口 5.在PE设备上执行ospf单向重分布MP-BGP中,为了分配内层标签 6.验证:在PE端 show ip ospf neighbor 7.【可选】如果低速链路cost值更小,更优先,可以更改cost值大于sham-link链路的cost值 接口#ip ospf cost 100 #将从此接口进来的ospf路由条目,cost加上100
5)关键配置
interface Loopback1 ip vrf forwarding A ip address 14.1.1.1 255.255.255.255 ! router bgp 100 address-family ipv4 vrf A network 14.1.1.1 mask 255.255.255.255 redistribute ospf 11 ! router ospf 11 vrf A area 0 sham-link 14.1.1.1 14.1.1.4 ! show ip ospf neighbor #查看sham-link邻居是否建立好了