IPsec VPN是指采用IPsec实现远程接入的一种VPN技术,通过在公网上为两个或多个私有网络之间建立IPsec通道,并通过加密和认证保证通道的安全性。IPsec保护的是点对点之间的通信,通过IPsec VPN可以实现主机和主机之间、主机和网关之间、网关和网关之间建立安全的隧道连接。工作在网络层,主要对网络层的报文进行加密和验证。
一、IPsec是什么?
1.1 定义
IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,包括认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两个安全协议、密钥交换和用于验证及加密的一些算法等。
1.2 封装模式(传输模式、隧道模式)
-
传输模式
在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,由于传输模式未添加额外的IP头,所以原始报文中的IP地址在加密后报文的IP头中可见。传输模式保护数据包的有效载荷、高层协议,IPSec源端点不会修改IP报头中目的IP地址,原来的IP地址也会保持明文。 -
隧道模式
在隧道模式下,AH头或ESP头被插到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前,保护IP头和负载。IP地址被当作有效载荷的一部分受到IPSec的保护。
传输模式和隧道模式比较 -
安全性:隧道模式优于传输模式。传输模式不改变原有的IP包头,在原数据包头后面插入IPSec包头,将原来的数据封装成被保护的数据。隧道模式通过对数据加密,可以隐藏原数据包中的IP地址,有利于保护端到端通信中数据的安全性。
-
应用场景:传输模式主要应用于两台主机或一台主机和一台VPN网关之间通信;隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。
1.3 安全协议(AH、ESP)
IPsec使用AH(Authentication Header)和ESP(Encapsulating Security Payload)提供安全加密或认证服务。
- 认证头AH
AH仅支持认证功能,不支持加密功能。AH在每个数据包的标准IP报头后面添加一个AH报文,AH协议的完整性校验范围是整个IP报文。 - 封装安全载荷ESP
ESP支持认证功能和加密功能。ESP在每个数据包的标准IP报头后面添加一个ESP报文,并在数据包后面追加一个ESP尾(ESP Trailer和ESP Auth data),与AH不同的是,ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性。
1.4 秘钥交换协议(IKE)
因特网密钥交换IKE(Internet Key Exchange)协议建立在ISAKMP(Internet安全联盟和密钥管理协议)定义的框架上,是基于UDP的应用层协议。它为IPSec提供了自动协商密钥、建立IPSec安全联盟的服务,能够简化IPSec的配置和维护工作。
IKE的精髓在于DH交换技术,通过一系列的交换,使得通信双方最终计算出预共享秘钥。在IKE的DH交换过程中,每次计算产生的结果都是不相关的。由于每次IKE SA的建立都需要DH交换过程,因此就保证了每个通过协商建立的IPsec SA所使用的秘钥互不相关,即完成了完美向前性这一特性。
阶段一
- 主模式:一般情况下,IKE的主模式适用于两设备的公网IP固定、且要实现设备之间点对点的环境。
- 野蛮模式:对于例如ADSL拨号用户,其获得的公网IP不是固定的,且可能存在NAT设备的情况下,采用野蛮模式做NAT穿越。
与主模式相比,野蛮模式建立IKE SA的速度更快。由于野蛮模式的秘钥交换与身份认证是同时进行的,因此无法提供身份保护。对于身份保护要求不高的场景,使用报文交换较少的野蛮模式可以提高协商速度。对于身份保护要求高的则可以使用主模式。
阶段二
- 快速模式:该模式使用IKEv1协商阶段1中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。
二、IPsec有什么用?
2.1 通过IPSec VPN实现局域网安全互联
2.2 通过IPSec VPN实现移动用户远程安全接入
2.3 通过Efficient VPN实现多分支安全接入
三、IPsec怎么用?
3.1 IPsec工作流程
3.1.1 识别“感兴趣流”。网络设备接收到报文后,通常将报文的五元组信息和IPsec策略进行匹配,用于判断报文是否通过IPsec隧道进行传输,需要通过IPsec隧道传输的流量通常称为“感兴趣流”。
3.1.2 识别出感兴趣流后,本端网络设备向对端网络设备发起SA协商;通信双方对建立通道所需参数进行协商,比如双方使用的安全协议、封装模式、协议采用的加密和认证算法、用于数据传输的秘钥等信息。 通过IKE协议先协商建立IKE SA(用于身份验证和秘钥信息交换),然后在IKE SA基础上协商建立IPsec SA(用于数据安全传输)。
3.1.3 数据传输。IPsec SA建立成功后,双方即可通过IPsec隧道进行传输数据了。
3.1.4 隧道拆除。通常情况下通信双方之间的会话老化,就代表双方数据交换完成,为节省系统资源,通信双方之间的隧道在空闲时间达到一定值后会自动删除。
3.2 配置
配置脚本:https://mp.csdn.net/mp_download/manage/download/UpDetailed
3.2.1 为防火墙FW1、FW2、R1物理接口配置IP地址,划分区域
[FW1]interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0]ip address 192.168.1.254 255.255.255.0
[FW1-GigabitEthernet1/0/0]quit
[FW1]interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1]ip address 1.1.1.1 255.255.255.252
[FW1-GigabitEthernet1/0/1]quit
[FW1]firewall zone trust
[FW1-zone-trust]add interface GigabitEthernet1/0/0
[FW1-zone-trust]quit
[FW1]firewall zone untrust
[FW1-zone-untrust]add interface GigabitEthernet 1/0/1
[FW1-zone-untrust]quit
[FW2]interface GigabitEthernet 1/0/0
[FW2-GigabitEthernet1/0/0]ip address 172.16.1.254 24
[FW2-GigabitEthernet1/0/0]quit
[FW2]interface GigabitEthernet 1/0/1
[FW2-GigabitEthernet1/0/1]ip address 2.2.2.1 30
[FW2-GigabitEthernet1/0/1]quit
[FW2]firewall zone trust
[FW2-zone-trust]add interface GigabitEthernet 1/0/0
[FW2-zone-trust]quit
[FW2]firewall zone untrust
[FW2-zone-untrust]add interface GigabitEthernet 1/0/1
[FW2-zone-untrust]quit
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 1.1.1.2 30
[R1-GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 2.2.2.2 30
[R1-GigabitEthernet0/0/1]quit
3.2.2 配置OSPF,保证两端通信正常
[FW1]ospf 1
[FW1-ospf-1]area 0
[FW1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[FW2]ospf 1
[FW2-ospf-1]area 0
[FW2-ospf-1-area-0.0.0.0]network 2.2.2.1 0.0.0.0
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 1.1.1.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[FW1]display ip routing-table protocol ospf //验证
3.2.3 配置高级ACL,定义保护数据流--感兴趣流
[FW1]acl 3000
[FW1-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255 destination 172.16.1.0 0.0.0.255
[FW2]acl 3000
[FW2-acl-adv-3000]rule permit ip source 172.16.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
3.2.4 配置IKE--IKE安全提议和IKE对等体
[FW1]ike proposal 1 //IKE提议
[FW1-ike-proposal-1]encryption-algorithm aes-256 //加密算法
[FW1-ike-proposal-1]authentication-algorithm sha2-256 //认证算法
[FW1-ike-proposal-1]authentication-method pre-share //认证方式自协商
[FW1-ike-proposal-1]dh group14 //DH组
[FW1-ike-proposal-1]quit
[FW1]ike peer FW2
[FW1-ike-peer-FW2]undo version 2 //使用v1版本
[FW1-ike-peer-FW2]exchange-mode aggressive //野蛮模式(缺省主模式)
[FW1-ike-peer-FW2]pre-shared-key 202112 //预共享秘钥
[FW1-ike-peer-FW2]ike-proposal 1
[FW1-ike-peer-FW2]remote-address 2.2.2.1 //远端IP地址
[FW2]ike proposal 1
[FW2-ike-proposal-1]encryption-algorithm aes-256
[FW2-ike-proposal-1]authentication-algorithm sha2-256
[FW2-ike-proposal-1]authentication-method pre-share
[FW2-ike-proposal-1]dh group14
[FW2-ike-proposal-1]quit
[FW2]ike peer FW1
[FW2-ike-peer-FW1]undo version 2
[FW1-ike-peer-FW1]exchange-mode aggressive
[FW2-ike-peer-FW1]pre-shared-key 202112
[FW2-ike-peer-FW1]ike-proposal 1
[FW2-ike-peer-FW1]remote-address 1.1.1.1
3.2.5 配置IPsec安全提议
[FW1]ipsec proposal 1
[FW1-ipsec-proposal-1]transform esp
[FW1-ipsec-proposal-1]encapsulation-mode tunnel
[FW1-ipsec-proposal-1]esp encryption-algorithm aes-256
[FW1-ipsec-proposal-1]esp authentication-algorithm sha2-256
[FW2]ipsec proposal 1
[FW2-ipsec-proposal-1]transform esp
[FW2-ipsec-proposal-1]encapsulation-mode tunnel
[FW2-ipsec-proposal-1]esp encryption-algorithm aes-256
[FW2-ipsec-proposal-1]esp authentication-algorithm sha2-256
3.2.6 配置IPsec安全策略
[FW1]ipsec policy qu 5 isakmp
[FW1-ipsec-policy-isakmp-qu-5]security acl 3000
[FW1-ipsec-policy-isakmp-qu-5]ike-peer FW2
[FW1-ipsec-policy-isakmp-qu-5]proposal 1
[FW2]ipsec policy qu 5 isakmp
[FW2-ipsec-policy-isakmp-qu-5]security acl 3000
[FW2-ipsec-policy-isakmp-qu-5]ike-peer FW1
[FW2-ipsec-policy-isakmp-qu-5]proposal 1
3.2.6 应用IPsec安全策略
[FW1]interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1]ipsec policy qu
[FW2]interface GigabitEthernet 1/0/1
[FW2-GigabitEthernet1/0/1]ipsec policy qu
3.2.7 配置引导
[FW1]ip route-static 172.16.1.0 24 1.1.1.2
[FW2]ip route-static 192.168.1.0 24 2.2.2.2
3.2.8 定义服务等级
[FW1]ip service-set isakmp type object
[FW1-object-service-set-isakmp]service protocol udp source-port 500 destination-port 500
[FW2]ip service-set isakmp type object
[FW2-object-service-set-isakmp]service protocol udp source-port 500 destination-port 500
3.2.9 安全策略(根据场景配置)
[FW1]security-policy
[FW1-policy-security]rule name 1
[FW1-policy-security-rule-1]source-zone trust
[FW1-policy-security-rule-1]destination-zone untrust
[FW1-policy-security-rule-1]source-address 192.168.1.0 mask 255.255.255.0
[FW1-policy-security-rule-1]destination-address 172.16.1.0 mask 255.255.255.0
[FW1-policy-security-rule-1]service icmp
[FW1-policy-security-rule-1]action permit
[FW1-policy-security-rule-1]quit
[FW1-policy-security]rule name 2
[FW1-policy-security-rule-2]source-zone local
[FW1-policy-security-rule-2]destination-zone untrust
[FW1-policy-security-rule-2]source-address 1.1.1.1 mask 255.255.255.255
[FW1-policy-security-rule-2]destination-address 2.2.2.1 mask 255.255.255.255
[FW1-policy-security-rule-2]service isakmp
[FW1-policy-security-rule-2]service protocol 50
[FW1-policy-security-rule-2]action permit
[FW1-policy-security-rule-2]quit
[FW1-policy-security]rule name 3
[FW1-policy-security-rule-3]source-zone untrust
[FW1-policy-security-rule-3]destination-zone local
[FW1-policy-security-rule-3]source-address 2.2.2.1 mask 255.255.255.255
[FW1-policy-security-rule-3]destination-address 1.1.1.1 mask 255.255.255.255
[FW1-policy-security-rule-3]service isakmp
[FW1-policy-security-rule-3]service protocol 50
[FW1-policy-security-rule-3]action permit
FW2同理,与FW1镜像即可。
PC1 ping测试 PC2
3.2.10 检查配置IPsec隧道结果
display ike peer [ brief | name peer-name ]或display ike peer [ brief | name peer-name ] ctrl-plane,查看IKE对等体配置的信息
display ike proposal [ number proposal-number ]或display ike proposal [ number proposal-number ] ctrl-plane,查看IKE安全提议配置的参数
display ike sa [ remote ipv4-address ],查看当前IKE SA的摘要信息
display ike sa verbose { remote ipv4-address | connection-id connection-id | [ remote-id-type remote-id-type ] remote-id remote-id },查看当前IKE SA的详细信息
display ike global config,查看IKE的全局配置信息
3.3 拓展(NAT穿越)
部署IPSec VPN网络时,如果发起者位于一个私网内部,远端位于公网侧,而它希望与远端响应者直接建立一条IPSec隧道。为保证存在NAT设备的IPSec隧道能够正常建立,就涉及到了NAT穿越问题。当出口防火墙既是IPsec网关,又是NAT网关时,数据通过出口防火墙,防火墙会对数据先进行NAT转换再把数据丢进IPsec隧道。
由于AH对数据进行的完整性检查会对包括IP地址在内的整个IP包进行Hash运算,而地址转换会改变IP地址,从而破坏AH的Hash值。因此使用AH的IPSec隧道无法穿越NAT设备。
ESP对数据进行的完整性检查不包括外部的IP头,若只进行地址转换时,ESP可以正常工作。但ESP是三层协议,无法设置端口,所以执行允许端口转换的NAT时ESP也存在问题。NAT穿越采用了增加UDP头封装ESP报文的方法解决这个问题。传输模式下,NAT穿越在原报文的IP头和ESP头间增加一个标准的UDP报头;隧道模式下,NAT穿越在新IP头和ESP头间增加一个标准的UDP报头。这样,当ESP报文穿越NAT设备时,NAT设备对该报文的外层IP头和增加的UDP报头进行地址和端口号转换;转换后的报文到达IPSec隧道对端后,与普通IPSec处理方式相同。UDP端口号4500。
简单配置
[FW1]ike peer FW2
[FW1-ike-peer-FW2]nat traversal //开启NAT穿越
[FW1-ike-peer-FW2]quit
[FW1]ike nat-keepalive-timer interval 20 //配置IKE SA向对端发送NAT Keepalive报文的时间间隔(NAT网关上的NAT映射会话有一定的存活时间,因此一旦NAT会话表项被删除,这样将导致在NAT网关外网侧的对等体无法继续传输数据。为防止NAT表项老化,NAT网关内网侧的IKE SA会以一定的时间间隔向对端发送NAT Keepalive报文,以维持NAT会话的存活。)
[FW1]nat-policy
[FW1-policy-nat]rule name pat
[FW1-policy-nat-rule-pat]source-zone trust
[FW1-policy-nat-rule-pat]destination-zone untrust
[FW1-policy-nat-rule-pat]source-address 192.168.1.0 mask 255.255.255.0
[FW1-policy-nat-rule-pat]destination-address-exclude 172.16.1.0 mask 255.255.255.0 //不进行转换
[FW1-policy-nat-rule-pat]action source-nat easy-ip
[FW1-policy-nat-rule-pat]quit
[FW1-policy-nat]quit
[FW1]security-policy //配置安全策略
[FW1-policy-security]rule name 4
[FW1-policy-security-rule-4]source-zone trust
[FW1-policy-security-rule-4]destination-zone untrust
[FW1-policy-security-rule-4]source-address 192.168.1.0 mask 255.255.255.0
[FW1-policy-security-rule-4]service protocol icmp
[FW1-policy-security-rule-4]action permit
[FW1]display firewall session table
文章来源:https://www.toymoban.com/news/detail-501658.html
主要参考
IPSec介绍:https://blog.csdn.net/NEUChords/article/details/92968314
配置指南:https://support.huawei.com/enterprise/zh/doc/EDOC1100033731/af1f6e0b文章来源地址https://www.toymoban.com/news/detail-501658.html
到了这里,关于华为设备IPsec简单配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!