千家信息网

在Cisco的ASA防火墙上实现IPSec虚拟专用网

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,博文大纲:一、网络环境需求二、配置前准备三、配置虚拟专用网四、总结前言:之前写过一篇博文:Cisco路由器之IPSec 虚拟专用网,那是在公司网关使用的是Cisco路由器的情况下,来搭建虚拟专用网的,
千家信息网最后更新 2025年12月03日在Cisco的ASA防火墙上实现IPSec虚拟专用网

博文大纲:

  • 一、网络环境需求
  • 二、配置前准备
  • 三、配置虚拟专用网
  • 四、总结

前言:

之前写过一篇博文:Cisco路由器之IPSec 虚拟专用网,那是在公司网关使用的是Cisco路由器的情况下,来搭建虚拟专用网的,那么公司网关若是Cisco的ASA防火墙呢?就让这篇博文来带你配置一下。

注:虚拟专用网:(Virtual Private Network),请看英文的首字母,就知道是什么咯,由于它是敏/感词汇,所以文中全部使用虚拟专用网来代替

关于其中的知识点及相关概念,都在文章开头的那篇博文链接中介绍的差不多了,在防火墙和路由器上实现虚拟专用网,原理差不多,所以这里就不啰嗦了,直接上配置。

网络环境如下:

一、网络环境需求

1、需要在总公司和各个分公司的网关ASA上建立IPSec虚拟专用网,实现总公司和分公司的某个网段(一般是只有某个部门有互通的必要性)互通。
2、两个分公司之间也需要配置虚拟专用网实现互通,并且是通过总公司的网关ASA的outside区域的E0/1实现互通的(当然,也可以绕过总公司的ASA防火墙,根据实际需求来定即可)。
3、不但总公司与分公司之间需要有虚拟专用网,而且不要影响公司内部主机访问Internet(通过端口PAT来实现,配置完成后,Telnet登录R2路由器进行验证)。
4、公司内部使用路由器来代替PC机进行测试,Internet的R2路由器除了配置IP地址外,不可配置任何路由条目。

二、配置前准备

(若直接在生产环境配置,并且配置了基本接口IP、路由等。则可以忽略配置前准备)

1、我这里使用的是GNS3模拟器,自行搭建网络拓扑图,使用防火墙时,需要将接口类型改一下,如下(GNS3默认不带防火墙,需要自行载入,若需要帮助,可以私信我):

2、自行配置接口IP地址以及路由条目,范例如下:

'路由器配置接口IP及路由条目(R2除外,都需要配置默认路由,相当于它的网关)'R1#conf tEnter configuration commands, one per line.  End with CNTL/Z.R1(config)#in f0/0R1(config-if)#ip add 192.168.1.1 255.255.255.0R1(config-if)#no shR1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.1.254'防火墙ASA配置接口IP及路由条目:'ciscoasa> enPassword:      #默认没有密码,直接回车即可ciscoasa# conf tciscoasa(config)# in e0/0ciscoasa(config-if)# nameif inside     #需要先定义区域INFO: Security level for "inside" set to 100 by default.ciscoasa(config-if)# ip add 192.168.1.254 255.255.255.0ciscoasa(config-if)# no shciscoasa(config)# in e0/1ciscoasa(config-if)# nameif ousideINFO: Security level for "ouside" set to 0 by default.ciscoasa(config-if)# ip add 201.0.0.1 255.255.255.0ciscoasa(config-if)# no shciscoasa(config-if)# route ouside 0 0 201.0.0.2     #配置默认路由,下一跳指向互联网的R2路由器。

三、配置虚拟专用网

配置完接口IP及路由信息,即可跟着配置下面的虚拟专用网。

1、配置总公司与分公司1之间的虚拟专用网:

(1)总公司的ASA-1配置如下:

ASA-1(config)# crypto isakmp enable outside    #启用ISAKMP/IKE#'以下是配置ISAKMP策略(也就是管理连接的配置)'ASA-1(config)# crypto isakmp policy 1   #策略序列号为"1",范围是1~10000,数值越小,优先级越高ASA-1(config-isakmp-policy)# authentication pre-share  #声明设备认证方式为"预先共享密钥"ASA-1(config-isakmp-policy)# encryption aes   #配置加密算法  ASA-1(config-isakmp-policy)# hash md5    #hash命令指定验证过程中采用的散列算法ASA-1(config-isakmp-policy)# group 2   #采用DH算法的强度为group2ASA-1(config-isakmp-policy)# lifetime 10000   #可选,管理连接生存周期,默认为86400s(24小时)ASA-1(config-isakmp-policy)# crypto isakmp key 2019.com address 202.0.0.1        #配置"预先共享密钥"#'下面是数据连接配置'ASA-1(config)# access-list lan1_lan2 permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0#定义虚拟专用网保护的流量   ASA-1(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmac#数据连接协商参数,"test-set"是自定义的名称ASA-1(config)# crypto map test-map 1 match address lan1_lan2   #匹配的ACLASA-1(config)# crypto map test-map 1 set peer 202.0.0.1    #虚拟专用网对端地址ASA-1(config)# crypto map test-map 1 set transform-set test-set    #将数据连接关联刚才创建的传输集ASA-1(config)# crypto map test-map interface outside   #将crypto map 应用到outside接口上。

