乾颐堂 发表于 2023-9-21 18:39:39

BGP基础和eBGP邻居配置

https://editor-material.365editor.com/style/20230220167686474063f2ece47a929material.gif
实验原理
BGP是基于TCP的,这是众所周知的情况,而TCP是一种host-to-host的连接,也就是基于主机到主机的一种点到点的连接,要完成这一步,那么自然两个TCP点之间要有相互的路由才能建立TCP连接

BGP基于TCP的179端口,注意是端口号,而不是协议号,这里要强调的是协议号是一个三层概念,只有在IP包头中才会有协议号,如OSPF,这也是BGP有时候被称之为是高层应用的理由之一,不过BGP的目的还是为了传递大量的路由而生

BGP不会向IGP那样自动发现和建立邻居,那么需要在配置的时候手动指定邻居,同时TCP连接需要指定一个源去和对端建立连接,这个概念就是BGP中的update-source的概念,这个概念是十分重要的,当一台设备要建立多个BGP邻居的时候十分关键,比如通常的:建立iBGP的时候会用到环回口(理由是环回口更加稳定),而该设备与另一台设备建立eBGP,通常就会用直连来建立,而不用指定更新源,默认就是出接口(与eBGP邻居相连的接口)

关于eBGP的多跳,这里要指出的是iBGP中IPv4包头中TTL默认是255,而eBGP是1,如果建立eBGP邻居关系的时候通过环回口来建立,那么此时TTL为2,需要指定eBGP多跳大于等于2才可以

BGP不会主动通过默认路由来建立BGP邻居关系,这是一种防环机制。这意味着如果两个peer之间通过环回口来作为更新源,而且两台设备上只有默认路由到达对端的环回口,那么将缺少TCP连接,无法建立BGP邻居,而只要有一端有明细路由,比如静态路由指向对端的环回口就可以了

BGP和ospf一样也需要一个RID来起到标识关系,必须要有一个ipv4地址来作为RID(如果没有任何地址的时候BGP将无法开启),RID的选择顺序为:手工指定;最大的环回口(同OSPF一样不一定要宣告该接口,尤其是BGP,通告的是路由,而不是激活接口);最大的物理接口

实验目的
掌握采用直连路由方式建立eBGP邻居关系
掌握采用环回接口方式建立eBGP邻居关系

实验环境
参考4.1拓扑,在预配置中已经配置了直连地址和环回接口地址。如图4-1所示

https://editor-user.365editor.com/98/85/4933185/1695282059500399.png图4-1 eBGP基础配置
实验步骤

采用直连方式建立eBGP邻居关系

步骤1.首先测试直连的通信情况,以确保可以建立eBGP邻居


ping 10.1.15.1
PING 10.1.15.1: 56data bytes, press CTRL_C to break
    Reply from 10.1.15.1: bytes=56 Sequence=1 ttl=255 time=60 ms
    Reply from 10.1.15.1: bytes=56 Sequence=2 ttl=255 time=30 ms


步骤2.建立eBGP邻居


R1
bgp 100 //启动bgp,AS号码为100
router-id 1.1.1.1 //配置R1的bgp的路由器ID为1.1.1.1,ID为一个IPv4地址格式,可以是设备上不存在的地址,但必须是唯一的一个RID
peer 10.1.15.5 as-number 200 //和对端10.1.15.5建立eBGP邻居关系,对端AS号码为200
network 1.1.1.1 32 //通告R1的业务接口,请注意,BGP通告的是路由,所以掩码必须精准,否则路由不会产生
R5
bgp 200
router-id 5.5.5.5
peer 10.1.15.1 as-number 100
network 5.5.5.5 32


步骤3.查看BGP邻居关系和得到的路由

查看BGP的邻居关系


display bgp peer

BGP local router ID : 1.1.1.1 //BGP的RID
Local AS number : 100 //本设备的AS号码为100
Total number of peers : 1                Peers in established state : 1

Peer            V          ASMsgRcvdMsgSentOutQUp/Down       State PrefRcv

10.1.15.5       4         200      5      5   0 00:02:18 Established       1 //此处的1代表从对端收到了一条bgp路由,established代表邻居建立成功


查看bgp的数据库,即bgp路由


dis bgp routing-table

BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
               h - history,i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


Total Number of Routes: 2
      Network            NextHop      MED      LocPrf    PrefVal Path/Ogn

*>   1.1.1.1/32         0.0.0.0         0                     0      I //1.1.1.1/32是本设备产生的路由,这点从0.0.0.0可以看出
*>   5.5.5.5/32         10.1.15.5       0                     0      200i //从对端As200得到的路由,可以看到AS-path为200


