实验原理
公司希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,其中,中心访问控制设备所在站点称为Hub站点,其他用户站点称为Spoke站点。站点间的互访必须通过Hub站点,通过Hub站点集中管控站点间的数据传输。
实验拓扑图
实验步骤
1.设备命名略。
2.根据拓扑配置接口IP地址,以Spoke_PE为例,G0/0/1和G0/0/2接口需要绑定VPN实例所以先不配置IP地址。
[Spoke_PE]interface GigabitEthernet 0/0/0 [Spoke_PE-GigabitEthernet0/0/0]ip address 10.1.12.1 24 [Spoke_PE-GigabitEthernet0/0/0]quit [Spoke_PE]interface LoopBack 0 [Spoke_PE-LoopBack0]ip address 1.1.1.1 32 [Spoke_PE-LoopBack0]quit [Spoke_PE] |
3.将MPLS域骨干网配置IGP协议,实现Spoke_PE和Hub_PE能互通,在Spoke_PE、P、Hub_PE设备创建IS-IS进程1,区域为49.0001,路由器类型为Level-2。
[Spoke_PE]isis 1 [Spoke_PE-isis-1]network-entity 49.0001.0000.0000.0003.00 [Spoke_PE-isis-1]is-level level-2 [Spoke_PE-isis-1]quit [Spoke_PE] [P]isis 1 [P-isis-1]network-entity 49.0001.0000.0000.0004.00 [P-isis-1]is-level level-2 [P-isis-1]quit [P] [Hub_PE]isis 1 [Hub_PE-isis-1]network-entity 49.0001.0000.0000.0005.00 [Hub_PE-isis-1]is-level level-2 [Hub_PE-isis-1]quit [Hub_PE] |
4.在Spoke_PE、P、Hub_PE设备接口使能IS-IS能力。
[Spoke_PE]interface GigabitEthernet 0/0/0 [Spoke_PE-GigabitEthernet0/0/0]isis enable 1 [Spoke_PE-GigabitEthernet0/0/0]quit [Spoke_PE]interface LoopBack 0 [Spoke_PE-LoopBack0]isis enable 1 [Spoke_PE-LoopBack0]quit [Spoke_PE] [P]interface GigabitEthernet 0/0/1 [P-GigabitEthernet0/0/1]isis enable 1 [P-GigabitEthernet0/0/1]quit [P]interface GigabitEthernet 0/0/2 [P-GigabitEthernet0/0/2]isis enable 1 [P-GigabitEthernet0/0/2]quit [P]interface LoopBack 0 [P-LoopBack0]isis enable 1 [P-LoopBack0]quit [P] [Hub_PE]interface GigabitEthernet 0/0/0 [Hub_PE-GigabitEthernet0/0/0]isis enable 1 [Hub_PE-GigabitEthernet0/0/0]quit [Hub_PE] [Hub_PE]interface LoopBack 0 [Hub_PE-LoopBack0]isis enable 1 [Hub_PE-LoopBack0]quit [Hub_PE] |
5.在MPLS骨干网内配置MPLS基本能力和MPLS LDP,建立MPLS LSP公网标签隧道。
[Spoke_PE]mpls lsr-id 1.1.1.1 [Spoke_PE]mpls [Spoke_PE-mpls]quit [Spoke_PE]mpls ldp [Spoke_PE-mpls-ldp]quit [Spoke_PE]interface GigabitEthernet 0/0/0 [Spoke_PE-GigabitEthernet0/0/0]mpls [Spoke_PE-GigabitEthernet0/0/0]mpls ldp [Spoke_PE-GigabitEthernet0/0/0]quit [Spoke_PE] [P]mpls lsr-id 2.2.2.2 [P]mpls [P-mpls]quit [P]mpls ldp [P-mpls-ldp]quit [P]interface GigabitEthernet 0/0/1 [P-GigabitEthernet0/0/1]mpls [P-GigabitEthernet0/0/1]mpls ldp [P-GigabitEthernet0/0/1]quit [P]interface GigabitEthernet 0/0/2 [P-GigabitEthernet0/0/2]mpls [P-GigabitEthernet0/0/2]mpls ldp [P-GigabitEthernet0/0/2]quit [P] [Hub_PE]mpls lsr-id 3.3.3.3 [Hub_PE]mpls [Hub_PE-mpls]quit [Hub_PE]mpls ldp [Hub_PE-mpls-ldp]quit [Hub_PE]interface GigabitEthernet 0/0/0 [Hub_PE-GigabitEthernet0/0/0]mpls [Hub_PE-GigabitEthernet0/0/0]mpls ldp [Hub_PE-GigabitEthernet0/0/0]quit [Hub_PE] |
6.在Spoke_PE和Hub_PE设备上建立IBGP对等体关系,自治系统号为AS 65123。
[Spoke_PE]bgp 65123 [Spoke_PE-bgp]router-id 1.1.1.1 [Spoke_PE-bgp]peer 3.3.3.3 as-number 65123 [Spoke_PE-bgp]peer 3.3.3.3 connect-interface LoopBack 0 [Spoke_PE-bgp]quit [Spoke_PE] [Hub_PE]bgp 65123 [Hub_PE-bgp]router-id 3.3.3.3 [Hub_PE-bgp]peer 1.1.1.1 as-number 65123 [Hub_PE-bgp]peer 1.1.1.1 connect-interface LoopBack 0 [Hub_PE-bgp]quit [Hub_PE] |
注:IPv4单播的IBGP对等体不需要使用时可以使用以下命令关闭该功能。
[Hub_PE]bgp 65123 [Hub_PE-bgp]undo default ipv4-unicast
或者 [Hub_PE-bgp]ipv4-family unicast [Hub_PE-bgp-af-ipv4]undo peer 1.1.1.1 enable |
7.在Spoke_PE和Hub_PE上配置MP-IBGP(VPNv4)对等体关系。
[Spoke_PE]bgp 65123 [Spoke_PE-bgp]ipv4-family vpnv4 [Spoke_PE-bgp-af-vpnv4]peer 3.3.3.3 enable [Spoke_PE-bgp-af-vpnv4]quit [Spoke_PE-bgp]quit [Spoke_PE] [Hub_PE]bgp 65123 [Hub_PE-bgp]ipv4-family vpnv4 [Hub_PE-bgp-af-vpnv4]peer 1.1.1.1 enable [Hub_PE-bgp-af-vpnv4]quit [Hub_PE-bgp]quit [Hub_PE] |
8.在Spoke_PE和Hub_PE设备创建VPN实例。Hub_PE上创建两个VPN实例,一个用来接收Spoke_PE发来的路由,其Import Target为100:1、200:1,另外一个用于向Spoke_PE发布路由,其Export Target为300:1。
[Spoke_PE]ip vpn-instance VPNA [Spoke_PE-vpn-instance-VPNA]route-distinguisher 10:1 [Spoke_PE-vpn-instance-VPNA-af-ipv4]vpn-target 300:1 import-extcommunity [Spoke_PE-vpn-instance-VPNA-af-ipv4]vpn-target 100:1 export-extcommunity [Spoke_PE-vpn-instance-VPNA-af-ipv4]quit [Spoke_PE-vpn-instance-VPNA]quit [Spoke_PE]
[Spoke_PE]ip vpn-instance VPNB [Spoke_PE-vpn-instance-VPNB]route-distinguisher 20:1 [Spoke_PE-vpn-instance-VPNB-af-ipv4]vpn-target 300:1 import-extcommunity [Spoke_PE-vpn-instance-VPNB-af-ipv4]vpn-target 200:1 export-extcommunity [Spoke_PE-vpn-instance-VPNB-af-ipv4]quit [Spoke_PE-vpn-instance-VPNB]quit [Spoke_PE] |
[Hub_PE]ip vpn-instance VPN_OUT [Hub_PE-vpn-instance-VPN_OUT]route-distinguisher 10:11 [Hub_PE-vpn-instance-VPN_OUT-af-ipv4]vpn-target 300:1 export-extcommunity [Hub_PE-vpn-instance-VPN_OUT-af-ipv4]quit [Hub_PE-vpn-instance-VPN_OUT]quit [Hub_PE]
[Hub_PE]ip vpn-instance VPN_IN [Hub_PE-vpn-instance-VPN_IN]route-distinguisher 20:22 [Hub_PE-vpn-instance-VPN_IN-af-ipv4]vpn-target 100:1 200:1 import-extcommunity [Hub_PE-vpn-instance-VPN_IN-af-ipv4]quit [Hub_PE-vpn-instance-VPN_IN]quit [Hub_PE] |
9.在Spoke_PE和Hub_PE设备将与Spoke_CE1、Spoke_CE2、Hub_CE互联的接口绑定相应的VPN实例。
[Spoke_PE]interface GigabitEthernet 0/0/1 [Spoke_PE-GigabitEthernet0/0/1]ip binding vpn-instance VPNA [Spoke_PE-GigabitEthernet0/0/1]ip address 10.1.1.2 24 [Spoke_PE-GigabitEthernet0/0/1]quit [Spoke_PE]interface GigabitEthernet 0/0/2 [Spoke_PE-GigabitEthernet0/0/2]ip binding vpn-instance VPNB [Spoke_PE-GigabitEthernet0/0/2]ip address 20.1.1.2 24 [Spoke_PE-GigabitEthernet0/0/2]quit [Spoke_PE] [Hub_PE]interface GigabitEthernet 0/0/1 [Hub_PE-GigabitEthernet0/0/1]ip binding vpn-instance VPN_OUT [Hub_PE-GigabitEthernet0/0/1]ip address 30.1.1.2 24 [Hub_PE-GigabitEthernet0/0/1]quit [Hub_PE]interface GigabitEthernet 0/0/2 [Hub_PE-GigabitEthernet0/0/2]ip binding vpn-instance VPN_IN [Hub_PE-GigabitEthernet0/0/2]ip address 40.1.1.2 24 [Hub_PE-GigabitEthernet0/0/2]quit [Hub_PE] |
10.在Spoke_PE和Spoke_CE之间运行OSPF协议交互路由信息。
[Spoke_PE]ospf 10 vpn-instance VPNA router-id 1.1.1.1 [Spoke_PE-ospf-10]area 0 [Spoke_PE-ospf-10-area-0.0.0.0]network 10.1.1.2 0.0.0.0 [Spoke_PE-ospf-10-area-0.0.0.0]quit [Spoke_PE-ospf-10]quit [Spoke_PE]ospf 20 vpn-instance VPNB router-id 11.1.1.1 [Spoke_PE-ospf-20-area-0.0.0.1]network 20.1.1.2 0.0.0.0 [Spoke_PE-ospf-20-area-0.0.0.1]quit [Spoke_PE-ospf-20]quit [Spoke_PE] [Spoke_CE1]ospf 10 router-id 11.11.11.11 [Spoke_CE1-ospf-10]area 0 [Spoke_CE1-ospf-10-area-0.0.0.0]network 10.1.1.1 0.0.0.0 [Spoke_CE1-ospf-10-area-0.0.0.0]network 172.16.1.1 0.0.0.0 [Spoke_CE1-ospf-10-area-0.0.0.0]quit [Spoke_CE1-ospf-10]quit [Spoke_CE1] [Spoke_CE2]ospf 20 router-id 22.22.22.22 [Spoke_CE2-ospf-20]area 1 [Spoke_CE2-ospf-20-area-0.0.0.1]network 20.1.1.1 0.0.0.0 [Spoke_CE2-ospf-20-area-0.0.0.1]network 172.16.1.2 0.0.0.0 [Spoke_CE2-ospf-20-area-0.0.0.1]quit [Spoke_CE2-ospf-20]quit [Spoke_CE2] |
11.在Hub_PE和Hub_CE之间运行BGP协议交互路由信息。
[Hub_PE]bgp 65123 [Hub_PE-bgp]router-id 5.5.5.5 [Hub_PE-bgp]ipv4-family vpn-instance VPN_OUT [Hub_PE-bgp-VPN_OUT]peer 30.1.1.1 as-number 65003 [Hub_PE-bgp-VPN_OUT]quit [Hub_PE-bgp]ipv4-family vpn-instance VPN_IN [Hub_PE-bgp-VPN_IN]peer 40.1.1.1 as-number 65003 [Hub_PE-bgp-VPN_IN]quit [Hub_PE-bgp]quit [Hub_PE] [Hub_CE]bgp 65003 [Hub_CE-bgp]router-id 6.6.6.6 [Hub_CE-bgp]peer 30.1.1.2 as-number 65123 [Hub_CE-bgp]peer 40.1.1.2 as-number 65123 [Hub_CE-bgp]quit [Hub_CE] |
12.在Spoke_PE设备上将私网OSPF协议路由引入到MP-BGP路由表中。
[Spoke_PE]bgp 65123 [Spoke_PE-bgp]ipv4-family vpn-instance VPNA [Spoke_PE-bgp-VPNA]import-route ospf 10 [Spoke_PE-bgp-VPNA]quit [Spoke_PE-bgp]ipv4-family vpn-instance VPNB [Spoke_PE-bgp-VPNB]import-route ospf 20 [Spoke_PE-bgp-VPNB]quit [Spoke_PE-bgp]quit [Spoke_PE] |
13.在Hub_CE设备上将私网Loopback0通告进BGP路由表,通过BGP协议将路由以MP-BGP路由通告给对端Spoke_PE设备。
[Hub_CE]bgp 65003 [Hub_CE-bgp]network 172.16.1.3 32 [Hub_CE-bgp]quit [Hub_CE] |
14.在Spoke_PE设备将MP-BGP路由注入到私网VPN路由表中。
[Spoke_PE]ospf 10 vpn-instance VPNA [Spoke_PE-ospf-10]import-route bgp [Spoke_PE-ospf-10]quit [Spoke_PE]ospf 20 vpn-instance VPNB [Spoke_PE-ospf-20]import-route bgp [Spoke_PE-ospf-20]quit [Spoke_PE] |
15.在Hub_PE设置允许AS重复命令,将从Spoke_CE1传递的路由经过Hub端之后,再传递给Spoke_CE2,由于BGP防环规则使其无法将路由再经过Hub_PE端传递,通过命令打破防环规则。
[Hub_PE]bgp 65123 [Hub_PE-bgp]ipv4-family vpn-instance VPN_OUT [Hub_PE-bgp-VPN_OUT]peer 30.1.1.1 allow-as-loop [Hub_PE-bgp-VPN_OUT]quit [Hub_PE-bgp]quit [Hub_PE] |
验证结果
1.检查IGP协议IS-IS的邻居关系。
2.检查Spoke_PE和Hub_PE之间的Loopback0互通。
3.检查MPLS LDP会话建立,状态为“Operational”状态表示LDP会话建立完成。
4.查看MPLS LSP的公网标签隧道。
5.检查MP-IBGP对等体关系。
6.检查VPN实例配置情况。
7.在Spoke_PE和Hub_PE设备执行ping命令检测连通性。
8.检查Spoke_PE之间的OSPF邻居和VPN转发表。
9.检查Hub_PE的MP-BGP路由表,在MP-BGP路由表中有VPNA的路由和VPNB的路由。
10.检查Spoke_CE1和Spoke_CE2设备的全局IP路由能接收到Hub_CE的Loopback0路由。
11.检查Hub_CE设备的路由表收到VPNA和VPNB的Loopback0的路由。
12.检测Spoke_CE1、SpokeCE2和Hub_CE之间的互通。
13.检查VPNv4路由传递情况,能看到Spoke_CE端的VPNv4路由经过了Hub_PE中转。
14.Spoke_CE1和Spoke_CE2相互访问必须经过Hub端执行中转,在Spoke_CE1查看路由表,能相互执行ping通测试。