
R1,R2,R3只配置IPv6地址,不配置任何IPv4地址,路由协议选用OSPFv3。
R1,R2,R3都使用主接口,IPv6地址设置为FEC0::X (X=1,2,3),默认网络类型。
R1,R2,R3各建立一个loopback 0接口,IPv6地址设置为FEC0:0:X::X/64 (X=1,2,3) 并在路由表中可见/64的路由条目,实现全网各个接口可以互相ping通。
在R1做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
no ip address
encapsulation frame-relay
ipv6 address FEC0::1/64
ipv6 address FE80::1 link-local
ipv6 ospf neighbor FE80::2
ipv6 ospf neighbor FE80::3
ipv6 ospf 1 area 0
frame-relay map ipv6 FE80::2 102 broadcast
frame-relay map ipv6 FEC0::2 102 broadcast
frame-relay map ipv6 FE80::3 103 broadcast
frame-relay map ipv6 FEC0::3 103 broadcast
no frame-relay inverse-arp
!
interface Loopback0
no ip address
ipv6 address FEC0:0:1::1/64
ipv6 ospf network point-to-point
ipv6 ospf 1 area 0
!
ipv6 router ospf 1
router-id 1.1.1.1
end
在R2上做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
no ip address
encapsulation frame-relay
ipv6 address FEC0::2/64
ipv6 address FE80::2 link-local
ipv6 ospf priority 0
ipv6 ospf 1 area 0
frame-relay map ipv6 FE80::3 201 broadcast
frame-relay map ipv6 FEC0::3 201 broadcast
frame-relay map ipv6 FE80::1 201 broadcast
frame-relay map ipv6 FEC0::1 201 broadcast
no frame-relay inverse-arp
interface Loopback0
no ip address
ipv6 address FEC0:0:2::2/64
ipv6 ospf network point-to-point
ipv6 ospf 1 area 0
end
在R3上做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
no ip address
encapsulation frame-relay
ipv6 address FEC0::3/64
ipv6 address FE80::3 link-local
ipv6 ospf priority 0
ipv6 ospf 1 area 0
frame-relay map ipv6 FE80::2 301 broadcast
frame-relay map ipv6 FEC0::2 301 broadcast
frame-relay map ipv6 FE80::1 301 broadcast
frame-relay map ipv6 FEC0::1 301 broadcast
no frame-relay inverse-arp
interface Loopback0
no ip address
ipv6 address FEC0:0:3::3/64
ipv6 ospf network point-to-point
ipv6 ospf 1 area 0
end
总结几个需要注意的问题:
- 和IPv4 FR环境下Hub-Spoke结构OSPF的配置一样在Hub上需要指定neighbor(对端的link-local地址),在spoke端的接口上需要将ospf priority设置为0,以避免spoke端成为DR。
- OSPFv3需要一个32位的数字来作为router-id,默认情况下会按照OSPFv2的方式来选择router-id;由于是纯IPv6的环境,没有任何接口配置了IPv4地址,因此无法自动生成router-id,需要手动指定每台路由器的router-id。
- 需要做frame-relay map相连的对端路由器的link-local地址,否则ospf的hello以及LSA都送不出去。
- 和OSPFv2一样,如果在loopback接口上不指定网络类型为point-to-point的话,会送出一条/128的主机路由:
R2#sh ipv route
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
U – Per-user Static route
I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
L FE80::/10 [0/0]
via ::, Null0
C FEC0::/64 [0/0]
via ::, Serial1/0
L FEC0::2/128 [0/0]
via ::, Serial1/0
O FEC0:0:1::1/128 [110/64]
via FE80::1, Serial1/0
C FEC0:0:2::/64 [0/0]
via ::, Loopback0
L FEC0:0:2::2/128 [0/0]
via ::, Loopback0
O FEC0:0:3::/64 [110/65]
via FE80::3, Serial1/0
L FF00::/8 [0/0]
via ::, Null0
*此时在R1的loopback接口上没有指定网络类型为point-to-point,而R3上指定了。 - 在spoke端需要互相map对端的link-local地址,从上路由表上可以看出路由器到达其他spoke loopback0接口的下一跳地址为其他spoke路由器的link-local地址。对于这个现象我存在疑问:在关闭frame-relay inverse-arp的情况下,spoke端互相map link-local地址实在是很麻烦,尤其在spoke端多的情况下,新增和减少spoke端都会是很麻烦的一件事情。当然出现这样的现象是可以想明白的,OSPF是链路状态协议,前几天做的同样拓扑的实验是RIP的,RIP是距离矢量协议,一个更新的是LSA,一个发的是自己的路由表,这里面的内容是不一样的。