实验拓扑如图5-1所示:
图5-1:配置IBGP和EBGP
R1的配置
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]quit
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
[R1-LoopBack0]quit
R2的配置
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 23.1.1.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]quit
R3的配置
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R3
[R3]interface g0/0/1
[R3-GigabitEthernet0/0/1]ip address 23.1.1.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]interface LoopBack0
[R3-LoopBack0]ip address 3.3.3.3 32
[R3-LoopBack0]quit
R1的配置
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]quit
R2的配置
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit
R1的配置
[R1]bgp 100 //启动BGP进程,进程号为100
[R1-bgp]undo synchronization //关闭同步,默认配置
[R1-bgp]undo summary automatic //关闭自动汇总,默认配置
[R1-bgp]router-id 1.1.1.1 //设置BGP的router-id
[R1-bgp]peer 2.2.2.2 as-number 100 //指定邻居和邻居的AS号
[R1-bgp]peer 2.2.2.2 connect-interface LoopBack 0 //用环回口建邻居
[R1-bgp]quit
R2的配置
[R2]bgp 100
[R2-bgp]undo synchronization
[R2-bgp]undo summary automatic
[R2-bgp]bgp
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 1.1.1.1 as-number 100
[R2-bgp]peer 1.1.1.1 connect-interface LoopBack 0
[R2-bgp]quit
R2的配置
[R2]bgp 100
[R2-bgp]peer 23.1.1.3 as-number 200 //EBGP用直连接口建邻居
R3的配置
[R3]bgp 200
[R3-bgp]undo synchronization
[R3-bgp]undo summary automatic
[R3-bgp]peer 23.1.1.2 as-number 100
[R3-bgp]quit
【技术要点】配置BGP对等体关系的建议
TCPCB Tid/Soid Local Add:port Foreign Add:port VPNID State
1d322414 59 /1 0.0.0.0:23 0.0.0.0:0 -1 Listening
172ede3c 107/2 0.0.0.0:179 2.2.2.2:0 0 Listening
172ed4fc 107/36 1.1.1.1:179 2.2.2.2:65309 0 Established
通过以上可以看到,TCP连接是成功的
BGP local router ID : 1.1.1.1 // BGP本地Router ID
Local AS number : 100 //本地AS编号
Total number of peers : 1 Peers in established state : 1
//对等体总个数 //处于建立状态的对等体个数
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
2.2.2.2 4 100 146 147 0 02:24:44 Established 0
以上输出邻居表的各个字段的含义如下:
(3)在R3上用network宣告的方式产生一条BGP路由、在R1上引入的方式产生一条BGP路由
R3 的配置
[R3]bgp 200
[R3-bgp]network 3.3.3.3 32
[R3-bgp]quit
R1的配置
[R1]bgp 100
[R1-bgp]import-route ospf 1
【技术要点】
BGP路由生成有三种方式:
(4)在R1上查看路由表
[R1]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: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 0.0.0.0 0 0 ?
*> 2.2.2.2/32 0.0.0.0 1 0 ?
i 3.3.3.3/32 23.1.1.3 0 100 0 200i
*> 12.1.1.0/24 0.0.0.0 0 0 ?
以上输出中,路由条目表项的状态码解析如下:
以上输出我们可以发现3.3.3.3不是最优的,如果不优就不会在加载进全局路由表,也不会传给其它路由器,本例不优的原因为下一跳不可达,解决办法如下:
R2的配置
[R2]bgp 100
[R2-bgp]peer 1.1.1.1 next-hop-local //配置下一跳本地
[R2-bgp]quit
(5)再查看R1的路由表
[R1]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: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 0.0.0.0 0 0 ?
*> 2.2.2.2/32 0.0.0.0 1 0 ?
*>i 3.3.3.3/32 2.2.2.2 0 100 0 200i
*> 12.1.1.0/24 0.0.0.0 0 0 ?
【技术要点】
什么情况下配置下一跳本地:
对从EBGP邻居收到的路由,在传给IBGP邻居时,修改下一跳地址为本地的connet interface。
(6)查看R2的BGP路由表
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 1.1.1.1/32 1.1.1.1 0 100 0 ?
*>i 2.2.2.2/32 1.1.1.1 1 100 0 ?
*> 3.3.3.3/32 23.1.1.3 0 0 200i
*>i 12.1.1.0/24 1.1.1.1 0 100 0 ?
通过以上输出,我们可以发现1.1.1.1这条路由虽然下一跳可达,但是不是有效和最优的,其原因为:如果IGP表里面宣告了这条路由,然后再在IBGP里面,路由只能本地有效。