因为本实验没有分配IP规划,所以自己分配划分ip,如图所示。
通过配置IGP协议实现内网全网可达,在AS2区域中使用ospf协议
在AR2上
[r2]ospf 1 router-id 2.2.2.2
[r2]area 0
[r2-ospf-1-area-0.0.0.0] network 2.2.2.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0] network 23.1.1.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
在AR3上
[r3]ospf 1 router-id 3.3.3.3
[r3]area 0
[r3-ospf-1-area-0.0.0.0] network 3.3.3.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0] network 23.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0] network 34.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
在AR4上
[r4]ospf 1 router-id 4.4.4.4
[r4]area 0
[r4-ospf-1-area-0.0.0.0] network 4.4.4.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0] network 34.1.1.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0] network 192.168.4.0 0.0.0.255
因为AR1与AR2是直连的两个AS区域,所以建立直连的EBGP邻居
以AR1为例
[r1]bgp 1 启动时需要定义其所在的AS号 没有多进程的概念
[r1-bgp]router-id 1.1.1.1 建议配置RID,与OSPF的RID配置规则一致
[r1-bgp]peer 12.1.1.2 as-number 2 建立邻居关系,定义对端设备的ip地址,及所在AS编号
AR2-4都是在AS2一个区域内,所以需要配置IBGP邻居
以AR2为例
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
切记:一旦使用环回地址做为建邻地址,同时需要修改源ip地址,为本地的环回地址;
因为AR4与AR5邻居间有多条链路相连,所以建立EBGP邻居时,需要选择环回建立邻居
选择环回建立EBGP邻居时,要注意两边环回是否能正常通信,若不能通信将无法建立邻居
这里使用手写静态路由的方法实现互相通信
[r4]ip route-static 5.5.5.0 255.255.255.0 45.1.1.2
[r4]ip route-static 5.5.5.0 255.255.255.0 54.1.1.2
[r5]ip route-static 5.5.5.0 255.255.255.0 45.1.1.1
[r5]ip route-static 5.5.5.0 255.255.255.0 54.1.1.1
[r5]bgp 3
[r5-bgp]peer 4.4.4.4 as-number 2
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0
因为EBGP邻居间,默认TTL值为1,IBGP为255;理论上EBGP邻居间没有第三台路由器,故TTL值设定为1,将只能和直连的物理接口建立邻居;若使用环回建邻居,必须修改TTL值
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2 修改EBGP邻居间的TTL值
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2 修改EBGP邻居间的TTL值
配置完后可以通过以下命令查看bgp的邻居关系
display bgp peer
BGP路由宣告用于让AS区域间路由互相学习
在AS1中
[r1]bgp 1
[r1-bgp]network 12.1.1.0 24
[r1-bgp]network 192.168.1.0 24
在AS2中以AR2为例
[r2]bgp 2
[r2-bgp]network 12.1.1.0 24
[r2-bgp]network 23.1.1.0 24
[r2-bgp]network 192.168.2.0 24
在AS3中
[r5]bgp 3
[r5-bgp]network 45.1.1.0 24
[r5-bgp]network 54.1.1.0 24
[r5-bgp]network 192.168.5.0 24
注:宣告时,宣告的条目内容必须和本地路由表中完全一致;
在BGP中环回一般用于建立邻居,所以一般路由宣告时不宣告环回地址
宣告完路由查看路由表发现,AR4中学习不到AR2的路由。这是因为IBGP水平分割。
所以需要AR2给AR4单独建立一条IBGP邻居
[r2]bgp 2
[r2-bgp]peer 4.4.4.4 as-number 2
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
建立邻居后发现AR3上学习AR5的路由不优,因为AS-BY-AS 导致,一条路由信息在IBGP邻居传递时,其属性默认不编号;最终时常导致下一跳不可达;
所以要求路由条目传递给,下一个邻居时,修改下一跳为本地地址;
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 next-hop-local
[r2-bgp]peer 4.4.4.4 next-hop-local
[r4]bgp 2
[r4-bgp]peer 2.2.2.2 next-hop-local
[r4-bgp]peer 3.3.3.3 next-hop-local
通过使用DHCP服务使所有的电脑自动获取ip
以AR1为例
[r1]dhcp enable
[r1]ip pool a
[r1-ip-pool-a]network 192.168.1.0 mask 24
[r1-ip-pool-a]gateway-list 192.168.1.1
[r1-ip-pool-a]dns-list 114.114.114.114 8.8.8.8
[r1-ip-pool-a]q
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]dhcp select global