一、虚拟专用网介绍
虚拟专用网(Virtual Private Network )是一种常用于扩展企业内部网络的技术,它允许远程用户通过一个不安全的网络(如互联网)安全地访问企业内部网络资源。虚拟专用网通过加密数据和提供安全隧道来保护数据的隐私和完整性,使得数据在传输过程中不易被窃听或篡改。
虚拟专用网有很多种,如果按照协议来分类,包括但不限于以下几种:
数据链路层虚拟专用网(包括 PPTP 、L2TP 等);
网络层虚拟专用网 :IPsec 虚拟专用网;
传输层虚拟专用网:SSL 虚拟专用网。
本文仅介绍网络层的IPsec 虚拟专用网。
二、IPsec协议介绍
说到IPsec 虚拟专用网,就不得不提IPsec协议。IPsec(Internet Protocol Security)是一组用于确保IP通信安全的协议,它不是单单一个协议,它包括三个主要的子协议(简单介绍):
1.AH协议(Authentication Header,认证头)
AH主要提供数据完整性和数据源认证。它确保数据在传输过程中未被篡改,并且数据确实来自声称的发送者。
2.ESP协议(Encapsulating Security Payload,封装安全载荷)
ESP提供数据加密,数据完整性与认证。它能够在传输过程中加密数据,确保数据的机密性。
3.IKE协议(Internet Key Exchange,互联网密钥交换)
IKE用于在通信双方之间协商、建立和管理IPsec安全关联。它负责在两个通信实体之间建立一个共享的加密密钥。
(本文介绍的IPsec 虚拟专用网是基于ESP和IKE子协议来实现。)
三、配置步骤
1.设计一个简单拓扑图
我就弄了一个非常简单的拓扑图,但是不影响基本配置步骤和效果。
2.在FW1上配置接口,安全域和静态路由
#配置接口:
int g0/0/1
ip add 1.1.3.1 24
int g0/0/2
ip add 10.1.1.1 24
#配置安全域:
firewall zone trust
add int g0/0/2
firewall zone untrust
add int g0/0/1
#配置静态路由
ip route-static 10.1.2.0 24 1.1.3.2 #意思是所有发往10.1.2.0网段的数据包都去到1.1.3.2
ip route-static 1.1.5.1 32 1.1.3.2 #所有发往1.1.5.1这个地址的数据包都去1.1.3.2,由1.1.3.2进行转发
3. 在FW2上配置接口,安全域和静态路由
#配置接口:
int g0/0/1
ip add 1.1.5.1 24
int g0/0/2
ip add 10.1.2.1 24
#配置安全域:
firewall zone trust
add int g0/0/2
firewall zone untrust
add int g0/0/1
#配置静态路由:
ip route-static 10.1.1.0 24 1.1.5.2 #所有发往10.1.1.0网段的数据包都去到1.1.5.2
ip route-static 1.1.3.1 32 1.1.5.2 #所有发往1.1.3.1的数据包都去到1.1.5.2,由1.1.5.2进行转发
4.在路由器R1上配置
只配置接口的ip即可,在路由器上不用配置静态路由,不然两边通信的时候就不是虚拟专用网生效了,而是静态路由生效。
int g0/0/1
ip add 1.1.3.2 24
int g0/0/2
ip add 1.1.5.2 24
5.接下来在防火墙上配置安全策略
这里只以FW1为例子,不然整个文章篇幅太长啦,记住FW2上也要配置安全策略,命令几乎一样,只是ip地址需要反过来。
#先配置从“trust”到“untrust”区域的出站和入站策略,目的是允许10.1.1.0/24和10.1.2.0/24网段之间的通信
policy interzone trust untrust outbound
Policy 1
policy source 10.1.1.0 0.0.0.255
policy des 10.1.2.0 0.0.0.255
action permit
policy interzone trust untrust inbound
policy 1
policy source 10.1.2.0 0.0.0.255
policy des 10.1.1.0 0.0.0.255
action permit
#再配置从“local”到“untrust”区域的出站和入站策略,允许1.1.3.1和1.1.5.1之间的通信。
policy interzone local untrust outbound
policy 1
policy source 1.1.3.1 0.0.0.0
policy des 1.1.5.1 0.0.0.0
action permit
policy interzone local untrust inbound
policy 1
policy source 1.1.5.1 0.0.0.0
policy des 1.1.3.1 0.0.0.0
action permit
5.重点:IPsec 虚拟专用网配置
这里配置比较复杂,但是,一步一步来
#FW1上完整命令
acl 3000
Rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
Ipsec proposal tran1
Quit
Dis ipsec proposal #查看ipsec提议
Ike proposal 1
Quit
Dis ike proposal #查看ike提议
Ike peer a
Ike-proposal 1
Remote-address 1.1.5.1
Pre-shared-key test123
Dis ike peer #查看当前配置的所有IKE对等体
Ipsec policy map1 1 isakmp
Security acl 3000
Proposal tran1
Ike-peer a
Dis ipsec policy #查看定义的IPsec 策略
Int g0/0/1
Ipsec policy map1
下面会一一讲解命令意思
创建ACL
acl 3000:创建一个名为3000的访问控制列表(ACL),用于定义受保护的流量。
rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255:允许从10.1.1.0/24到10.1.2.0/24的IP流量(在FW2上,这条命令为rule permit ip soure 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255)
配置IPsec提议
ipsec proposal tran1:创建一个名为tran1的IPsec提议
ike proposal 1:创建一个名为1的IKE提议
配置IKE对等体
ike peer a:创建一个名为a的IKE对等体。
ike-proposal 1:关联IKE提议1。
remote-address 1.1.5.1:配置远端地址为1.1.5.1(在FW2上配置时,这个地址应为1.1.3.1)。
pre-shared-key test123:配置预共享密钥为test123。
配置IPsec策略
ipsec policy map1 1 isakmp:创建一个名为map1的IPsec策略,关联ACL 3000、提议tran1和IKE对等体a。
int g0/0/1 ipsec policy map1:在接口g0/0/1上启用IPsec策略map1。
配置好可以用查看命令,是这样的↓:
将FW1和FW2上一切都配置好之后,在PC1上ping 服务器,看能否ping 通
网关和目标机器都可以连通,这时候,在wireshark上抓包查看ESP协议是否生效。
在FW1防火墙入接口抓包,就只是简单的ARP请求包回复包和icmp请求包回复包
在FW1防火墙出接口抓包,可以看到ESP协议已经生效,这个时候就说明这个实验配置已经成功了!
四、总结
本实验通过IPsec隧道模式实现了IPsec 虚拟专用网的配置,所谓隧道模式,就是在传输前将整个IP数据包(包括IP头部和有效载荷)都加密和认证后再进行传输,并且隧道模式最常用于网关之间。
本文所有操作均在合法搭建的虚拟环境下进行,仅学习和示范使用!