计算机网络-BGP配置基础

前面我们已经学习了BGP的基础概念、BGP五种报文类型、BGP对等体以及状态机制、BGP的路由产生和路由通告原则,现在可以到实践阶段了。

一、BGP配置命令

# 启动BGP进程,bgp {AS号}
[Huawei] bgp { as-number-plain | as-number-dot }

# 使用router-id命令配置BGP的Router ID
# 如果是IBGP,建议将BGP Router ID配置为设备Loopback接口的地址。
# 如果是RBGP,可以设置为直连接口IP地址
[Huawei-bgp] router-id ipv4-address

# 配置BGP对等体,创建BGP对等体,指定对等体地址以及AS号。
[Huawei-bgp] peer { ipv4-address | ipv6-address } as-number { as-number-plain | as-number-dot }

# 如果是IBGP,配置建立对等体使用的源地址为Loopback接口
[Huawei-bgp] peer ipv4-address connect-interface interface-type interface-number [ ipv4-source-address ]

# EBGP对等体最大跳数,指定建立EBGP连接允许的最大跳数。缺省情况下,EBGP连接允许的最大跳数为1,即只能在物理直连链路上建立EBGP连接。
[Huawei-bgp] peer ipv4-address ebgp-max-hop [ hop-count ]

# 路由通告
network IP_ADDR<X.X.X.X> <mask>

二、实例配置一

实例 1、AS 100内使用环回口建立IBGP全互联,IGP使用OSPF使得各环回口路由可达 2、AS 200使用直连接口建立邻居 3、AR4通告路由192.168.1.1/32 4、AR1通告AS100的内网网段10.1.12.0/24,10.1.13.0/24,10.1.23.0/24

2.1 接口配置

各路由器直连接口和环回口配置地址。

# AR1
interface GigabitEthernet0/0/0
 ip address 10.1.12.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.1.13.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.14.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255

# 其它的省略,步骤一致

2.2 AS 内部的OSPF进程配置,让直连网段和环回网段全部互通

# AR1
ospf 1 
 area 0.0.0.0 
  network 1.1.1.1 0.0.0.0 
  network 10.1.12.0 0.0.0.255 
  network 10.1.13.0 0.0.0.255

# AR2
ospf 1 
 area 0.0.0.0 
  network 2.2.2.2 0.0.0.0 
  network 10.1.12.0 0.0.0.255 
  network 10.1.23.0 0.0.0.255 

# AR3
ospf 1 
 area 0.0.0.0 
  network 3.3.3.3 0.0.0.0 
  network 10.1.13.0 0.0.0.255 
  network 10.1.23.0 0.0.0.255

到这一步我们的AR1、AR2、AR3的环回口应该都能互相ping通了,前面我们讲过了,IBGP邻居建议使用Lookback建立邻居,但是必须要环回口也是需要有路由的,也是通过IGP实现。

环回口路由可达
环回口路由可达

2.3 配置IBGP全互联

这里按照配置使用环回口地址建立IBGP邻居。

# AR1
bgp 100
 peer 2.2.2.2 as-number 100                   # 指定对等体地址2.2.2.2
 peer 2.2.2.2 connect-interface LoopBack0     # 指定使用环回口0建立连接,否则会使用直连接口连接导致一直处于Active状态,邻居建立失败
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable

# AR2
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 3.3.3.3 enable
  
# AR3
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 2.2.2.2 enable
  
# 查看邻居状态为Established表示邻居状态正常,IBGP建立完成
[AR1-bgp-af-ipv4]DIS BGP PEER

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 3		  Peers in established state : 3

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  2.2.2.2         4         100       31       49     0 00:27:28 Established    
   0
  3.3.3.3         4         100       30       40     0 00:27:13 Established    
   0
  10.1.14.4       4         200       33       39     0 00:29:20 Established 

2.4 AR1与AR4建立直连的EBGP邻居

# AR1
bgp 100
 peer 10.1.14.4 as-number 200               # 保证接口地址能ping通的情况下直接建立
 
# AR4
bgp 200
 router-id 10.1.14.4
 peer 10.1.14.1 as-number 100               # 使用直连接口建立邻居
 #
 ipv4-family unicast
  undo synchronization
  peer 10.1.14.1 enable
  
# 通过display bgp peer查看邻居状态正常
<AR4>display bgp peer 

 BGP local router ID : 10.1.14.4
 Local AS number : 200
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  10.1.14.1       4         100       41       36     0 00:32:53 Established    
   3

2.5 通告路由

在AR1和AR4上通告网段,使得AS100内都能访问192.168.1.1。

# AR4
bgp 200
 router-id 10.1.14.4
 peer 10.1.14.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 192.168.1.0            # 通过network通告网段,网段存在自身路由表可以通告
  peer 10.1.14.1 enable

