最近由于工作原因,按照客户的需求需要将防火墙旁挂,并将部门流量引流到防火墙上。本文章将讲述基本术语、原理、实验(可下载)
基础介绍:
PE和CE
BGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。
- CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
- PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。
- P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。
RD和VPN-IPv4地址
传统BGP无法正确处理地址空间重叠的VPN的路由。假设VPN1和VPN2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由。虽然本端PE通过不同的VPN实例可以区分地址空间重叠的VPN的路由,但是这些路由发往对端PE后,由于不同VPN的路由之间不进行负载分担,因此对端PE将根据BGP选路规则只选择其中一条VPN路由,从而导致去往另一个VPN的路由丢失。
PE之间使用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)来发布VPN路由,并使用VPN-IPv4地址来解决上述问题。
VPN-IPv4地址共有12个字节,包括8字节的路由标识符RD(Route Distinguisher)和4字节的IPv4地址前缀,如图4所示。
RD用于区分使用相同地址空间的IPv4前缀,增加了RD的IPv4地址称为VPN-IPv4地址(即VPNv4地址)。PE从CE接收到IPv4路由后,转换为全局唯一的VPN-IPv4路由,并在公网上发布。
RD的结构使得每个服务供应商可以独立地分配RD,但为了在CE双归属的情况下保证路由正常,必须保证PE上的RD全局唯一。
说白了:就是区分路由条目使用的
VPN Target
BGP/MPLS IP VPN使用BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布。
每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:
- Export Target:本地PE从直接相连Site学到IPv4路由后,转换为VPN-IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
- Import Target:PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例中。
说白了:就是PE设备控制路由的收发
原理说明:
引流前:
我们先来说说没有做引流的时候,数据的流向。如下图所示,
- 路由器访问服务器走的是红色线标
- 服务器访问路由器走的是蓝色线标
由于现在需要添加防火墙,又不想直接对网络拓扑进行变更,此时选择旁挂防火墙,将来回的数据流都引到防火墙,然后防火墙使用自身的策略进行访问控制。
引流后:
- 路由器访问服务器走的是红色线标
- 服务器访问路由器走的是蓝色线标
原理
将核心交换机(HX-SW)虚拟化成2台小的核心交换机,姑且成为vrf1和vrf2.
vrf2说明:在核心交换机上将vlan4/vlan2都加入vpn-instance vrf2.当收到路由器方向来的流量后,会进入vrf2的vpn-instance,然后我们在vpn-instance vrf2中配置路由,下一跳指向防火墙vlan2,防火墙再写下一跳指向HX-SW的vlan3.
vrf1说明:在核心交换机上将vlan100、vlan200、vlan2加入vpn-instance vrf1中。当内部服务器需要访问路由器时,在核心交换机的vpn-instance vrf1中写路由下一跳指向fw的vlan3.在fw中写路由下一跳指向核心交换机vlan2。在核心交换机的vpn-instance vrf2中写一条默认路由去往路由器。
实验说明:
1.拓扑图
2.配置
AR1[V200R003C00]# sysname AR1# snmp-agent local-engineid 800007DB03000000000000 snmp-agent # clock timezone China-Standard-Time minus 08:00:00#portal local-server load portalpage.zip# drop illegal-mac alarm# set cpu-usage threshold 80 restore 75#aaa authentication-scheme default authorization-scheme default accounting-scheme default domain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$ local-user admin service-type http#firewall zone Local priority 15#interface Ethernet0/0/0#interface Ethernet0/0/1#interface Ethernet0/0/2#interface Ethernet0/0/3#interface Ethernet0/0/4#interface Ethernet0/0/5#interface Ethernet0/0/6#interface Ethernet0/0/7#interface GigabitEthernet0/0/0 ip address 10.10.4.5 255.255.255.0 #interface GigabitEthernet0/0/1#interface NULL0#ip route-static 10.10.100.0 255.255.255.0 10.10.4.254ip route-static 10.10.200.0 255.255.255.0 10.10.4.254#user-interface con 0 authentication-mode passworduser-interface vty 0 4user-interface vty 16 20#wlan ac#return
FW
#sysname FW#vlan batch 2 to 3#cluster enablentdp enablendp enable#drop illegal-mac alarm#diffserv domain default#drop-profile default#aaa authentication-scheme default authorization-scheme default accounting-scheme default domain default domain default_admin local-user admin password simple admin local-user admin service-type http#interface Vlanif1#interface Vlanif2 ip address 10.10.2.5 255.255.255.0 #interface Vlanif3 ip address 10.10.3.5 255.255.255.0 #interface MEth0/0/1#interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 2 to 4094#interface GigabitEthernet0/0/2#interface GigabitEthernet0/0/3#interface GigabitEthernet0/0/4#interface GigabitEthernet0/0/5#interface GigabitEthernet0/0/6#interface GigabitEthernet0/0/7#interface GigabitEthernet0/0/8#interface GigabitEthernet0/0/9#interface GigabitEthernet0/0/10#interface GigabitEthernet0/0/11#interface GigabitEthernet0/0/12#interface GigabitEthernet0/0/13#interface GigabitEthernet0/0/14#interface GigabitEthernet0/0/15#interface GigabitEthernet0/0/16#interface GigabitEthernet0/0/17#interface GigabitEthernet0/0/18#interface GigabitEthernet0/0/19#interface GigabitEthernet0/0/20#interface GigabitEthernet0/0/21#interface GigabitEthernet0/0/22#interface GigabitEthernet0/0/23#interface GigabitEthernet0/0/24#interface NULL0#ip route-static 0.0.0.0 0.0.0.0 10.10.2.254ip route-static 10.10.100.0 255.255.255.0 10.10.3.254ip route-static 10.10.200.0 255.255.255.0 10.10.3.254#user-interface con 0user-interface vty 0 4#return
HX-SW#sysname HX-SW#vlan batch 2 to 4 100 200#cluster enablentdp enablendp enable#drop illegal-mac alarm#diffserv domain default#ip vpn-instance vrf1 ipv4-family route-distinguisher 222:2 vpn-target 12:12 export-extcommunity vpn-target 12:12 import-extcommunity#ip vpn-instance vrf2 ipv4-family route-distinguisher 444:4 vpn-target 400:4 export-extcommunity vpn-target 400:4 import-extcommunity#drop-profile default#aaa authentication-scheme default authorization-scheme default accounting-scheme default domain default domain default_admin local-user admin password simple admin local-user admin service-type http#interface Vlanif1#interface Vlanif2 ip binding vpn-instance vrf2 ip address 10.10.2.254 255.255.255.0 #interface Vlanif3 ip binding vpn-instance vrf1 ip address 10.10.3.254 255.255.255.0 #interface Vlanif4 ip binding vpn-instance vrf2 ip address 10.10.4.254 255.255.255.0 #interface Vlanif100 ip binding vpn-instance vrf1 ip address 10.10.100.254 255.255.255.0 #interface Vlanif200 ip binding vpn-instance vrf1 ip address 10.10.200.254 255.255.255.0 #interface MEth0/0/1#interface GigabitEthernet0/0/1 port link-type access port default vlan 4#interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 2 to 4094#interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass vlan 2 to 4094#interface GigabitEthernet0/0/4#interface GigabitEthernet0/0/5#interface GigabitEthernet0/0/6#interface GigabitEthernet0/0/7#interface GigabitEthernet0/0/8#interface GigabitEthernet0/0/9#interface GigabitEthernet0/0/10#interface GigabitEthernet0/0/11#interface GigabitEthernet0/0/12#interface GigabitEthernet0/0/13#interface GigabitEthernet0/0/14#interface GigabitEthernet0/0/15#interface GigabitEthernet0/0/16#interface GigabitEthernet0/0/17#interface GigabitEthernet0/0/18#interface GigabitEthernet0/0/19#interface GigabitEthernet0/0/20#interface GigabitEthernet0/0/21#interface GigabitEthernet0/0/22#interface GigabitEthernet0/0/23#interface GigabitEthernet0/0/24#interface NULL0#ip route-static vpn-instance vrf1 0.0.0.0 0.0.0.0 10.10.3.5ip route-static vpn-instance vrf2 0.0.0.0 0.0.0.0 10.10.4.5ip route-static vpn-instance vrf2 10.10.100.0 255.255.255.0 10.10.2.5ip route-static vpn-instance vrf2 10.10.200.0 255.255.255.0 10.10.2.5#user-interface con 0user-interface vty 0 4#return
JR-SW#sysname JR-SW#vlan batch 100 200#cluster enablentdp enablendp enable#drop illegal-mac alarm#diffserv domain default#drop-profile default#aaa authentication-scheme default authorization-scheme default accounting-scheme default domain default domain default_admin local-user admin password simple admin local-user admin service-type http#interface Vlanif1#interface MEth0/0/1#interface GigabitEthernet0/0/1 port link-type access port default vlan 100#interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 2 to 4094#interface GigabitEthernet0/0/3 port link-type access port default vlan 200#interface GigabitEthernet0/0/4#interface GigabitEthernet0/0/5#interface GigabitEthernet0/0/6#interface GigabitEthernet0/0/7#interface GigabitEthernet0/0/8#interface GigabitEthernet0/0/9#interface GigabitEthernet0/0/10#interface GigabitEthernet0/0/11#interface GigabitEthernet0/0/12#interface GigabitEthernet0/0/13#interface GigabitEthernet0/0/14#interface GigabitEthernet0/0/15#interface GigabitEthernet0/0/16#interface GigabitEthernet0/0/17#interface GigabitEthernet0/0/18#interface GigabitEthernet0/0/19#interface GigabitEthernet0/0/20#interface GigabitEthernet0/0/21#interface GigabitEthernet0/0/22#interface GigabitEthernet0/0/23#interface GigabitEthernet0/0/24#interface NULL0#user-interface con 0user-interface vty 0 4#return
注:附实验的拓扑资料,需要使用华为模拟器ensp打开
链接:https://pan.baidu.com/s/18_MegvDRlZiZpUW2H4ADEQ 提取码:ox19