步骤4.查看路由表,并测试数据通信


<R1>dis ip routing-table protocol bgp
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : BGP
         Destinations : 1      Routes : 1      

BGP routing table status : <Active>
         Destinations : 1      Routes : 1

Destination/Mask    Proto   PreCost      Flags NextHop         Interface

      5.5.5.5/32EBGP 2550         D   10.1.15.5       GigabitEthernet0/0/0 //通过ebgp方式得到了5.5.5.5的路由,请观察优先级为255
数据通信:
ping -a 1.1.1.1 5.5.5.5 //携带本端的业务接口和对端的业务接口测试通信,如下所示,数据成功通信
PING 5.5.5.5: 56data bytes, press CTRL_C to break
    Reply from 5.5.5.5: bytes=56 Sequence=1 ttl=255 time=30 ms
    Reply from 5.5.5.5: bytes=56 Sequence=2 ttl=255 time=30 ms


通过环回接口建立eBGP邻居
步骤1.首先两端环回口通过静态路由作为更新源通信


ip route-static 11.1.1.1 32 10.1.15.1
ip route-static 55.1.1.1 32 10.1.15.5 //R1和R5 互相指向对端环回接口,下一跳是它们的物理接口地址。


步骤2.测试路由通信


ping -a 55.1.1.1 11.1.1.1
PING 11.1.1.1: 56data bytes, press CTRL_C to break
    Reply from 11.1.1.1: bytes=56 Sequence=1 ttl=255 time=110 ms
    Reply from 11.1.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 11.1.1.1: bytes=56 Sequence=3 ttl=255 time=30 ms
    Reply from 11.1.1.1: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 11.1.1.1: bytes=56 Sequence=5 ttl=255 time=10 ms

--- 11.1.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 10/38/110 ms//两端环回接口通信成功,这样就可以作为BGP更新源建立邻居


步骤3.建立EBGP邻居


R1
bgp 100 //启动bgp,AS号码为100
router-id 1.1.1.1 //配置R1的bgp的路由器ID为1.1.1.1,ID为一个IPv4地址格式,可以是设备上不存在的地址,但必须是唯一的一个RID
peer 55.1.1.1 as-number 200 //和对端55.1.1.1 lo0 建立eBGP邻居关系,对端AS号码为200
peer 55.1.1.1 connect-interface lo0
peer 55.1.1.1 ebgp-max-hop 2 //由于TTL值默认为1,如果采用环回口去建立ebgp邻居关系得话,那么对等体之间,数据包就不止传1跳了,TTL值还没有传就-1 如果是0 那么就会丢弃 ,所有要设置多跳,
network 1.1.1.1 32 //通告R1的业务接口,请注意,BGP通告的是路由,所以掩码必须精准,否则路由不会产生
R5
bgp 200 //启动bgp,AS号码为100
router-id 5.5.5.5//route-id指定为5.5.5.5
peer 11.1.1.1 as-number 100
network 5.5.5.5 32
peer 11.1.1.1 ebgp-max-hop 2


查看bgp的数据库,即bgp路由


display bgp routing-table

BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
               h - history,i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


Total Number of Routes: 2 //接收到2条BGP 路由
      Network            NextHop      MED      LocPrf    PrefVal Path/Ogn

*>   1.1.1.1/32         0.0.0.0         0                     0      i
// 从本段生成了一条1.1.1.1的路由,从0.0.0.0 可以看出
      5.5.5.5/32         55.1.1.1      0                     0      200i
//5.5.5.5 是从AS200的学到的路由 由AS-path 200i 可以看出下一跳是 55.1.1.1


步骤4.查看路由表,并测试数据通信


display ip routing-table protocol bgp
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : BGP
         Destinations : 1      Routes : 1      

BGP routing table status : <Active>
         Destinations : 1      Routes : 1

Destination/Mask    Proto   PreCostFlags NextHop         Interface

      5.5.5.5/32EBGP    2550       RD   55.1.1.1   GigabitEthernet
0/0/0
//通过ebgp方式得到了5.5.5.5的路由,请观察优先级为255

BGP routing table status : <Inactive>
         Destinations : 0      Routes : 0



数据通信:

https://editor-user.365editor.com/98/85/4933185/1695287919541515.png
https://editor-material.365editor.com/style/20230220167686474063f2ece49a3d3material.gifhttps://editor-material.365editor.com/style/20230220167686474063f2ece4b7c43material.gif
页: [1]
查看完整版本: BGP基础和eBGP邻居配置