一、配置ipv4环境
如图配置R2/3/4的接口ip,R3环回ip地址为3.3.3.3/24
再在R2/4上写一条指向R3的缺省路由
[r2]ip route-static 0.0.0.0 0 23.1.1.2
[r4]ip route-static 0.0.0.0 0 34.1.1.1
来到左边局域网
R1-R2之间链路为12.1.1.0/24
R1两个环回分别为1.1.1.1/24 1.1.2.1/24
R2环回为2.2.2.2/24
在R1上写一条指向R2的缺省路由,并在R2写上关于R1环回的路由,再在出接口做一个NAT
至此R1可以访问R3环回,ipv4环境配置完成
[r1]ip route-static 0.0.0.0 0 12.1.1.2
[r2]ip route-static 1.1.1.0 24 12.1.1.1
[r2]ip route-static 1.1.2.0 24 12.1.1.1
[r2]acl 2000
[r2-acl-basic-2000]rule permit source 0.0.0.0 255.255.255.255
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]nat outbound 2000
二、ripng环境配置
考虑到需要通过6to4,两个局域网互通
则两边局域网应基于他们的ipv4出接口设计他们的ipv6地址
左边就是2002:1701:0101::/48,右边2002:2201:0102::/48
左边配置如下
r1 loop0 2002:1701:0101:0000::1 65
r1 loop1 2002:1701:0101:0000:8000::1 65
r1 - r2
2002:1701:0101:0001:: 64
r2 loop0 2002:1701:0101:0002::1 64
tunnel 2002:1701:0101:0003::1 64
启动ripng,此处列举R1的配置
[r1]ripng 1
[r1-ripng-1]int loop 0
[r1-LoopBack0]ripng 1 enable
[r1-LoopBack0]int loop 1
[r1-LoopBack1]ripng 1 enable
[r1-LoopBack1]int g0/0/0
[r1-GigabitEthernet0/0/0]ripng 1 enable
###在接口中进行宣告 ripng 1 enable
配置R2的tunnel口
[r2]int t0/0/0
[r2-Tunnel0/0/0]ipv6 enable
[r2-Tunnel0/0/0]ipv6 ad 2002:1701:0101:0003::1 64
[r2-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r2-Tunnel0/0/0]source 23.1.1.1
[r2]ipv6 route-static 2002:: 16 t 0/0/0
###还需要写一条指向tunnel口关于2002:: /16的静态路由
###以使用6to4使两个局域网互通
三、配置BGP环境
基于6to4分配ip
2002:2201:0102:: 49 as1
2002:2201:0102:0000:: 64
r4 tunnel
2002:2201:0102:0002::1 64
r4 loop0
2002:2201:0102:0000::1 64
r4-r5
2002:2201:0102:0001:: 64
2002:2201:0102:8000:: 49 as2
2002:2201:0102:8000:: 64
r5 loop
2002:2201:0102:8000::1 64
r5-r6
2002:2201:0102:8001:: 64
r6 loop
2002:2201:0102:8002:: 64
r6-r7
2002:2201:0102:8003:: 64
r7 loop
2002:2201:0102:8004::1 64
r7-r8
2002:2201:0102:8005:: 64
r8 loop0
2002:2201:0102:8006::1 64
在AS2中启用ospfv3
此处列举R5的配置
#需注意若该路由器没有任何接口配置ipv4地址的情况下
#启用ospfv3时必须配置该路由器的router-id,否则无法建邻
[r5]ospfv3 1
[r5-ospfv3-1]router-id 5.5.5.5
[r5-ospfv3-1]q
[r5]int loop 0
[r5-LoopBack0]ospfv3 1 a 0
[r5-LoopBack0]q
[r5]int g0/0/1
[r5-GigabitEthernet0/0/1]ospfv3 1 a 0
启用bgp
R4和R5之间使用直连接口建立邻居关系
[r4]bgp 1
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 2002:2201:102:1::2 as 2
[r4-bgp]ipv6
[r4-bgp-af-ipv6]peer 2002:2201:102:1::2 enable
###bgp中的ipv6邻居需要进入到bgp的ipv6-family中
###再将它们enable
在AS2中,使用环回接口建邻时,可以利用ipv6多宿主的特点,在同一个环回接口上添加另外一个方便建邻的ipv6地址(实际工程中使用site-local地址,也就是私有地址)
此处列举R7的配置
[r7]bgp 64512
[r7-bgp]router-id 7.7.7.7
[r7-bgp]confederation id 2
###声明联邦所在AS
[r7-bgp]confederation peer-as 64513
###告知本地直连其他联邦
[r7-bgp]peer 6::6 as 64512
[r7-bgp]peer 8::8 as 64513
[r7-bgp]peer 8::8 con lo 0
###若后添加的IPV6地址用于BGP建邻,在华为设备中则需要声明
###[r7-bgp]peer 8::8 con lo 0 7::7
[r7-bgp]peer 6::6 con lo 0
###使用环回建邻
[r7-bgp]ipv6
[r7-bgp-af-ipv6]peer 6::6 enable
[r7-bgp-af-ipv6]peer 8::8 enable
[r7-bgp-af-ipv6]q
[r7-bgp]peer 8::8 ebgp-max-hop 2
###调整TTL值
来到R4上,配置tunnel口,并且在BGP中宣告2002:: /16这条路由,令BGP可以访问左边局域网
[r4]int t 0/0/0
[r4-Tunnel0/0/0]ipv6 enable
[r4-Tunnel0/0/0]ipv6 ad 2002:2201:0102:0002::1 64
[r4-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r4-Tunnel0/0/0]source 34.1.1.2
[r4]ipv6 route-static 2002:: 16 t 0/0/0
[r4-bgp-af-ipv6]network 2002:: 16
因为下一跳不可达,以及IBGP水平分割问题,AS2中R6/7/8无法将该路由加表
则在R5上针对R6修改传递路由的下一条
在R6上做一个路由反射器
[r5-bgp-af-ipv6]peer 6::6 next-hop-local
[r6-bgp-af-ipv6]peer 5::5 reflect-client
补齐R4的路由表,在R5上将AS2中的路由进行汇总并宣告
[r5]ipv6 route-static 2002:2201:0102:8000:: 49 NULL 0
[r5]bgp 64512
[r5-bgp-af-ipv6]network 2002:2201:0102:8000:: 49
配置结束
四、测试
R1 ping R3环回
R1 ping R5环回
R1 ping R8环回