博文大纲:

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

前言:

之前写过一篇博文: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 t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#in f0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.1.254
'防火墙ASA配置接口IP及路由条目:'
ciscoasa> en
Password:      #默认没有密码,直接回车即可
ciscoasa# conf t
ciscoasa(config)# in e0/0
ciscoasa(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.0
ciscoasa(config-if)# no sh
ciscoasa(config)# in e0/1
ciscoasa(config-if)# nameif ouside
INFO: Security level for "ouside" set to 0 by default.
ciscoasa(config-if)# ip add 201.0.0.1 255.255.255.0
ciscoasa(config-if)# no sh
ciscoasa(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算法的强度为group2
ASA-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   #匹配的ACL
ASA-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 outside
ASA-2(config)# crypto isakmp policy 1
ASA-2(config-isakmp-policy)# authentication pre-share
ASA-2(config-isakmp-policy)# encryption aes
ASA-2(config-isakmp-policy)# hash md5
ASA-2(config-isakmp-policy)# group 2
ASA-2(config-isakmp-policy)# lifetime 10000
ASA-2(config-isakmp-policy)# crypto isakmp key 2019.com address 201.0.0.1
ASA-2(config)# acce
ASA-2(config)# access-li
ASA-2(config)# access-list lan2_lan1 permit ip 192.168.2.0 255.255.255.0 192.1$
ASA-2(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmac
ASA-2(config)# crypto map test-map 1 match address lan2_lan1
ASA-2(config)# crypto map test-map 1 set peer 201.0.0.1
ASA-2(config)# crypto map test-map 1 set transform-set test-set
ASA-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.1
ASA-1(config)# access-list lan1_lan3 permit ip 192.168.1.0 255.255.255.0 192.168.3.0 255.255.255.0
ASA-1(config)# crypto map test-map 2 match address lan1_lan3
WARNING: The crypto map entry is incomplete!
ASA-1(config)# crypto map test-map 2 set peer 203.0.0.1
WARNING: 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 outside
ASA-3(config)# crypto isakmp policy 1
ASA-3(config-isakmp-policy)# authentication pre-share
ASA-3(config-isakmp-policy)# encryption aes
ASA-3(config-isakmp-policy)# hash md5
ASA-3(config-isakmp-policy)# group 2
ASA-3(config-isakmp-policy)# lifetime 10000
ASA-3(config-isakmp-policy)# crypto isakmp key 2020.com address 201.0.0.1
ASA-3(config)# access-list lan3_lan1 permit ip 192.168.3.0 255.255.255.0 192.168.1.0 255.255.255.0
ASA-3(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmac
ASA-3(config)# crypto map test-map 1 match address lan3_lan1
ASA-3(config)# crypto map test-map 1 set peer 201.0.0.1
ASA-3(config)# crypto map test-map 1 set transform-set test-set
ASA-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.0
ASA-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 0
ASA-1(config)# global (outside) 1 interface
INFO: outside interface address added to PAT pool
ASA-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
ASA-2(config)# nat-control
ASA-2(config)# nat (inside) 1  0  0
ASA-2(config)# global (outside) 1 interface
INFO: outside interface address added to PAT pool
ASA-2(config)# nat (inside) 0 access-list lan2_lan1
ASA-3(config)# nat-control
ASA-3(config)# nat (inside) 1  0  0
ASA-3(config)# global (outside) 1 interface
INFO: outside interface address added to PAT pool
ASA-3(config)# nat (inside) 0 access-list lan3_lan1

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

R2(config)#line vty 0 4
R2(config-line)#password 123
R2(config-line)#login
R2(config-line)#exit
R2(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为其开绿灯。

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

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

  1. 如何在ASA防火墙上实现ipsec ***

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 本文章介绍三个部分内容: ①ipsec ...

  2. 硬件防火墙ppoe服务器,在 Cisco Secure PIX 防火墙上配置 PPPoE 客户端

    本文档介绍如何在 Cisco Secure PIX 防火墙上配置以太网上的点对点协议 (PPPoE) 客户端.PIX OS 6.2 版引入了此功能,该版本适用于低端 PIX (501/506). PP ...

  3. 防火墙上配置IPsec vpn (超详细附带思路看完就会)

    目录 实验配置 拓扑图 思路: 基础配置部分 ipsec vpn部分 防火墙部分 开始配置 ipsec vpn部分 ipsec安全提案,指定封装模式,使用数据加密协议,协议的认证算法和加密算法 Ike ...

  4. 在CISCO ASA 防火墙上配置Web ×××

    目前市场上×××产品很多,而且技术各异,就比如传统的 IPSec ××× 来讲, SSL 能让公司实现更多远程用户在不同地点接入,实现更多网络资源访问,且对客户端设备要求低,因而降低了配置和运行支撑成 ...

  5. 在飞塔防火墙上实现IPSec ×××

    FG IPSec ×××              首先感谢Fortinet支持中心群网友海宝支持,以及雅木的整理,龙卷风负责51CTO上作品的修改与编辑.希望大家多多支持. 假设总部A与分公司B做i ...

  6. Cisco ASA防火墙实现IPSec 虚拟专用网,可跟做!!!

    通过博文CIsco路由器实现IPSec 虚拟专用网原理及配置详解已经初步了解IPSec 虚拟专用网的原理以及如何在Cisco的路由器上实现IPSec 虚拟专用网技术.千万不要以为在CIsco路由器可以 ...

  7. 在H3C防火墙上用l2tp实现用户***网络(包括本地验证和AAA验证)

    用H3C防火墙通过l2tp实现用户***网络包括本地验证和AAA服务器的验证 网络拓扑图如下: 一.本地验证实现l2tp 1.防火墙上的基本配置 [H3C]firewall packet-filter ...

  8. CISCO PIX/ASA Failover 技术初步学习

    CISCO PIX/ASA Failover 技术 是一项故障转移配置的技术,需要两台完全一样的设备,通过一个连接,连接到对方(这个连接也叫心跳线).该技术用到的两台设备分为 主用和备用,备用处于待机 ...

  9. 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题

    解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 参考文章: (1)解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 (2)https://www.cnblogs. ...

最新文章

  1. 力扣(LeetCode)刷题,简单+中等题(第32期)
  2. linear model课程笔记
  3. STM32F4 HAL库开发 -- USB U盘
  4. tensorflow python3.6_[教程]Tensorflow + win10 + CPU + Python3.6+ 安装教程
  5. SQL Server列名显示无效
  6. Java7和8在虚拟机上的差异:Perm Generation vs. Metaspace
  7. 【Java】JavaSE JDK 及离线帮助文档下载链接
  8. n皇后问题-c语言实现
  9. mysql 需要什么硬件配置_Mysql的硬件优化和配置优化
  10. 激活Windows系统的方式
  11. 2021物理化学实验4:液体饱和蒸气压的测定
  12. [POI2005][luogu3462] SZA-Template [fail树]
  13. 毕业论文参考文献引用
  14. 微信授权redirect_uri域名与后台配置不一致10003
  15. OAuth2实现单点登录SSO
  16. linux内核中linux中readl()和writel()函数---用于读写寄存器
  17. java实现交叉报表_交叉填报表的制作
  18. D35 876. Middle of the Linked List
  19. java实现txt文件/文本转语音(全网最详细易懂)
  20. 斯坦福大学(吴恩达) 机器学习课后习题详解 第一周 线性代数

热门文章

  1. 讯飞语音——离线命令词+语义识别
  2. 【代码审计】CLTPHP_v5.5.3后台目录遍历漏洞分析
  3. P1902 刺杀大使
  4. 量化投资学习——创业板盘中临时停牌规则
  5. 一个让你觉得相见恨晚的工具——utools
  6. uni app- vue 数字单位转换为 万/百万/千万/亿(保存小数点后两位)
  7. 快速上手前端开发,严选
  8. Redis常见、常用的知识点
  9. map和object相互转换的几种方法和对比
  10. app.vue 跳转页面_「案例分析」APP关键页面UX优化拆解—以珍爱网APP为例