实验拓扑:

wKiom1Rt1qzwFLnlAADcpeBeb6Q729.jpg


图中R2模拟公网,假设某公司有一个服务器C2(windows server 2008系统,ip地址为192.168.10.2)公司的某员工需要远程访问这台服务器,C1为该员工用的客户端电脑(windows XP系统),R1是192.168.1.0内网的出口路由


实验要求:

1、192.168.1.0和192.168.10.0两个内网可以访问公网

2、在防火墙上用胖客户端模式做SSL-×××实现C1可以访问C2


实验步骤:

首先为每个设备配置ip地址和路由

R1(config-if)#int f0/0      

R1(config-if)#ip add 11.0.0.2 255.255.255.0   

R1(config-if)#no shut


R1(config-if)#int f0/1                     

R1(config-if)#ip add 192.168.2.1 255.255.255.0

R1(config-if)#no shut


R1(config)#ip route 0.0.0.0 0.0.0.0 11.0.0.1


R2(config)#int f0/0

R2(config-if)#ip add 11.0.0.1 255.255.255.0

R2(config-if)#no shut


R2(config-if)#int f0/1                     

R2(config-if)#ip add 12.0.0.1 255.255.255.0

R2(config-if)#no shut

//R2因为是模拟的公网,只需要配置ip地址即可不需要配置路由,公网是没有公司内网的路由的


R4(config)#int f0/0

R4(config-if)#ip add 192.168.2.2 255.255.255.0

R4(config-if)#no shut


R4(config-if)#int f0/1

R4(config-if)#ip add 192.168.1.1 255.255.255.0

R4(config-if)#no shut


