一、基础知识
1、GRE隧道
GRE隧道是一种网络通信协议,使用通用路由封装(GRE)技术,能够将一种网络协议下的数据报文封装在另一种网络协议中,从而实现在另一个网络层协议中的传输。
GRE隧道的基本概念和工作方式
- 基本概念:GRE隧道提供了一种在网络之间建立点对点连接的方法,可以在不兼容的网络之间传递数据。
- 封装和解封装:GRE技术通过封装原始数据报文,在外部加上一个新的GRE头部信息,经过传输到达目的地后再进行解封装,还原成原始数据报文格式。
- 隧道安全:通过使用关键字(Key)和校验和(Checksum)来确保数据传输的安全性和完整性。
- 技术支持:GRE支持多种网络协议之间的封装,包括IPv4、IPv6等,使其具有很高的灵活性和适用性。
GRE隧道的技术特性与优势
- 兼容性:GRE支持多种网络协议,可以轻松地在不同网络环境之间传输数据,解决了网络不兼容的问题。
- 安全性:虽然GRE本身不提供加密功能,但可以与IPSec等加密协议结合使用,增强数据传输的安全性。
- 灵活性:GRE隧道不需要特定的路由器或交换机支持,只需要两端设备支持GRE协议即可轻松部署和管理。
2、IPSec加密
PSec(Internet Protocol Security)是为IP网络提供安全性的协议和服务的集合,主要用于增强VPN(Virtual Private Network,虚拟专用网)的安全性。IPSec通过为IP通信提供加密和认证服务,确保数据在不安全的网络环境如Internet中传输的安全性。这种技术是VPN中常用的一种,以保障远程访问和数据传输的安全性和私密性。
在传统的IP通信中,数据包容易被截取或篡改,而IPSec通过加密和认证两种主要方式,有效地提高了数据传输的安全性。加密过程使用ESP(Encapsulating Security Payload)协议,保证数据的机密性,防止数据在传输过程中被窃听。而认证则通过AH(Authentication Header)协议来实施,它确认数据发送方的身份并确保数据在传输过程中未被篡改,保持信息的完整性。
二、组网需求
- 总部和分部可通过出口防火墙 NAPT方式访问Internet。
- 总部和分部内部运行OSPF,归属区域0,进程号为1,为了方便管理需要在OSPF中发布Loopback地址。
- 在FW1和FW2间启用GRE隧道,隧道内承载OSPF协议,使总部和分部内网连通。
- IPSec VPN针对GRE隧道内数据进行加密,其中isakmp策略定义加密算法采用3des,散列算法采用md5,预共享密钥为huawei@123。DH组使用2。转换集myset定义加密验证方式为esp-des esp-md5-hmac,加密图定义为mymap。
三、有线网络配置
1、基础网络信息配置
为了方便测试,所有已激活的防火墙接口都开启service-manage ping permit
FW1
Username:admin
Password:Admin@123
The password needs to be changed. Change now? [Y/N]: y
Please enter old password: Admin@123
Please enter new password: admin@123
Please confirm new password: admin@123
<USG6000V1>system-view
[USG6000V1]sysname FW1
[FW1]int g1/0/0
[FW1-GigabitEthernet1/0/0]ip add 192.168.10.254 24
[FW1-GigabitEthernet1/0/0]service-manage ping permit # 允许PING流量通过
[FW1-GigabitEthernet1/0/0]int g1/0/1
[FW1-GigabitEthernet1/0/1]ip add 10.1.1.1 24
[FW1-GigabitEthernet1/0/1]service-manage ping permit
[FW1-GigabitEthernet1/0/1]int l0
[FW1-LoopBack0]ip add 1.1.1.1 32
[FW1-LoopBack0]quit
[FW1]firewall zone untrust
[FW1-zone-untrust]add interface g1/0/1
[FW1-zone-untrust]quit
[FW1]firewall zone trust
[FW1-zone-trust]add interface g1/0/0
[FW1-zone-trust]quit
FW2
Username:admin
Password:Admin@123
The password needs to be changed. Change now? [Y/N]: y
Please enter old password: Admin@123
Please enter new password: admin@123
Please confirm new password: admin@123
<USG6000V1>system-view
[USG6000V1]sysname FW2
[FW2]int l0
[FW2-LoopBack0]ip add 3.3.3.3 32
[FW2-LoopBack0]int g1/0/2
[FW2-GigabitEthernet1/0/2]ip add 20.1.1.1 24
[FW2-GigabitEthernet1/0/2]service-manage ping permit
[FW2-GigabitEthernet1/0/2]int g1/0/0
[FW2-GigabitEthernet1/0/0]ip add 192.168.20.254 24
[FW2-GigabitEthernet1/0/0]service-manage ping permit
[FW2-GigabitEthernet1/0/0]quit
[FW2]firewall zone trust
[FW2-zone-trust]add interface g1/0/0
[FW2-zone-trust]quit
[FW2]firewall zone untrust
[FW2-zone-untrust]add interface GigabitEthernet 1/0/2
[FW2-zone-untrust]quit
Internet
<Huawei>system-view
[Huawei]sysname Internet
[Internet]int g0/0/1
[Internet-GigabitEthernet0/0/1]ip add 10.1.1.2 24
[Internet-GigabitEthernet0/0/1]int g0/0/2
[Internet-GigabitEthernet0/0/2]ip add 20.1.1.2 24
[Internet-GigabitEthernet0/0/2]int g0/0/0
[Internet-GigabitEthernet0/0/0]ip add 100.1.1.254 24
[Internet-GigabitEthernet0/0/0]int l0
[Internet-LoopBack0]ip add 2.2.2.2 32
[Internet-LoopBack0]quit
2、OSPF动态路由协议配置
FW1
[FW1]ospf 1 router-id 1.1.1.1
[FW1-ospf-1]area0
[FW1-ospf-1]area 0
[FW1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[FW1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[FW1-ospf-1-area-0.0.0.0]quit
[FW1-ospf-1]quit
FW2
[FW2]ospf 1 router-id 3.3.3.3
[FW2-ospf-1]area 0
[FW2-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[FW2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[FW2-ospf-1-area-0.0.0.0]quit
[FW2-ospf-1]quit
3、Easy IP配置
总部
出口防火墙FW1添加默认路由
[FW1]ip route-static 0.0.0.0 0 10.1.1.2
FW1添加NAT策略
[FW1]nat-policy
[FW1-policy-nat]rule name ZB-to-Internet
[FW1-policy-nat-rule-ZB-to-Internet]source-zone trust
[FW1-policy-nat-rule-ZB-to-Internet]destination-zone untrust
[FW1-policy-nat-rule-ZB-to-Internet]source-address 192.168.10.0 24
[FW1-policy-nat-rule-ZB-to-Internet]action source-nat easy-ip
[FW1-policy-nat-rule-ZB-to-Internet]quit
[FW1-policy-nat]quit
FW1添加安全策略
[FW1]security-policy
[FW1-policy-security]rule name ZB-to-Internet
[FW1-policy-security-rule-ZB-to-Internet]source-zone trust
[FW1-policy-security-rule-ZB-to-Internet]destination-zone untrust
[FW1-policy-security-rule-ZB-to-Internet]action permit
[FW1-policy-security-rule-ZB-to-Internet]quit
[FW1-policy-security]quit
使用PC1访问PC4,然后查看FW1的会话表
分部
出口防火墙FW2添加默认路由
[FW2]ip route-static 0.0.0.0 0 20.1.1.2
FW2添加NAT策略
[FW2]nat-policy
[FW2-policy-nat]rule name FB-to-Internet
[FW2-policy-nat-rule-FB-to-Internet]source-zone trust
[FW2-policy-nat-rule-FB-to-Internet]destination-zone untrust
[FW2-policy-nat-rule-FB-to-Internet]source-address 192.168.20.0 24
[FW2-policy-nat-rule-FB-to-Internet]action source-nat easy-ip
[FW2-policy-nat-rule-FB-to-Internet]quit
[FW2-policy-nat]quit
FW2添加安全策略
[FW2]security-policy
[FW2-policy-security]rule name FB-to-Internet
[FW2-policy-security-rule-FB-to-Internet]source-zone trust
[FW2-policy-security-rule-FB-to-Internet]destination-zone untrust
[FW2-policy-security-rule-FB-to-Internet]action permit
[FW2-policy-security-rule-FB-to-Internet]quit
[FW2-policy-security]quit
使用PC2访问PC4,然后查看FW2的会话表
4、GRE隧道
FW1
[FW1]int Tunnel 0
[FW1-Tunnel0]ip add 200.1.1.1 24
[FW1-Tunnel0]tunnel-protocol gre
[FW1-Tunnel0]source 10.1.1.1
[FW1-Tunnel0]destination 20.1.1.1
[FW1-Tunnel0]quit
[FW1]firewall zone untrust
[FW1-zone-untrust]add interface Tunnel 0 # 将Tunnel接口添加到untrust区域
[FW1-zone-untrust]quit
[FW1]security-policy
[FW1-policy-security]rule name GRE # 放行GRE协议数据
[FW1-policy-security-rule-GRE]source-zone local untrust
[FW1-policy-security-rule-GRE]destination-zone local untrust
[FW1-policy-security-rule-GRE]action permit
[FW1-policy-security-rule-GRE]quit
[FW1-policy-security]quit
FW2
[FW2]int Tunnel 0
[FW2-Tunnel0]ip add 200.1.1.2 24
[FW2-Tunnel0]tunnel-protocol gre
[FW2-Tunnel0]source 20.1.1.1
[FW2-Tunnel0]destination 10.1.1.1
[FW2-Tunnel0]quit
[FW2]firewall zone untrust
[FW2-zone-untrust]add interface Tunnel 0
[FW2-zone-untrust]quit
[FW2]security-policy
[FW2-policy-security]rule name GRE
[FW2-policy-security-rule-GRE]source-zone local untrust
[FW2-policy-security-rule-GRE]destination-zone local untrust
[FW2-policy-security-rule-GRE]action permit
[FW2-policy-security-rule-GRE]quit
[FW2-policy-security]quit
在FW1上查看Tunnel接口的工作状态
在FW2上查看Tunnel接口的工作状态
5、GRE隧道中承载OSPF路由协议
FW1
[FW1]ospf 1 router-id 1.1.1.1
[FW1-ospf-1]area 0
[FW1-ospf-1-area-0.0.0.0]network 200.1.1.1 0.0.0.255
[FW1-ospf-1-area-0.0.0.0]quit
[FW1-ospf-1]quit
FW2
[FW2]ospf 1 router-id 3.3.3.3
[FW2-ospf-1]area 0
[FW2-ospf-1-area-0.0.0.0]network 200.1.1.2 0.0.0.255
[FW2-ospf-1-area-0.0.0.0]quit
[FW2-ospf-1]quit
FW1上查看OSPF邻居状态
FW2上查看OSPF邻居状态
FW2上查看OSPF路由条目
6、测试总部与分部之间的连通性
在PC1上 PING PC2,可以看到无法PING通,这是因为在FW2的眼中,通过Tunnel隧道过来的区域是Untrust,在防火墙的出厂定义中,不同的区域之间默认无法连通(除了local和trust),所以我们需要添加untrust到trust区域的策略
FW1
[FW1]security-policy
[FW1-policy-security]rule name untrust-to-trust
[FW1-policy-security-rule-untrust-to-trust]source-zone untrust
[FW1-policy-security-rule-untrust-to-trust]destination-zone trust
[FW1-policy-security-rule-untrust-to-trust]action permit
[FW1-policy-security-rule-untrust-to-trust]quit
[FW1-policy-security]quit
FW2
[FW2]security-policy
[FW2-policy-security]rule name untrust-to-trust
[FW2-policy-security-rule-untrust-to-trust]source-zone untrust
[FW2-policy-security-rule-untrust-to-trust]destination-zone trust
[FW2-policy-security-rule-untrust-to-trust]action permit
[FW2-policy-security-rule-untrust-to-trust]quit
[FW2-policy-security]quit
重新使用PC1 PING PC2
查看FW1的防火墙会话表可以看到存在一条GRE的记录
7、IPSec VPN配置
FW1–配置IPSec安全提议
[FW1]ipsec proposal tran1
[FW1-ipsec-proposal-tran1]encapsulation-mode transport # 只保护IP包的有效负载(传输模式)
[FW1-ipsec-proposal-tran1]quit
FW1–配置IKE安全提议
[FW1]ike proposal 10
[FW1-ike-proposal-10]quit # 使用默认配置即可
FW1–配置IKE对等体
[FW1]ike peer FW2
[FW1-ike-peer-FW2]ike-proposal 10 # 关联上述定义的安全提议
[FW1-ike-peer-FW2]pre-shared-key huawei@123 # 配置用于身份验证的密码
[FW1-ike-peer-FW2]quit
FW1–配置IPSec安全框架
[FW1]ipsec profile FW1
[FW1-ipsec-profile-FW1]proposal tran1
[FW1-ipsec-profile-FW1]ike-peer FW2
[FW1-ipsec-profile-FW1]quit
FW1–隧道口上应用IPsec安全框架
[FW1]int Tunnel 0
[FW1-Tunnel0]ipsec profile FW1
[FW1-Tunnel0]quit
FW2–配置IPSec安全提议
[FW2]ipsec proposal tran1
[FW2-ipsec-proposal-tran1]encapsulation-mode transport
[FW2-ipsec-proposal-tran1]quit
FW2–配置IKE安全提议
[FW2]ike proposal 10
[FW2-ike-proposal-10]quit
FW2–配置IKE对等体
[FW2]ike peer FW1
[FW2-ike-peer-FW1]ike-proposal 10
[FW2-ike-peer-FW1]pre-shared-key huawei@123
[FW2-ike-peer-FW1]quit
FW2–配置IPSec安全框架
[FW2]ipsec profile FW2
[FW2-ipsec-profile-FW2]proposal tran1
[FW2-ipsec-profile-FW2]ike-peer FW1
[FW2-ipsec-profile-FW2]quit
FW2–隧道口上应用IPsec安全框架
[FW2]int Tunnel 0
[FW2-Tunnel0]ipsec profile FW2
[FW2-Tunnel0]quit
验证–FW1上查看IKE协商建立的安全联盟信息
验证–FW2上查看IKE协商建立的安全联盟信息
验证–FW1上查看IPsec安全提议tran1的默认配置信息
验证–FW1上查看ike安全提议10的默认配置信息
验证–使用PC1 PING PC2,进行抓包,可以看到有ESP包