ebgp-multihop 和next-hop-self实践(修订4)(22/2/26)

本文详细讲解了如何在不同AS的边界路由器R1、R2和内部路由器R3之间配置EBGP和IBGP,包括设置ebgp-multihop、next-hop-self策略,确保路由学习和正确下一跳指向。涉及静态路由、BGP邻居配置和跨AS路由传递优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上述命令出现的EBGP邻居(ebgp-multihop)和IBGP邻居(next-hop-self)中。如下图

一、基础认识EBGP和IBGP

R1--R2属于不同AS号,是外部边界网关EBGP;

R2--R3属于同意AS号,是内网边界网关IBGP;

二、基本配置

1.配置R1,R2,R3的直连,保证直连连通性(略)

2.只在R2和R3之间部署OSPF,保证OSPF区域连通性(略)

3.部署BGP

(1)在R1和R2部署BGP基于环回口(基于环回口意义是:若远程拉多条线,再用直连地址就显得麻烦。)

(a)R1,R2部署静态路由

R1:        ip route 2.2.2.2 255.255.255.255 Serial0/0

R2:        ip route 1.1.1.1 255.255.255.255 Serial0/0

(b)R1,R2基于静态路由建立BGP邻居

R1:

router bgp 100

 no synchronization

 bgp router-id 1.1.1.1

neighbor 2.2.2.2 remote-as 230

 neighbor 2.2.2.2 update-source Loopback1

network 1.1.1.1 mask 255.255.255.255

 no auto-summary

R2:

router bgp 230

 no synchronization

 bgp router-id 2.2.2.2

 neighbor 1.1.1.1 remote-as 100

 neighbor 1.1.1.1 update-source Loopback1

network 2.2.2.2 mask 255.255.255.25

 no auto-summary

(c)R1,R2部署多跳

使用sh ip bgp summary查看该1.1.1.1,2.2.2.2 的bgp路由状态是Idle—初始化,因为EBGP是跨不同的AS号,头部的包的TTL值默认是1(防止信息泄露的内网),需要把信息送到内网,就需要更改TTL值,比如:传到R3的就需要2跳,故TTL=2,(更改多跳的命令就是该neighbor 对方地址 ebgp-multihop 2)

R1:

Route bgp 100

neighbor 2.2.2.2 ebgp-multihop 2

R2:

Route bgp 230

neighbor 1.1.1.1 ebgp-multihop 2

上述2图的状态值为0,属于正常状态,表示没有学到2.2.2.2的路由。

在R1,R2通告1.1.1.1,2.2.2.2

R1:

network 1.1.1.1 mask 255.255.255.255

R2:

network 2.2.2.2 mask 255.255.255.255

上述2图的状态值,变成1,说明都学到对方的路由信息,只有1条。

可在R1,R2上,sh ip route bgp,一条也没有,是因为R1和R2使用的环回口建立的邻居,使用的静态路由,所以使用sh ip route bgp什么也没有。

在sh ip route static,就可以看见

4.在R2,R3部署BGP,使R3学到路由信息

R2:

neighbor 3.3.3.3 remote-as 230

 neighbor 3.3.3.3 update-source Loopback1

R3:

router bgp 230

 no synchronization

 bgp router-id 3.3.3.3

 network 3.3.3.3 mask 255.255.255.255

 neighbor 2.2.2.2 remote-as 230

 neighbor 2.2.2.2 update-source Loopback1

  no auto-summar

若不指定下一条,就会出现,R3学不到R1的路由,并R1 ping不通R3的3.3.3.3

指定后

R2:

router bgp 230

neighbor 3.3.3.3 next-hop-self

指定后R3学到R1的路由

 

验证:R1 ping 3.3.3.3 source 1.1.1.1

 

注意:next-hop

1.R1,R2,R3是同一AS;

R2学到的1.1.1.1 的下一跳是12.1.1.1

R3学到的1.1.1.1 的下一跳是23.1.1.1

2.R1与R2--R3属于不同AS;

R2学1.1.1.1的下一跳是12.1.1.1,

R3学1.1.1.1的下一跳也是12.1.1.1--因为R2,R3同一AS,所以需要在R2上:

方法一:(推荐)

R2:

neighbor 3.3.3.3 remote-as 230
neighbor 3.3.3.3 update-source Loopback1

neighbor 3.3.3.3 next-hop-self  //从R3学到的路由,下一跳是3.3.3.3

R3:

neighbor 2.2.2.2 remote-as 230
neighbor 2.2.2.2 update-source Loopback1

neighbor 2.2.2.2 next-hop-self  /

方法二:

R2:

neighbor 23.1.1.3 remote-as 230
neighbor 23.1.1.3 next-hop-self //从R3学到的路由,下一跳是23.1.1.3

R3:

neighbor 23.1.1.2 remote-as 230
neighbor 23.1.1.2 next-hop-self //从R2学到的路由,下一跳是23.1.1.2

3.一般在 AS边界路由器(R2) 对 内部其它路由(R3)指明“下一跳”为自己,可以将访问外部AS流量交给ASBR(自治系统边界路由)

注:菜鸟心得,若有误,感谢指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值