关于配置中的命令已经在上面全部体现出来了,接下来的大多数配置命令都可在上面找到相应的注释,所以下面我就不写注释了(体谅一下懒癌晚期患者)。
(2)分公司1的ASA-2配置如下:

ASA-2(config)# crypto isakmp enable outsideASA-2(config)# crypto isakmp policy 1ASA-2(config-isakmp-policy)# authentication pre-shareASA-2(config-isakmp-policy)# encryption aesASA-2(config-isakmp-policy)# hash md5ASA-2(config-isakmp-policy)# group 2ASA-2(config-isakmp-policy)# lifetime 10000ASA-2(config-isakmp-policy)# crypto isakmp key 2019.com address 201.0.0.1ASA-2(config)# access-list lan2_lan1 permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0ASA-2(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmacASA-2(config)# crypto map test-map 1 match address lan2_lan1ASA-2(config)# crypto map test-map 1 set peer 201.0.0.1ASA-2(config)# crypto map test-map 1 set transform-set test-setASA-2(config)# crypto map test-map interface outside

至此,总公司和分公司1的虚拟专用网就建立完成了,可以使用R3和R1进行ping测试,虚拟专用网建立连接需要时间,在路由及接口IP配置无误的情况下,ping个两三次才可ping通,如果ping了三五次都没ping通,多半是凉了,自行排错吧,通过show run命令查看哪里配置错了吧!

2、配置总公司与分公司3之间的虚拟专用网:

(1)总公司的ASA-1配置如下(关于管理连接的配置可以和总公司到分公司1的配置共用,可以说只要配置涉及了ACL及IP地址的命令改动下再配置一下就可以了):

ASA-1(config)# crypto isakmp key 2020.com address 203.0.0.1ASA-1(config)# access-list lan1_lan3 permit ip 192.168.1.0 255.255.255.0 192.168.3.0 255.255.255.0ASA-1(config)# crypto map test-map 2 match address lan1_lan3WARNING: The crypto map entry is incomplete!ASA-1(config)# crypto map test-map 2 set peer 203.0.0.1WARNING: The crypto map entry is incomplete!ASA-1(config)# crypto map test-map 2 set transform-set test-set

(2)分公司2的ASA-3配置如下:

ASA-3(config)# crypto isakmp enable outsideASA-3(config)# crypto isakmp policy 1ASA-3(config-isakmp-policy)# authentication pre-shareASA-3(config-isakmp-policy)# encryption aesASA-3(config-isakmp-policy)# hash md5ASA-3(config-isakmp-policy)# group 2ASA-3(config-isakmp-policy)# lifetime 10000ASA-3(config-isakmp-policy)# crypto isakmp key 2020.com address 201.0.0.1ASA-3(config)# access-list lan3_lan1 permit ip 192.168.3.0 255.255.255.0 192.168.1.0 255.255.255.0ASA-3(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmacASA-3(config)# crypto map test-map 1 match address lan3_lan1ASA-3(config)# crypto map test-map 1 set peer 201.0.0.1ASA-3(config)# crypto map test-map 1 set transform-set test-setASA-3(config)# crypto map test-map interface outside

配置至此,分公司2的R4路由器就可以ping通总公司的R1路由器了。

3、配置分公司2和分公司3的虚拟专用网(其实就是配置几条ACL即可):

#'总公司的ASA-1配置如下:'ASA-1(config)# same-security-traffic permit intra-interface #允许流量进入和离开同一个接口,默认是禁止        ASA-1(config)# access-list lan1_lan2  permit ip 192.168.3.0 255.255.255.0 192.168.2.0 255.255.255.0ASA-1(config)# access-list lan1_lan3  permit ip 192.168.2.0 255.255.255.0 192.168.3.0 255.255.255.0#'分公司1的ASA-2配置如下:'ASA-2(config)# access-list lan2_lan1  permit ip 192.168.2.0 255.255.255.0 192.168.3.0 255.255.255.0#'分公司2的ASA-3配置如下:'ASA-3(config)# access-list lan3_lan1  permit ip 192.168.3.0 255.255.255.0 192.168.2.0 255.255.255.0

