企业网络中的防火墙旁挂实例
最近由于工作原因,按照客户的需求需要将防火墙旁挂,并将部门流量引流到防火墙上。本文章将讲述基本术语、原理、实验(可下载)
基础介绍:
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.254
ip route-static 10.10.200.0 255.255.255.0 10.10.4.254
#
user-interface con 0
authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
return
FW
# sysname FW # vlan batch 2 to 3 # cluster enable ntdp enable ndp 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.254 ip route-static 10.10.100.0 255.255.255.0 10.10.3.254 ip route-static 10.10.200.0 255.255.255.0 10.10.3.254 # user-interface con 0 user-interface vty 0 4 # return
HX-SW
#
sysname HX-SW
#
vlan batch 2 to 4 100 200
#
cluster enable
ntdp enable
ndp 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.5
ip route-static vpn-instance vrf2 0.0.0.0 0.0.0.0 10.10.4.5
ip route-static vpn-instance vrf2 10.10.100.0 255.255.255.0 10.10.2.5
ip route-static vpn-instance vrf2 10.10.200.0 255.255.255.0 10.10.2.5
#
user-interface con 0
user-interface vty 0 4
#
return
JR-SW
#
sysname JR-SW
#
vlan batch 100 200
#
cluster enable
ntdp enable
ndp 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 0
user-interface vty 0 4
#
return
注:附实验的拓扑资料,需要使用华为模拟器ensp打开
链接:https://pan.baidu.com/s/18_MegvDRlZiZpUW2H4ADEQ 提取码:ox19