# AR1,AR1通过OSPF已经学到所有直连网段的路由,也可以直接network
bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 10.1.14.4 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 10.1.12.0 255.255.255.0 
  network 10.1.13.0 255.255.255.0 
  network 10.1.23.0 255.255.255.0 
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable
  peer 10.1.14.4 enable

到这里各个路由器应该能够学习到各种需要的路由了。

# AR1
[AR1]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: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.1.12.0/24       0.0.0.0         0                     0      i
 *>   10.1.13.0/24       0.0.0.0         0                     0      i
 *>   10.1.23.0/24       0.0.0.0         2                     0      i
 *>   192.168.1.0        10.1.14.4       0                     0      200i

# AR2
<AR2>DIS BGP routing-table 

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


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

 *>i  10.1.12.0/24       1.1.1.1         0          100        0      i
 *>i  10.1.13.0/24       1.1.1.1         0          100        0      i
 *>i  10.1.23.0/24       1.1.1.1         2          100        0      i
   i  192.168.1.0        10.1.14.4       0          100        0      200i

# AR4
<AR4>dis bgp routing-table 

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


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

 *>   10.1.12.0/24       10.1.14.1       0                     0      100i
 *>   10.1.13.0/24       10.1.14.1       0                     0      100i
 *>   10.1.23.0/24       10.1.14.1       2                     0      100i
 *>   192.168.1.0        0.0.0.0         0                     0      i

到这里都能够学习到路由了,但是会发现只有AR1和AR4能够ping通,AR2和AR3是不能ping通192.168.1.1的。而且AR2和AR3上面的BGP路由不是最优选路由。

2.6 指定IBGP从自身转发

我们查看AR1上学习到的192.168.1.0路由信息。

<AR1>dis bgp routing-table 192.168.1.0

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Paths:   1 available, 1 best, 1 select
 BGP routing table entry information of 192.168.1.0/24:
 From: 10.1.14.4 (10.1.14.4)                           # 从能够邻居学习到的路由
 Route Duration: 00h33m21s  
 Direct Out-interface: GigabitEthernet0/0/2
 Original nexthop: 10.1.14.4                           # 下一跳地址
 Qos information : 0x0
 AS-path 200, origin igp, MED 0, pref-val 0, valid, external, best, select, acti
ve, pre 255
 Advertised to such 2 peers:                          # AR1将这条路由通告给了AR2和AR3
    2.2.2.2
    3.3.3.3

然后到AR2上查看路由信息。

<AR2>dis bgp routing-table 192.168.1.0

 BGP local router ID : 2.2.2.2
 Local AS number : 100
 Paths:   1 available, 0 best, 0 select
 BGP routing table entry information of 192.168.1.0/24:
 From: 1.1.1.1 (1.1.1.1)
 Route Duration: 00h21m39s  
 Relay IP Nexthop: 0.0.0.0
 Relay IP Out-Interface: 
 Original nexthop: 10.1.14.4                    # 起源下一跳地址
 Qos information : 0x0
 AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, internal, pre 255
 Not advertised to any peer yet

回顾我们刚才的操作,我们没有将这段公网直连路由通告过,EBGP进行路由通告不会改变下一跳,因此AR2和AR3是没有到达10.1.14.0/24的路由的,不管是BGP路由还是OSPF路由表都没有的,而且通告这段路由也不现实。

但是我们AR1是能够知道去往AR4的,因此我们AR2和AR3只需要找到AR1,然后去往192.168.1.0/24即可。

我们需要配置IBGP对等体时指定邻居从自身转发。

bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 10.1.14.4 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 10.1.12.0 255.255.255.0 
  network 10.1.13.0 255.255.255.0 
  network 10.1.23.0 255.255.255.0 
  peer 2.2.2.2 enable
  peer 2.2.2.2 next-hop-local               # 指定邻居2.2.2.2从AR1转发
  peer 3.3.3.3 enable                       
  peer 3.3.3.3 next-hop-local               # 指定邻居3.3.3.3从AR1转发
  peer 10.1.14.4 enable
  
# 然后再次到AR上查看路由就会发现有变化了。
<AR2>dis bgp routing-table 192.168.1.0

 BGP local router ID : 2.2.2.2
 Local AS number : 100
 Paths:   1 available, 1 best, 1 select
 BGP routing table entry information of 192.168.1.0/24:
 From: 1.1.1.1 (1.1.1.1)
 Route Duration: 00h00m56s  
 Relay IP Nexthop: 10.1.12.1                  # 下一跳转发地址为直连路由,并且AR2上有这个路由的
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 1.1.1.1                    # 起源下一条为AR1
 Qos information : 0x0
 AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, bes
t, select, active, pre 255, IGP cost 1
 Not advertised to any peer yet
 
