配置BGP方式VPLS示例
当PE设备支持BGP作为VPLS信令时,可以配置BGP方式的VPLS。这种方式通过配置VPN Target实现VPLS PE的自动发现。
组网需求
如图10-23,两台设备PE1和PE2作为PE启动VPLS功能。CE1连接到PE1设备上,CE2连接到PE2上。CE1和CE2属于一个VPLS。
采用BGP作为VPLS信令建立PW,通过配置VPN Target实现VPLS PE的自动发现,实现CE1与CE2的互通。
配置思路
采用如下的思路配置BGP方式VPLS的基本功能:
在骨干网上配置路由协议实现互通,并配置MPLS基本能力。
在PE之间建立LSP隧道。
在PE上使能MPLS L2VPN。
在PE上使能BGP对等体交换VPLS信息的能力。
在PE上创建VSI,指定信令为BGP,指定RD、VPN-Target和Site。
将AC接口与VSI进行绑定。
数据准备
为完成此配置例,需准备如下的数据:
对等体的IP地址。
PE1、PE2上的VSI名称。
PE1、PE2上的BGP AS号。
VSI的信令模式为BGP。
PE上VSI的RD和VPN-Target,VSI所属的Site ID。
绑定VSI的接口和接口上封装的VLAN ID值。
操作步骤
- 配置骨干网各设备的IP地址。
# 配置PE1。
<HUAWEI> system-view
[~HUAWEI] sysname PE1
[*HUAWEI] commit
[~PE1] interface loopback1
[*PE1-Loopback1] ip address 1.1.1.9 32
[*PE1-Loopback1] quit
[*PE1] interface gigabitethernet 1/0/0.1
[*PE1-GigabitEthernet1/0/0.1] undo shutdown
[*PE1-GigabitEthernet1/0/0.1] quit
[*PE1] interface gigabitethernet 2/0/0
[*PE1-GigabitEthernet2/0/0] ip address 192.168.1.1 24
[*PE1-GigabitEthernet2/0/0] quit
[*PE1] commit
# 配置P。
<HUAWEI> system-view
[~HUAWEI] sysname P
[*HUAWEI] commit
[~P] interface loopback1
[*P-Loopback1] ip address 2.2.2.9 32
[*P-Loopback1] quit
[*P] interface gigabitethernet 1/0/0
[*P-GigabitEthernet1/0/0] ip address 192.168.1.2 24
[*P-GigabitEthernet1/0/0] quit
[*P] interface gigabitethernet 2/0/0
[*P-GigabitEthernet2/0/0] ip address 192.168.10.1 24
[*P-GigabitEthernet2/0/0] quit
[*P] commit
# 配置PE2。
<HUAWEI> system-view
[~HUAWEI] sysname PE2
[*HUAWEI] commit
[~PE2] interface loopback1
[*PE2-Loopback1] ip address 3.3.3.9 32
[*PE2-Loopback1] quit
[*PE2] interface gigabitethernet 1/0/0
[*PE2-GigabitEthernet1/0/0] 192.168.10.2 24
[*PE2-GigabitEthernet1/0/0] quit
[*PE2] interface gigabitethernet 2/0/0.1
[*PE2-GigabitEthernet2/0/0.1] undo shutdown
[*PE2-GigabitEthernet2/0/0.1] quit
[*PE2] commit
- 配置IGP,本示例使用OSPF。
# 配置PE1。
[~PE1] ospf 1
[*PE1-ospf-1] area 0.0.0.0
[*PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[*PE1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[*PE1-ospf-1-area-0.0.0.0] quit
[*PE1-ospf-1] quit
[*PE1] commit
# 配置P。
[~P] ospf 1
[*P-ospf-1] area 0.0.0.0
[*P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[*P-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[*P-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255
[*P-ospf-1-area-0.0.0.0] quit
[*P-ospf-1] quit
[*P] commit
# 配置PE2。
[~PE2] ospf 1
[*PE2-ospf-1] area 0.0.0.0
[*PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[*PE2-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255
[*PE2-ospf-1-area-0.0.0.0] quit
[*PE2-ospf-1] quit
[*PE2] commit
- 使能MPLS,建立LSP隧道
# 配置PE1。
[~PE1] mpls lsr-id 1.1.1.9
[*PE1] mpls
[*PE1-mpls] quit
[*PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface gigabitethernet 2/0/0
[*PE1-GigabitEthernet2/0/0] mpls
[*PE1-GigabitEthernet2/0/0] mpls ldp
[*PE1-GigabitEthernet2/0/0] quit
[*PE1] commit
# 配置P。
[~P] mpls lsr-id 2.2.2.9
[*P] mpls
[*P-mpls] quit
[*P] mpls ldp
[*P-mpls-ldp] quit
[*P] interface gigabitethernet 1/0/0
[*P-GigabitEthernet1/0/0] mpls
[*P-GigabitEthernet1/0/0] mpls ldp
[*P-GigabitEthernet1/0/0] quit
[*P] interface gigabitethernet 2/0/0
[*P-GigabitEthernet2/0/0] mpls
[*P-GigabitEthernet2/0/0] mpls ldp
[*P-GigabitEthernet2/0/0] quit
[*P] commit
# 配置PE2。
[~PE2] mpls lsr-id 3.3.3.9
[*PE2] mpls
[*PE2-mpls] quit
[*PE2] mpls ldp
[*PE2-mpls-ldp] quit
[*PE2] interface gigabitethernet 1/0/0
[*PE2-GigabitEthernet1/0/0] mpls
[*PE2-GigabitEthernet1/0/0] mpls ldp
[*PE2-GigabitEthernet1/0/0] quit
[*PE2] commit
- 使能BGP对等体交换VPLS信息的能力
# 配置PE1。
[~PE1] bgp 100
[*PE1-bgp] peer 3.3.3.9 as-number 100
[*PE1-bgp] peer 3.3.3.9 connect-interface loopback1
[*PE1-bgp] l2vpn-ad-family
[*PE1-bgp-af-l2vpn-ad] peer 3.3.3.9 enable
[*PE1-bgp-af-l2vpn-ad] peer 3.3.3.9 signaling vpls
[*PE1-bgp-af-l2vpn-ad] quit
[*PE1-bgp] quit
[*PE1] commit
# 配置PE2。
[~PE2] bgp 100
[*PE2-bgp] peer 1.1.1.9 as-number 100
[*PE2-bgp] peer 1.1.1.9 connect-interface loopback1
[*PE2-bgp] l2vpn-ad-family
[*PE2-bgp-af-l2vpn-ad] peer 1.1.1.9 enable
[*PE2-bgp-af-l2vpn-ad] peer 1.1.1.9 signaling vpls
[*PE2-bgp-af-l2vpn-ad] quit
[*PE2-bgp] quit
[*PE2] commit
- 在PE上使能MPLS L2VPN
# 配置PE1。
[~PE1] mpls l2vpn
[*PE1-l2vpn] quit
[*PE1] commit
# 配置PE2。
[~PE2] mpls l2vpn
[*PE2-l2vpn] quit
[*PE2] commit
- 在PE上配置VSI
VSI两端的Site ID不能相同。
# 配置PE1。
[~PE1] vsi bgp1
[*PE1-vsi-bgp1] pwsignal bgp
[*PE1-vsi-bgp1-bgp] route-distinguisher 192.168.1.1:1
[*PE1-vsi-bgp1-bgp] vpn-target 100:1 import-extcommunity
[*PE1-vsi-bgp1-bgp] vpn-target 100:1 export-extcommunity
[*PE1-vsi-bgp1-bgp] site 1 range 5 default-offset 0
[*PE1-vsi-bgp1-bgp] quit
[*PE1-vsi-bgp1] quit
[*PE1] commit
# 配置PE2。
[~PE2] vsi bgp1
[*PE2-vsi-bgp1] pwsignal bgp
[*PE2-vsi-bgp1-bgp] route-distinguisher 192.168.10.2:1
[*PE2-vsi-bgp1-bgp] vpn-target 100:1 import-extcommunity
[*PE2-vsi-bgp1-bgp] vpn-target 100:1 export-extcommunity
[*PE2-vsi-bgp1-bgp] site 2 range 5 default-offset 0
[*PE2-vsi-bgp1-bgp] quit
[*PE2-vsi-bgp1] quit
[*PE2] commit
- 在PE上将VSI与AC接口进行绑定
# 在PE1上创建子接口,允许接收VLAN10的报文,绑定VSI。
[~PE1] interface gigabitethernet1/0/0.1
[*PE1-GigabitEthernet1/0/0.1] shutdown
[*PE1-GigabitEthernet1/0/0.1] vlan-type dot1q 10
[*PE1-GigabitEthernet1/0/0.1] l2 binding vsi bgp1
[*PE1-GigabitEthernet1/0/0.1] undo shutdown
[*PE1-GigabitEthernet1/0/0.1] quit
[*PE1] commit
# 在PE2上创建子接口,允许接收VLAN10的报文,绑定VSI。
[~PE2] interface gigabitethernet2/0/0.1
[*PE2-GigabitEthernet2/0/0.1] shutdown
[*PE2-GigabitEthernet2/0/0.1] vlan-type dot1q 10
[*PE2-GigabitEthernet2/0/0.1] l2 binding vsi bgp1
[*PE2-GigabitEthernet2/0/0.1] undo shutdown
[*PE2-GigabitEthernet2/0/0.1] quit
[*PE2] commit
- 配置CE
# 配置CE1
<HUAWEI> system-view
[~HUAWEI] sysname CE1
[*HUAWEI] commit
[~CE1] interface gigabitethernet1/0/0.1
[*CE1-GigabitEthernet1/0/0.1] shutdown
[*CE1-GigabitEthernet1/0/0.1] vlan-type dot1q 10
[*CE1-GigabitEthernet1/0/0.1] ip address 10.1.1.1 255.255.255.0
[*CE1-GigabitEthernet1/0/0.1] undo shutdown
[*CE1-GigabitEthernet1/0/0.1] quit
[*CE1] commit
# 配置CE2
<HUAWEI> system-view
[~HUAWEI] sysname CE2
[*HUAWEI] commit
[~CE2] interface gigabitethernet1/0/0.1
[*CE2-GigabitEthernet1/0/0.1] shutdown
[*CE2-GigabitEthernet1/0/0.1] vlan-type dot1q 10
[*CE2-GigabitEthernet1/0/0.1] ip address 10.1.1.2 255.255.255.0
[*CE2-GigabitEthernet1/0/0.1] undo shutdown
[*CE2-GigabitEthernet1/0/0.1] quit
[*CE2] commit
- 验证配置结果
完成上述配置后,在PE1上执行display vsi name bgp1 verbose命令,可以看到名字为bgp1的VSI建立了一条到PE2的PW,VSI状态为UP。
[~PE1] display vsi name bgp1 verbose
***VSI Name : bgp1 Administrator VSI : no Isolate Spoken : disable VSI Index : 0 PW Signaling : bgp Member Discovery Style : auto PW MAC Learn Style : unqualify Encapsulation Type : vlan MTU : 1500 Diffserv Mode : uniform Service Class : -- Color : -- DomainId : 255 Domain Name : Ignore AcState : disable Create Time : 0 days, 0 hours, 6 minutes, 52 seconds VSI State : up Resource Status : Valid BGP RD : 192.168.1.1:1 SiteID/Range/Offset : 1/5/0 Import vpn target : 100:1 Export vpn target : 100:1 Remote Label Block : 25600/5/0 Local Label Block : 0/25600/5/0 Interface Name : GigabitEthernet1/0/0.1 State : up Access Port : false Last Up Time : 2013/01/17 10:29:49 Total Up Time : 0 days, 0 hours, 18 minutes, 20 seconds **PW Information: *Peer Ip Address : 3.3.3.9 PW State : up Local VC Label : 25602 Remote VC Label : 25601 PW Type : label Tunnel ID : 0x800006 Broadcast Tunnel ID : 0x800006 Broad BackupTunnel ID : 0x0 Ckey : 0x2 Nkey : 0x1 Main PW Token : 0x800006 Slave PW Token : 0x0 Tnl Type : LSP OutInterface : GigabitEthernet2/0/0 Backup OutInterface : Stp Enable : 0 Mac Flapping : 0 PW Last Up Time : 2013/01/17 10:31:05 PW Total Up Time : 0 days, 0 hours, 17 minutes, 4 seconds
# 在CE1(10.1.1.1)上能够ping通CE2(10.1.1.2)。
[~CE1] ping 10.1.1.2
PING 10.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=90 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=77 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=34 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=46 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=94 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 34/68/94 ms
配置文件
CE1的配置文件
# sysname CE1 # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 ip address 10.1.1.1 255.255.255.0 # return
CE2的配置文件
# sysname CE2 # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 ip address 10.1.1.2 255.255.255.0 # return
PE1的配置文件
# sysname PE1 # mpls lsr-id 1.1.1.9 mpls # mpls l2vpn # vsi bgp1 pwsignal bgp route-distinguisher 192.168.1.1:1 vpn-target 100:1 import-extcommunity vpn-target 100:1 export-extcommunity site 1 range 5 default-offset 0 # mpls ldp # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 l2 binding vsi bgp1 # interface GigabitEthernet2/0/0 undo shutdown ip address 192.168.1.1 255.255.255.0 mpls mpls ldp # interface LoopBack1 ip address 1.1.1.9 255.255.255.255 # bgp 100 peer 3.3.3.9 as-number 100 peer 3.3.3.9 connect-interface LoopBack1 l2vpn-ad-family policy vpn-target peer 3.3.3.9 enable peer 3.3.3.9 signaling vpls # ospf 1 area 0.0.0.0 network 1.1.1.9 0.0.0.0 network 192.168.1.0 0.0.0.255 # return
P的配置文件
# sysname P # mpls lsr-id 2.2.2.9 mpls # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 192.168.1.2 255.255.255.0 mpls mpls ldp # interface GigabitEthernet2/0/0 undo shutdown ip address 192.168.10.1 255.255.255.0 mpls mpls ldp # interface LoopBack1 ip address 2.2.2.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 192.168.1.0 0.0.0.255 network 192.168.10.0 0.0.0.255 network 2.2.2.9 0.0.0.0 # return
PE2的配置文件
# sysname PE2 # mpls lsr-id 3.3.3.9 mpls # mpls l2vpn # vsi bgp1 pwsignal bgp route-distinguisher 192.168.10.2:1 vpn-target 100:1 import-extcommunity vpn-target 100:1 export-extcommunity site 2 range 5 default-offset 0 # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 192.168.10.2 255.255.255.0 mpls mpls ldp # interface GigabitEthernet2/0/0.1 undo shutdown vlan-type dot1q 10 l2 binding vsi bgp1 # interface LoopBack1 ip address 3.3.3.9 255.255.255.255 # bgp 100 peer 1.1.1.9 as-number 100 peer 1.1.1.9 connect-interface LoopBack1 l2vpn-ad-family policy vpn-target peer 1.1.1.9 enable peer 1.1.1.9 signaling vpls # ospf 1 area 0.0.0.0 network 3.3.3.9 0.0.0.0 network 192.168.10.0 0.0.0.255 # return