华为防火墙HCIA学习笔记04 GRE ***
***简介
***定义
- 虚拟专用网***(Virtual Private Network)是一种"通过共享的公共网络建立私有的数据通道,将各个需要接入这张虚拟网的网络或终端通过通道连接起来,构成一个专用的、具有一定安全性和服务质量保证的网络 "。
- 虚拟 :用户不再需要拥有实际的专用长途数据线路,而是利用公网线路建立自己的私有网络 。
- 专用网络:用户可以为自己制定一个最符合自己需求的网络 。
-
传统的***组网主要采用专线***和基于客户端设备的加密***两种方式。
- 第一种方式的成本比较高,扩展性也不好;
- 第二种方式对用户端设备及人员的要求较高。
- IETF草案对基于IP的***的理解是:"使用IP机制仿真出一个私有的广域网"。
- 随着IP数据通信技术的不断发展,基于IP的***技术逐渐成为***市场的主流。
***分类
-
L3***
-
三层***主要是指***技术工作在协议栈的 网络层。
- 以IPSec ***技术为例,IPSec报头与IP报头工作在同一层次,封装报文时或者是以IPinIP的方式进行封装,或者是IPSec报头与IP报头同时对数据载荷进行封装。
-
除IPSec ***技术外,主要的三层***技术还有GRE ***。
- GRE ***产生的时间比较早,实现的机制也比较简单。GRE ***可以实现任意一种网络协议在另一种网络协议上的封装。与IPSec相比,安全性没有得到保证,只能提供有限的简单的安全机制。
-
-
L2***
-
二层***则是指***技术工作在协议栈的 数据链路层。
- 二层***主要包括的协议有点到点隧道协议(PPTP, Point-to-Point Tunneling Protocol)、二层转发协议(L2F, Layer 2 Forwarding)以及二层隧道协议(L2TP, Layer 2 Tunneling Protocol)。
-
***的应用场景
-
Site-to-Site ***
- 用于两个局域网之间建立连接。
- 可采用的***技术:IPSec、L2TP、L2TP over IPSec、GRE over IPSec、IPSec over GRE。
-
Client-to-Site ***
- 用于客户端与企业内网之间建立连接。
- 可采用的***技术:SSL、IPSec、L2TP、L2TP over IPSec。
GRE ***
GRE ***简介
- General Routing Encapsulation,简称GRE,是一种三层***封装技术。GRE可以对某些网络层协议(如IPX、Apple Talk、IP等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。异种报文传输的通道称为Tunnel(隧道)。
GRE报文处理过程
-
PC_A通过GRE隧道访问PC_B时,FW_A和FW_B上的报文转发过程如下:
- PC_A访问PC_B的原始报文进入FW_A后,首先匹配路由表。
- 根据路由查找结果,FW_A将报文送到Tunnel接口进行GRE封装,增加GRE头,外层加新IP头。
- FW_A根据GRE报文的新IP头的目的地址(2.2.2.2),再次查找路由表。
- FW_A根据路由查找结果转发报文。
- FW_B收到GRE报文后,首先判断这个报文是不是GRE报文。封装后的GRE报文会有个新的IP头,这个新的IP头中有个Protocol字段,字段中标识了内层协议类型,如果Protocol字段值是47,就表示这个报文是GRE报文。如果是GRE报文,FW_B则将该报文送到Tunnel接口解封装,去掉新的IP头、GRE头,恢复为原始报文;如果不是,则报文按照普通报文进行处理。
- FW_B根据原始报文的目的地址再次查找路由表,然后根据路由匹配结果转发报文。
总结:
FW_A的转发路径:匹配路由表 - - > Tunnel接口封装 - - > 再次匹配路由表 - - > 转发数据。
FW_B收到报文转发路径:检查报文协议 - - > GRE 报文 - - > Tunnel接口解封装 - - > 匹配路由 - - > 转发报文 。
GRE安全策略
- PC_A发出的原始报文进入Tunnel(假定Tunnel接口加入GRE区域)接口这个过程中,报文经过的安全域间是Trust—>GRE;原始报文被GRE封装后,FW_A在转发这个报文时,报文经过的安全域间是Local—>Untrust。华为防火墙默认发出***报文不需要安全策略。
- 当报文到达FW_B时,FW_B会进行解封装。在此过程中,报文经过的安全域间是Untrust—>Local;GRE报文被解封装后,FW_B在转发原始报文时,报文经过的安全域间是GRE—>Trust。
实验:
GRE ***
需求:
配置GRE ***使得深圳公司和广州公司能够互访。
思路:
1. 配置GRE
a:配置Tunnel接口
b:将Tunnel接口加入防火墙区域
2. 配置***路由
a:局域网目的路由
3. 配置安全策略
命令行配置:
GRE配置:
FW1配置,FW2配置相同
//创建隧道
[SH_FW]interface Tunnel 0
[SH_FW-Tunnel0]ip add 10.1.1.1 24
[SH_FW-Tunnel0]tunnel-protocol gre
[SH_FW-Tunnel0]source g1/0/0
[SH_FW-Tunnel0]destination 101.1.1.1
//将隧道加入防火墙区域
[SH_FW]firewall zone name gre
[SH_FW-zone-gre]set priority 20
[SH_FW-zone-gre]add int Tunnel 0
//配置Tunnel路由,将流量引入Tunnel口。
[SH_FW]ip route-static 192.168.2.0 24 Tunnel 0
SZ_FW安全策略:由深圳防火墙发送流量到广州
security-policy
//第一条安全策略
rule name sz_gz_icmp
source-zone trust
destination-zone gre
source-address 192.168.1.1 mask 255.255.255.255
destination-address 192.168.2.1 mask 255.255.255.255
service icmp
action permit
//第二条安全策略,实际上不需要,写了也没用
rule name sz_gz_gre
source-zone local
destination-zone untrust
source-address 202.1.1.1 mask 255.255.255.255
destination-address 101.1.1.1 mask 255.255.255.255
//指定一条协议,gre的协议号为47
service protocol 47
action permit
//第三条安全策略,广州回包报文或广州发送给深圳的报文。由于上一条安全策略可以省略,所以不会创建会话。
rule name gz_sz_reply
source-zone untrust
destination-zone local
source-address 101.1.1.1 mask 255.255.255.255
destination-address 202.1.1.1 mask 255.255.255.255
service protocol 47
action permit
广州防火墙策略:从深圳防火墙发送过来的流量
security-policy
rule name sz_gz_gre
source-zone untrust
destination-zone local
source-address 202.1.1.1 mask 255.255.255.255
destination-address 101.1.1.1 mask 255.255.255.255
service protocol 47
action permit
rule name sz_gz_icmp
source-zone gre
destination-zone trust
source-address 192.168.1.1 mask 255.255.255.255
destination-address 192.168.2.1 mask 255.255.255.255
service icmp
action permit
安全策略原理:
深圳防火墙策略分析:
PC1发送ICMP报文到PC2
1. 源地址为192.168.1.1目的地址为192.168.2.1
2. PC1将ICMP报文发送到SZ_FW的G1/0/1口,此端口为trust区域,防火墙查路由表
发现将路由转发到Tunnel接口,此接口属于gre区域。所以第一条安全规则为:
souce zone:trust
destination zone: gre
protocol:icmp
3. Tunnel口根据gre协议将原始报文的私网源码IP封装成公网源码IP。新的源目IP:
source:202.1.1.1
destination:101.1.1.1
ip:202.1.1.1属于g1/0/0接口,此接口属于local区域,
ip:101.1.1.1属于untrust区域
所以第二条安全规则:
source zone:local
destination zone:untrust
protocol:gre
4. PC2的回包,GZ_FW同样也会将局域网IP转换为GRE IP回包给本地,使用GRE协议
所以第三条安全策略:
source ip: 101.1.1.1
destination ip: 202.1.1.1
source zone: untrust
destinatio zone: local
protocol: gre
防火墙安全策略:
1. 华为防火墙对任何本地发出***流量都不需要安全策略。
2. 收到GRE的流量需要安全策略。
广州防火墙接收流量策略分析:
1. 收到流量的协议为GRE,源IP:202.1.1.1 目标IP:101.1.1.1
2. 由源目IP可知,源区域为untrust,目标区域为local,因此第一条安全策略为:
source: 202.1.1.1
destination: 101.1.1.1
source zone: untrust
destination zone: local
protocol: gre(47)
3. 因为是GRE协议,所以需要将流量转发给GRE模块处理,去掉IP头部和GRE头部。
因此得到的源目IP为source: 192.168.1.1 destination: 192.168.2.1,
查路由表可知:192.168.1.1为Tunnel口,属于GRE区域。192.168.2.1 属于trust
区域。由此得出第二条安全规则:
source: 192.168.1.1
destination: 192.168.2.1
source zone: gre
destination zone: trust
protocol: icmp
以上路由策略皆为PC1-->PC2方向,PC2-->PC1方向反向思考?
GRE ***和NAT在同一设备上:
需求:
使PC1使用NAT技术访问Server2,同时使用GRE ***技术访问PC2
思路:基础配置以完成为前提。
1. 配置NAT-EASY
a. 配置nat-policy,easy ip不需要地址池。
2. 配置GRE ***
a. 配置GRE Tunnel
b. 注意:一定要将Tunnel接口加入区域
c. 配置***路由
3. 配置安全策略
a. 配置nat-security,使用内网能够访问公网
b. 配置GRE安全策略。
命令行:
1. 配置NAT-EASY IP
nat-policy
rule name nat_trust_untrust
source-zone trust
egress-interface GigabitEthernet1/0/0
source-address 192.168.1.0 mask 255.255.255.0
destination-address 8.8.8.8 mask 255.255.255.255
service http
service icmp
action source-nat easy-ip
2. 配置NAT安全策略:
security-policy
rule name nat_trust_untrust
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 8.8.8.8 mask 255.255.255.255
service http
service icmp
action permit
3. 配置GRE ***
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
tunnel-protocol gre
source 202.1.1.1
destination 101.1.1.1
3.1 注意:一定要将Tunel接口加入区域
[SH_FW]firewall zone gre
[SH_FW-zone-gre]add int Tunnel 0
4. 配置***路由:
[SH_FW]ip route-static 192.168.2.0 24 Tunnel 0
5. 配置GRE安全策略:此配置为FW1
security-policy
//发往广州公司报文
rule name ***_trust_gre
source-zone trust
destination-zone gre
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.0 mask 255.255.255.0
service http
service icmp
action permit
//从广州公司回应的报文,到防火墙的公网接口
rule name ***_untrust_local
source-zone untrust
destination-zone local
source-address 101.1.1.1 mask 255.255.255.255
destination-address 202.1.1.1 mask 255.255.255.255
service gre
action permit
//从广州公司发来的报文,防火墙到私网的PC
rule name ***_gre_trust
source-zone gre
destination-zone trust
source-address 192.168.2.0 mask 255.255.255.0
destination-address 192.168.1.0 mask 255.255.255.0
service http
service icmp
FW2的配置和FW1类似,方向相反。
GRE ***和NAT不在同一设备上
需求:
1. 在NAT_FW上配置NAT_Server,使内网IP转换为公网IP。
2. 在SZ_FW_***上配置GRE ***,使深圳公司的内网能够访问北京公司的内网。
思路:
1. 基础配置(IP地址完成),需要配置防火墙区域,路由
2. 在NAT_FW上配置NAT-Server.
3. 在SZ_FW_***和BJ_FW_***中配置GRE ***
4. 分别配置安全策略。
命令行:
1. 在NAT_FW配置nat-server
[NAT_FW]nat server ***_gre protocol 47 global interface g1/0/1 inside 172.16.12.1
2. 在SZ_FW_***配置GRE ***
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
tunnel-protocol gre
source 172.16.12.1
destination 101.1.1.1
[SZ_FW_***]ip route-static 192.168.2.0 24 Tunnel 0
[SZ_FW_***]firewall zone trust
[SZ_FW_***-zone-trust]add interface Tunnel 0
思路:因为NAT_FW上配置了NAT-Server,所以Tunnel 0
中的source直接填写172.16.12.1
3. 在BJ_FW_***中配置GRE ***
interface Tunnel0
ip address 10.1.1.2 255.255.255.0
tunnel-protocol gre
source GigabitEthernet1/0/1
destination 202.1.1.1
[BJ_FW_***]firewall zone trust
[BJ_FW_***-zone-trust]add interface Tunnel 0
[BJ_FW_***]ip route-static 192.168.1.0 24 Tunnel 0
思路:destination 202.1.1.1 不能填写内网地址,但是
NAT-FW中配置了NAT-Server,所以填写NAT-FW外网接口的
IP地址
4. 在NAT-FW上配置安全策略
security-policy
//BJ回来的报文
rule name ***_untrust_trust
source-zone untrust
destination-zone trust
source-address 101.1.1.1 mask 255.255.255.255
destination-address 172.16.12.1 mask 255.255.255.255
destination-address 202.1.1.1 mask 255.255.255.255
service gre
action permit
//SZ发出去的报文
rule name ***_trust_untrust
source-zone trust
destination-zone untrust
source-address 172.16.12.1 mask 255.255.255.255
destination-address 101.1.1.1 mask 255.255.255.255
service gre
action permit
5. 在BJ_FW_***上配置安全策略
//SZ发过来的报文
rule name ***_untrust_trust
source-zone untrust
destination-zone local
destination-zone trust
source-address 202.1.1.1 mask 255.255.255.255
destination-address 101.1.1.1 mask 255.255.255.255
service gre
action permit
6. 在SZ_FW_***中配置安全策略
//从BJ过来的报文
security-policy
rule name ***_trust_local
source-zone trust
destination-zone local
source-address 101.1.1.1 mask 255.255.255.255
destination-address 172.16.12.1 mask 255.255.255.255
service gre
action permit
感谢腾讯课堂的JACK老师