# 然后AR2和AR3都可以实现到达192.168.1.1
<AR2>ping 192.168.1.1
  PING 192.168.1.1: 56  data bytes, press CTRL_C to break
    Reply from 192.168.1.1: bytes=56 Sequence=1 ttl=254 time=30 ms
    Reply from 192.168.1.1: bytes=56 Sequence=2 ttl=254 time=40 ms
    Reply from 192.168.1.1: bytes=56 Sequence=3 ttl=254 time=20 ms
    Reply from 192.168.1.1: bytes=56 Sequence=4 ttl=254 time=30 ms
    Reply from 192.168.1.1: bytes=56 Sequence=5 ttl=254 time=30 ms

  --- 192.168.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/30/40 ms

简单说就是EBGP通告路由不会改变下一跳导致IBGP无法找到下一跳地址转发,需要在出口的EBGP上配置自身为下一跳转发。

2.7 BGP配置的层次结构

bgp 100                                     # BGP的全局视图,在这里配置对等体信息和AS号
 peer 2.2.2.2 as-number 100                 # 默认是建立ipv4的邻居,因此这里的邻居会默认加入一条
 peer 2.2.2.2 connect-interface LoopBack0   # peer 2.2.2.2 enable在下面的地址簇里面
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 10.1.14.4 as-number 200 
 #
 ipv4-family unicast                        # IPv4地址簇,默认是ipv4单播unicast
  undo synchronization
  network 10.1.12.0 255.255.255.0 
  network 10.1.13.0 255.255.255.0 
  network 10.1.23.0 255.255.255.0 
  peer 2.2.2.2 enable
  peer 2.2.2.2 next-hop-local 
  peer 3.3.3.3 enable
  peer 3.3.3.3 next-hop-local 
  peer 10.1.14.4 enable

因为BGP支持IPv4、IPv6、vpn实例、EVPN等地址簇,默认在全局下配置是IPv4单播地址簇,自动添加了peer x.x.x.x enable,像一些命令可以手动进入地址簇进行配置。

示例:

bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 10.1.14.4 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 10.1.12.0 255.255.255.0 
  network 10.1.13.0 255.255.255.0 
  network 10.1.23.0 255.255.255.0 
  peer 2.2.2.2 enable
  peer 2.2.2.2 next-hop-local 
  peer 3.3.3.3 enable
  peer 3.3.3.3 next-hop-local 
  peer 10.1.14.4 enable
 #
 ipv6-family unicast
  undo synchronization
 # 
 ipv4-family vpnv4
  policy vpn-target

目前我们暂时还是学习到IPv4的单播即可。

三、EBGP多跳实验

实验
实验
# 配置基础的地址
# AR1和AR3的接口需要路由可达,通过默认路由方式
interface GigabitEthernet0/0/0
 ip address 10.1.12.1 255.255.255.0 
# 
ip route-static 0.0.0.0 0.0.0.0 10.1.12.2

# AR1和AR3公网接口正常ping通
[AR1]ping -a 10.1.12.1 10.1.23.3
  PING 10.1.23.3: 56  data bytes, press CTRL_C to break
    Reply from 10.1.23.3: bytes=56 Sequence=1 ttl=254 time=70 ms
    Reply from 10.1.23.3: bytes=56 Sequence=2 ttl=254 time=30 ms
    Reply from 10.1.23.3: bytes=56 Sequence=3 ttl=254 time=30 ms
    Reply from 10.1.23.3: bytes=56 Sequence=4 ttl=254 time=30 ms
    Reply from 10.1.23.3: bytes=56 Sequence=5 ttl=254 time=40 ms

  --- 10.1.23.3 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/40/70 ms

建立EBGP邻居。

# AR1
bgp 100
 router-id 10.1.12.1
 peer 10.1.23.3 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  peer 10.1.23.3 enable

# AR3
bgp 200
 router-id 10.1.23.3
 peer 10.1.12.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  peer 10.1.12.1 enable

发现BGP邻居会一直保持在Connect状态,因为默认BGP认为直连是最可靠的,因此跳数默认为1,如果是经过多条需要通过参数peer 10.1.23.3 ebgp-max-hop指定跳数限制,直接回车为255。

# 双方都需要开启才生效
bgp 100
 router-id 10.1.12.1
 peer 10.1.23.3 as-number 200 
 peer 10.1.23.3 ebgp-max-hop 255 
 #
 ipv4-family unicast
  undo synchronization
  peer 10.1.23.3 enable

# 
[AR1]dis bgp peer

 BGP local router ID : 10.1.12.1
 Local AS number : 100
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  10.1.23.3       4         200        2        4     0 00:00:35 Established    
   0

就是EBGP如果经过中间设备跳数大于1都需要配置ebgp-max-hop

总结:本次实验简要地进行了IBGP利用环回口建立邻居以及EBGP多跳实验,需要多配置使用才能熟悉。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不喜欢热闹的孩子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值