配置BGP4+ 6PE功能示例
配置6PE功能可将被分割的IPv6网络利用MPLS隧道技术连接起来。
组网需求
不连续的IPv6网络之间需要通信,且IPv6网络之间是IPv4/MPLS网络的情况下,BGP4+ 6PE是一种比较理想的方案。
如图11-8所示,CE1、CE2所在的IPv6网络之间没有直连链路,但有去往AS号为200的IPv4/MPLS网络的链路。CE1和CE2希望能够借助于IPv4/MPLS网络进行通信,这可以通过在PE1和PE2之间建立6PE对等体来解决。6PE对等体通过MP-BGP来发送从各自CE学来的IPv6路由,通过LDP LSP来转发IPv6数据。
配置思路
采用如下的思路配置BGP4+ 6PE功能:
PE1与PE2之间配置OSPF路由协议,可以互相学到对端的Loopback接口地址。
骨干网上使能MPLS、MPLS LDP,使得PE之间建立LDP LSP。
在PE1和PE2之间配置6PE对等体。
PE与CE之间配置BGP4+,用来交互IPv6路由。
操作步骤
- 配置各接口的IPv4、IPv6地址,配置过程略
- 配置PE1和PE2之间的OSPF路由协议,使PE之间可以互相学习到去往对方Loopback的路由,配置过程请参考后面的配置文件
- 骨干网上使能MPLS、MPLS LDP,PE之间建立LDP LSP
# 配置PE1。
[~PE1] mpls lsr-id 2.2.2.2
[*PE1] mpls
[*PE1-mpls] quit
[*PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface gigabitethernet0/2/0
[*PE1-GigabitEthernet0/2/0] mpls
[*PE1-GigabitEthernet0/2/0] mpls ldp
[*PE1-GigabitEthernet0/2/0] quit
[*PE1] commit
# 配置PE2。
[~PE2] mpls lsr-id 3.3.3.3
[*PE2] mpls
[*PE2-mpls] quit
[*PE2] mpls ldp
[*PE2-mpls-ldp] quit
[*PE2] interface gigabitethernet0/2/0
[*PE2-GigabitEthernet0/2/0] mpls
[*PE2-GigabitEthernet0/2/0] mpls ldp
[*PE2-GigabitEthernet0/2/0] quit
[*PE2] commit
配置完成后,PE上运行命令display mpls ldp session,可以看到PE之间的LDP会话已建立。
[*PE1] display mpls ldp session
LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDD:HH:MM) An asterisk (*) before a session means the session is being deleted. -------------------------------------------------------------------------- PeerID Status LAM SsnRole SsnAge KASent/Rcv -------------------------------------------------------------------------- 3.3.3.3:0 Operational DU Passive 000:00:35 143/199 -------------------------------------------------------------------------- TOTAL: 1 Session(s) Found.
- PE之间配置6PE对等体
# 配置PE1。
[~PE1] bgp 200
[*PE1-bgp] peer 3.3.3.3 as-number 200
[*PE1-bgp] peer 3.3.3.3 connect-interface LoopBack0
[*PE1-bgp] ipv6-family unicast
[*PE1-bgp-af-ipv6] import-route direct
[*PE1-bgp-af-ipv6] peer 3.3.3.3 enable
[*PE1-bgp-af-ipv6] peer 3.3.3.3 label-route-capability
[*PE1-bgp-af-ipv6] quit
[*PE1-bgp] quit
[*PE1] commit
# 配置PE2。
[~PE2] bgp 200
[*PE2-bgp] peer 2.2.2.2 as-number 200
[*PE2-bgp] peer 2.2.2.2 connect-interface LoopBack0
[*PE2-bgp] ipv6-family unicast
[*PE2-bgp-af-ipv6] import-route direct
[*PE2-bgp-af-ipv6] peer 2.2.2.2 enable
[*PE2-bgp-af-ipv6] peer 2.2.2.2 label-route-capability
[*PE2-bgp-af-ipv6] commit
[*PE2-bgp-af-ipv6] quit
[*PE2-bgp] quit
[*PE2] commit
# 配置完成后,PE上运行命令display bgp ipv6 peer可以看到PE之间的BGP对等体关系已建立。
[~PE1] display bgp ipv6 peer
BGP local router ID : 2.2.2.2
Local AS number : 200
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
3.3.3.3 4 200 1248 1342 0 18:06:28 Established 1
- PE与CE之间配置BGP4+路由协议,用来交换各自的IPv6路由
# 配置CE1。
[~CE1] bgp 100
[*CE1-bgp] router-id 5.5.5.5
[*CE1-bgp] peer 2001:db8:1::2 as-number 200
[*CE1-bgp] ipv6-family unicast
[*CE1-bgp-af-ipv6] peer 2001:db8:1::2 enable
[*CE1-bgp-af-ipv6] network 2001:db8:5::5 128
[*CE1-bgp-af-ipv6] commit
[~CE1-bgp-af-ipv6] quit
[~CE1-bgp] quit
# 配置PE1。
[~PE1] bgp 200
[*PE1-bgp] peer 2001:db8:1::1 as-number 100
[*PE1-bgp] ipv6-family unicast
[*PE1-bgp-af-ipv6] peer 2001:db8:1::1 enable
[*PE1-bgp-af-ipv6] commit
[~PE1-bgp-af-ipv6] quit
[~PE1-bgp] quit
# 配置PE2。
[~PE2] bgp 200
[*PE2-bgp] peer 2001:db8:2::1 as-number 300
[*PE2-bgp] ipv6-family unicast
[*PE2-bgp-af-ipv6] peer 2001:db8:2::1 enable
[*PE2-bgp-af-ipv6] commit
[~PE2-bgp-af-ipv6] quit
[~PE2-bgp] quit
# 配置CE2。
[~CE2] bgp 300
[*CE2-bgp] router-id 6.6.6.6
[*CE2-bgp] peer 2001:db8:2::2 as-number 200
[*CE2-bgp] ipv6-family unicast
[*CE2-bgp-af-ipv6] peer 2001:db8:2::2 enable
[*CE2-bgp-af-ipv6] network 2001:db8:6::6 128
[*CE2-bgp-af-ipv6] commit
[~CE2-bgp-af-ipv6] quit
[~CE2-bgp] quit
配置完成后,PE或CE上运行命令display bgp ipv6 peer可以看到PE与CE之间的BGP对等体关系已建立。
# 以PE1的显示信息为例。
[~PE1] display bgp ipv6 peer
BGP local router ID : 2.2.2.2 Local AS number : 100 Total number of peers : 2 Peers in established state : 2 Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 3.3.3.3 4 200 59 60 0 00:35:46 Established 1 2001:db8:1::1 4 100 40 45 0 00:06:16 Established 1
- 检查配置结果
上述配置完成后,CE之间可以相互学习到去往对端Loopback接口的路由,并能Ping通。
# 以CE1为例。
[~CE1] display ipv6 routing-table
Routing Table : _public_ Destinations : 8 Routes : 8 Destination : ::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 104 NextHop : ::FFFF:127.0.0.0 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : 2001:db8:1:: PrefixLength : 64 NextHop : 2001:db8:1::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/0 Flags : D Destination : 2001:db8:1::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/0 Flags : D Destination : 2001:db8:5::5 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : LoopBack2 Flags : D Destination : 2001:db8:6::6 PrefixLength : 128 NextHop : 2001:db8:1::2 Preference : 255 Cost : 0 Protocol : BGP RelayNextHop : 2001:db8:1::2 TunnelID : 0x0 Interface : GigabitEthernet0/1/0 Flags : RD Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
<CE1> ping ipv6 -a 2001:db8:5::5 2001:db8:6::6 PING 2001:db8:6::6 : 56 data bytes, press CTRL_C to break Reply from 2001:db8:6::6 bytes=56 Sequence=1 hop limit=62 time=8 ms Reply from 2001:db8:6::6 bytes=56 Sequence=2 hop limit=62 time=2 ms Reply from 2001:db8:6::6 bytes=56 Sequence=3 hop limit=62 time=4 ms Reply from 2001:db8:6::6 bytes=56 Sequence=4 hop limit=62 time=3 ms Reply from 2001:db8:6::6 bytes=56 Sequence=5 hop limit=62 time=4 ms ---2001:db8:6::6 ping statistics--- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max=2/4/8 ms
综上所述,通过配置6PE特性,CE1与CE2所在IPv6网络之间可以借助IPv4/MPLS骨干网进行通信。
配置文件
CE1的配置文件
#
sysname CE1
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:1::1/64
#
interface LoopBack1
ipv6 enable
ipv6 address 2001:db8:5::5/128
#
bgp 100
router-id 5.5.5.5
peer 2001:db8:1::2 as-number 200
#
ipv4-family unicast
undo synchronization #
ipv6-family unicast
undo synchronization network 2001:db8:5::5 128
peer 2001:db8:1::2 enable
#
return
PE1的配置文件
#
sysname PE1
#
mpls lsr-id 2.2.2.2
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:1::2/64
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.0.1 255.255.255.252
mpls
mpls ldp
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 2001:db8:1::1 as-number 100
#
ipv4-family unicast
undo synchronization peer 3.3.3.3 enable
#
ipv6-family unicast
undo synchronization import-route direct
peer 3.3.3.3 enable
peer 3.3.3.3 label-route-capability
peer 2001:db8:1::1 enable
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.0.0 0.0.0.3
#
return
PE2的配置文件
#
sysname PE2
#
mpls lsr-id 3.3.3.3
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:2::2/64
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.0.2 255.255.255.252
mpls
mpls ldp
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 2001:db8:2::1 as-number 300
#
ipv4-family unicast
undo synchronization peer 2.2.2.2 enable
#
ipv6-family unicast
undo synchronization import-route direct
peer 2.2.2.2 enable
peer 2.2.2.2 label-route-capability
peer 2001:db8:2::1 enable
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.0.0 0.0.0.3
#
return
CE2配置文件
#
sysname CE2
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:2::1/64
#
interface LoopBack1
ipv6 enable
ipv6 address 2001:db8:6::6/128
#
bgp 300
router-id 6.6.6.6
peer 2001:db8:2::2 as-number 200
#
ipv4-family unicast
undo synchronization #
ipv6-family unicast
undo synchronization network 2001:db8:6::6 128
peer 2001:db8:2::2 enable
#
return