防火墙GRE-VPN项目
一、项目目的
1、理解GRE-VPN的基本原理。 2、掌握GRE-VPN配置方法。 3、掌握防火墙安全区域的划分 4、掌握防火墙安全策略的配置 5、掌握防火墙NAT策略的配置 二、组网环境
华为USG6000V 路由器(或者三层交换机) PC 三、组网拓扑图
两台 一台 两台
四、配置步骤 1、互联网AR1的配置
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 10.10.10.10 32
配置测试用的回环地址
[Huawei-LoopBack0]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 1.1.1.254 24 [Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 2.2.2.254 24
2、FW1防火墙的配置 1)GRE相关的配置
[USG6000V1]security-policy
[USG6000V1-policy-security]default action permit 将防火墙的默认安全策略改为允许所有
备注:
开启允许所有的目的是方便测试GRE,待GRE测试正确后在编写详细的安全策略即可,届时在修改默认策略为拒绝所有
[USG6000V1-policy-security]quit
[USG6000V1]interface GigabitEthernet 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip address 1.1.1.1 24 配置公网接口的IP
[USG6000V1-GigabitEthernet1/0/0]quit
[USG6000V1]interface GigabitEthernet 1/0/1
[USG6000V1-GigabitEthernet1/0/1]ip address 192.168.1.254 24 配置内网的网关地址
[USG6000V1-GigabitEthernet1/0/1]quit [USG6000V1]interface Tunnel 1
GRE协议的封装必须借助Tunnel接口,Tunnel是虚拟接口
备注:
Tunnel是一个虚拟的点对点连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据能够在通路上传输,并在一个Tunnel的两端分别对数据进行封装和解封装。
[USG6000V1-Tunnel1]tunnel-protocol gre
封装Tunnel的协议为GRE协议
[USG6000V1-Tunnel1]ip address 100.100.100.1 24 配置Tunnel接口的IP地址
[USG6000V1-Tunnel1]source 1.1.1.1 封装源地址为1.1.1.1,即本端的公网接口地址 [USG6000V1-Tunnel1]destination 2.2.2.2 封装目的地址为2.2.2.2,即对端的公网接口地址
备注:
GRE-VPN通俗点讲其实就是将原始的源目IP通过GRE协议封装后,添加一个新的IP头部,并且以本端公网接口IP为源、以对端公网接口IP为目的,从而骗过互联网,实现隧道传输。
[USG6000V1-Tunnel1]gre key cipher 123456
设置GRE的封装密码
[USG6000V1-Tunnel1]quit
[USG6000V1]firewall zone untrust
[USG6000V1-zone-untrust]add interface GigabitEthernet 1/0/0 [USG6000V1-zone-untrust]quit
互联网安全区域为UNTRUST
[USG6000V1]firewall zone trust
[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/1 [USG6000V1-zone-trust]quit
内部网络安全区域为TRUST
[USG6000V1]firewall zone dmz
[USG6000V1-zone-dmz]add interface Tunnel 1 [USG6000V1-zone-dmz]quit
备注:
防火墙的过滤是基于安全区域的,Tunnel虽是虚拟接口,同样也必须加入安全区域。
[USG6000V1]ip route-static 0.0.0.0 0 1.1.1.254
配置去往公网的缺省路由
[USG6000V1]ip route-static 192.168.2.0 255.255.255.0 Tunnel 1 配置到对端内部网络的路由,下一跳为Tunnel接口
备注:
此处为通过静态路由添加路由,也可通过动态路由宣告,宣告时只需宣告内网网段和Tunnel接口对应的网段即可,切记不可宣告公网网段,否则会导致十分严重的后果。以ospf为例如下: [USG6000V1]ospf 1
[USG6000V1-ospf-1]area 0
[USG6000V1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255(内网对应的网段) [USG6000V1-ospf-1-area-0.0.0.0]network 100.100.100.0 0.0.0.255(Tunnel接口对应的网段)
2)NAT策略的配置
[USG6000V1]nat-policy
进入NAT策略配置
[USG6000V1-policy-nat]rule name inter
创建NAT策略并命名
[USG6000V1-policy-nat-rule-inter]source-zone trust
指定源区域
[USG6000V1-policy-nat-rule-inter]destination-zone untrust 指定目的区域
[USG6000V1-policy-nat-rule-inter]action nat easy-ip 选择easy-ip
备注:
防火墙中的easy-ip即PAT
3)安全策略的配置
安全策略的配置主要通过命令display firewall session table verbose查看对应的会话列表编写即可,较为简单。
[USG6000V1]security-policy
[USG6000V1-policy-security]rule name gre
创建允许GRE协议的安全策略
[USG6000V1-policy-security-rule-gre]source-zone untrust [USG6000V1-policy-security-rule-gre]destination-zone local [USG6000V1-policy-security-rule-gre]service protocol 47 GEP协议是基于IP协议的,协议号为47
[USG6000V1-policy-security-rule-gre]action permit [USG6000V1-policy-security-rule-gre]quit [USG6000V1-policy-security]rule name ping
创建ping测试的安全策略
[USG6000V1-policy-security-rule-ping]source-zone trust dmz
[USG6000V1-policy-security-rule-ping]destination-zone trust untrust
备注:
此处的目的区域untrust是内网访问互联网的安全策略,亦可分开编写,原理相同。
[USG6000V1-policy-security-rule-ping]service icmp [USG6000V1-policy-security-rule-ping]action permit [USG6000V1-policy-security-rule-ping]quit
[USG6000V1-policy-security]default action deny 修改默认安全策略为拒绝所有
3、FW2防火墙的配置 1)GRE相关的配置
[USG6000V1]security-policy
[USG6000V1-policy-security]default action permit [USG6000V1-policy-security]quit
[USG6000V1]interface GigabitEthernet 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip add 2.2.2.2 24 [USG6000V1-GigabitEthernet1/0/0]quit
[USG6000V1]interface GigabitEthernet 1/0/1
[USG6000V1-GigabitEthernet1/0/1]ip address 192.168.2.254 24 [USG6000V1-GigabitEthernet1/0/1]quit [USG6000V1]interface Tunnel 1
[USG6000V1-Tunnel1]tunnel-protocol gre
[USG6000V1-Tunnel1]ip address 100.100.100.254 24 [USG6000V1-Tunnel1]source 2.2.2.2
dmz 封装源地址为2.2.2.2,即本端的公网接口地址 [USG6000V1-Tunnel1]destination 1.1.1.1 封装目的地址为1.1.1.1,即对端的公网接口地址
备注:
和对端的的配置源目对换
[USG6000V1-Tunnel1]gre key cipher 123456
备注:
GRE协议为对称加密,所以本端和对端都要配置此命令并且必须保证密码一致。
[USG6000V1-Tunnel1]quit
[USG6000V1]firewall zone untrust
[USG6000V1-zone-untrust]add interface GigabitEthernet 1/0/0 [USG6000V1-zone-untrust]quit [USG6000V1]firewall zone trust
[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/1 [USG6000V1-zone-trust]quit [USG6000V1]firewall zone dmz
[USG6000V1-zone-dmz]add interface Tunnel 1 [USG6000V1-zone-dmz]quit
[USG6000V1]ip route-static 0.0.0.0 0 2.2.2.254
[USG6000V1]ip route-static 192.168.1.0 255.255.255.0 Tunnel 1
2)NAT策略的配置
[USG6000V1]nat-policy
[USG6000V1-policy-nat]rule name inter
[USG6000V1-policy-nat-rule-inter]source-zone trust
[USG6000V1-policy-nat-rule-inter]destination-zone untrust [USG6000V1-policy-nat-rule-inter]action nat easy-ip
3)安全策略的配置
[USG6000V1]security-policy
[USG6000V1-policy-security]rule name gre
[USG6000V1-policy-security-rule-gre]source-zone untrust [USG6000V1-policy-security-rule-gre]destination-zone local [USG6000V1-policy-security-rule-gre]service protocol 47 [USG6000V1-policy-security-rule-gre]action permit [USG6000V1-policy-security-rule-gre]quit [USG6000V1-policy-security]rule name ping
[USG6000V1-policy-security-rule-ping]source-zone trust dmz
[USG6000V1-policy-security-rule-ping]destination-zone trust untrust
[USG6000V1-policy-security-rule-ping]service icmp [USG6000V1-policy-security-rule-ping]action permit [USG6000V1-policy-security-rule-ping]quit
dmz