至此,总公司、分公司1和分公司2之间的虚拟专用网就建立成功了。其中需要注意的是,分公司1和分公司2之间的虚拟专用网的建立是基于总公司的防火墙的,一旦总公司的防火墙出现故障,那么分公司1和分公司2之间的虚拟专用网也就不复存在了。也可以选择分公司1和分公司2之间直接建立虚拟专用网,它们之间的流量不再经过总公司的防火墙,这个可以根据实际情况来定即可。

那么,被虚拟专用网保护的流量,如何访问互联网资源呢?现在就通过PAT来实现。让每个公司内部的主机,既可以通过虚拟专用网访问到另一个公司的内部资源,也可以使每个公司内部的主机可以访问到互联网资源。

注:我查到的资料上看到,需要启用NAT控制,并且豁免虚拟专用网流量,但是,我测试发现完全不需要,直接在ASA上做了PAT端口映射即可实现想要的效果,原本想再验证下我的想法,但是网络环境已经被我关闭了,算了,有兴趣的话自行验证吧。

4、配置各个防火墙上的PAT端口映射:

总公司防火墙配置:

ASA-1(config)# nat-control ASA-1(config)# nat (inside) 1 0 0ASA-1(config)# global (outside) 1 interfaceINFO: outside interface address added to PAT poolASA-1(config)# access-list vpm permit ip 192.168.1.0 255.255.255.0 192.168.2.0$ASA-1(config)# access-list vpm  permit ip 192.168.1.0 255.255.255.0 192.168.3.$ASA-1(config)# nat (inside) 0 access-list vpm

分公司1防火墙配置:

ASA-2(config)# nat-control ASA-2(config)# nat (inside) 1  0  0ASA-2(config)# global (outside) 1 interfaceINFO: outside interface address added to PAT poolASA-2(config)# nat (inside) 0 access-list lan2_lan1

分公司2防火墙配置:

ASA-3(config)# nat-control ASA-3(config)# nat (inside) 1  0  0ASA-3(config)# global (outside) 1 interfaceINFO: outside interface address added to PAT poolASA-3(config)# nat (inside) 0 access-list lan3_lan1

5、启用Internet中的R2路由器的Telnet功能,以便公司内部进行访问测试:

R2(config)#line vty 0 4R2(config-line)#password 123R2(config-line)#loginR2(config-line)#exitR2(config)#enable secret 123456

6、验证(在验证过程中,发现会ping一两次才会完全ping通,刚开始会不通或丢包,属于正常现象,因为虚拟专用网建立连接也是需要时间的):

四、总结

1、在数据连接建立过程中,ASA防火墙只支持ESP协议,因此,如果对端是路由器,使用了AH协议实现数据验证功能,将无法与ASA成功地建立数据连接。
2、IKE协商在路由器上是默认开启的,但是在ASA上模式是关闭的,需要使用命令" crypto isakmp enable outside"开启。
3、ASA上配置预共享密钥时,一般使用隧道组来配置密钥,隧道组配置密钥的过程将在下面文章末尾写出来,我在上面使用的配置方法,是和路由器上一样的配置方法,ASA会自动识别,并自动改为隧道组配置。
4、防火墙存在一种这样一个限制,就是流量从一个接口进入,就不能从相同安全级别的端口流出。当然也不可以进入和离开同一个接口,可以使用命令" same-security-traffic permit intra-interface",在上面的配置中,配置分公司1和分公司2时,由于流量需要进入和离开总公司的e0/1接口,所以在总公司的防火墙上配置了这条命令。
5、ASA默认放行一切虚拟专用网的流量,因为虚拟专用网的流量本来就是安全的,所以ASA为其开绿灯。

-------- 本文至此结束,感谢阅读 --------

配置 专用网 专用 分公司 路由 总公司 防火 防火墙 路由器 接口 之间 流量 公司 命令 验证 数据 密钥 环境 网关 网络 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海网信办 网络技术处 辽宁子墨网络技术有限公司是做什么的 香港服务器怎么做代理 与数据库备份有关的文件 关于软件开发的报哪个专业好 石台专业软件开发服务商家 会议录播软件开发 计算机网络安全趋势股票 网管服务器数据下发超时电信 暗黑黎明 服务器 计算机网络技术学出来了干嘛 方舟不是主机可以进服务器吗 网络安全绘画简简单单的内容 软件开发企业swot报告 零基础学网络安全的书籍 数据库端口不允许访问 15万并发需要多少服务器 网络安全法第38条明确规定 云服务器排行榜 江苏信息软件开发价格 服务器加密狗是啥意思 闵行区新能源软件开发推荐 天津诊疗软件开发数据科学服务 武士零用什么软件开发的 无法打开服务器 软件开发阶段使用的工具 关系数据库模型的结构是什么 数据库相关书籍参考文献 android服务器端搭建 达梦数据库如何sql
0