R4(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.1


ciscoasa(config)# int e0/0

ciscoasa(config-if)# nameif outside

ciscoasa(config-if)# ip add 12.0.0.2 255.255.255.0

ciscoasa(config-if)# no shut

ciscoasa(config-if)# 

ciscoasa(config-if)# int e0/1                     

ciscoasa(config-if)# nameif inside                

ciscoasa(config-if)# ip add 192.168.10.1 255.255.255.0

ciscoasa(config-if)# no shut


ciscoasa(config)# route outside 0 0 12.0.0.1


这样整个公网就可以互通了

wKiom1Rt2GewOC2ZAAC3NicKmts239.jpg


要想内网可以访问公网可以在出口设备上做PAT来实现,在R1和ASA防火墙上分别做PAT

R1(config)#access-list 1 permit any

R1(config)#ip nat inside source list 1 int f0/0 overload 


R1(config)#int f0/1

R1(config-if)#ip nat inside

R1(config-if)#int f0/0

R1(config-if)#ip nat outside


R1(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.2

//在R1上要配置一个静态路由到192.168.1.0网段,不然是ping不通的,因为没有回程路由


ciscoasa(config)# nat (inside) 1 192.168.10.0 255.255.255.0

ciscoasa(config)# global (outside) 1 interface 



ciscoasa(config)# access-list icmp permit icmp any any

ciscoasa(config)# access-group icmp in int outside

//这个ACL是为了验证可以ping通,允许外面的流量进入ASA防火墙


这样两边的内网都可以访问公网了,如下图

wKiom1Rt2ZnQTzorAAEvcY8Dbe0892.jpg


wKioL1Rt2hLSrQY8AAFc1lNrHno815.jpg


因为胖客户端模式是在用户的计算机上安装客户端来实现的,所以要指定客户端,这里需要用tftp方式把客户端上传到ASA防火墙上


wKioL1Rt3wLivzJbAAGIM1UGnOM800.jpg

ciscoasa(config)# copy tftp: flash:    //将tftp服务器上的软件包上传到闪存中


Address or name of remote host []? 192.168.10.2      //tftp服务器地址


Source filename []? sslclient-win-1.1.3.173.pkg         //软件包的全名


Destination filename [sslclient-win-1.1.3.173.pkg]? 


Accessing tftp://192.168.10.2/sslclient-win-


1.1.3.173.pkg...!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


!!!!!!!!!!!!!!!!!!!!!!!!!!

Writing file disk0:/sslclient-win-1.1.3.173.pkg...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


!!!!!!!!!!

416354 bytes copied in 1.540 secs (416354 bytes/sec)    //出现这个提示表示已经上传成功了


客户端软件已经上传到防火墙上,下面开始SSL-×××的具体配置了


ciscoasa(config)# web*** //进入web***配置视图

ciscoasa(config-web***)# enable outside //在outside口上启用web***

ciscoasa(config-web***)# svc p_w_picpath disk0:/sslclient-win-1.1.3.173.pkg //指定客户端软件

ciscoasa(config-web***)# svc enable //启用胖客户端访问

ciscoasa(config-web***)# tunnel-group-list enable //使用户可以选择组列表


username shengjie password abc123      //SSL ×××是对用户进行认证的,所以这里定义远程访问的用户名和密码,用户名必须要4个或以上的字母否则会报错


ciscoasa(config)# access-list 110 extended permit ip 192.168.10.0 255.255.255.0 any //定义客户端的感兴趣流,因为客户端是不固定的地址所以是any


ciscoasa(config)# ip local pool vip 192.168.10.100-192.168.10.200 mask 255.255.255.0 //配置客户端访问时获得的ip地址的地址池,地址池的名字为vip


ciscoasa(config)# group-policy ssl*** internal //定义组策略

ciscoasa(config)# group-policy ssl*** attributes //定义各种属性

ciscoasa(config-group-policy)# dns-server value 192.168.10.2 //定义内网DNS地址

ciscoasa(config-group-policy)# ***-tunnel-protocol svc web*** //指定隧道类型 svc为胖客户端模式的SSL ×××,并开启胖客户端,如果没有这个命令的话,在网页访问时就不会有下载安装软件的链接

ciscoasa(config-group-policy)# split-tunnel-policy tunnelspecified //开启隧道分离

ciscoasa(config-group-policy)# split-tunnel-network-list value 110 //调用感兴趣流

ciscoasa(config-group-policy)# address-pool value vip //调用地址池

ciscoasa(config-group-policy)# split-dns value benet.com //配置dns分离的域名,当访问benet.com时去访问192.168.10.2这个内部的dns服务器

ciscoasa(config-group-policy)# web***

ciscoasa(config-group-web***)# svc ask enable  //开启客户端下载

ciscoasa(config-group-web***)# url-entry disable //关闭浏览器中的HTTP和https的方式访问内网

ciscoasa(config-group-web***)# file-entry disable //关闭FTP和共享访问


ciscoasa(config)# tunnel-group sslg type remote-access //定义隧道组sslg为web***

ciscoasa(config)# tunnel-group sslg general-attributes //定义各种属性

ciscoasa(config-tunnel-general)# default-group-policy ssl*** //调用组策略

ciscoasa(config-tunnel-general)# tunnel-group sslg web***-attributes //下拉列表里要显示的名字

ciscoasa(config-tunnel-web***)# group-alias testssl enable //启用别名,登陆时下拉列表实际显示为testssl


验证实验结果:

在客户端的浏览器中输入https://12.0.0.2访问防火墙的出口地址

wKioL1Rt3Uzy1SGcAAF8QEMX3to809.jpg

点击login登陆之后可以看到start anyconnect链接,点击就可以下载客户端了

wKiom1Rt3NOA8P5KAALYldVZK_E346.jpg

下载完成之后在电脑任务栏的右边会显示一个钥匙表示客户端已安装成功

wKioL1Rt3U3ipPmAAABujRkT74g290.jpg

点击钥匙图标打开客户端,可以看到详细的配置信息和状态

wKiom1Rt3Z-wTv0qAAPImoNn_0Y491.jpg