模拟实验环境:R1是移动端的小路由具有dhcp、nat的功能,R3为公司内网路由loo 0 192.168.2.1。通过搭建Esay VPN来给客户端方便、快捷、安全的访问公司内网资源。不过Easy VPN分两种一种是路由上的配置一种是防火墙上的配置。Easy VPN虽然名字叫Easy,但那也只是相对于移动客户端的使用者而言,对于搭建者却一点都不Easy。不过相对于IPsec VPN而言却更加的安全方便。主要体现在方便上面,Easy VPN不需要移动端具有固定的IP地址随时随定只要有网的地方就可以连上公司内网、其次就是安全方面Easy VPN具有验证用户身份,存储在VPN的网关设备的内部数据库中或第三方设备如AAA(Authentication验证、Authorization授权、Accounting统计)。这一阶段又被称为阶段1.5,因为它是在IPsec VPN的两个阶段中间完成的。所以在搭建Easy VPN时就有了阶段1管理连接、阶段1.5用户验证、阶段2数据连接。由于路由器的AAA服务是默认关闭的所以在搭建Easy VPN是要开启,而防火墙的AAA服务是默认开启的所以就不同在手动打开了。
Easy VPN 路由配置
公司内网地址用loo 0 192.168.2.1的回环网址
ISP公网上添加一个loo 0 2.2.2.2的回环网址
移动客户端的路由器配置(DHCP、NAT)
R1(config)#ip dhcp pool client//配置DHCP与DNS R1(dhcp-config)#network 192.168.10.0 R1(dhcp-config)#default-router 192.168.10.1 R1(dhcp-config)#dns-server 8.8.8.8 R1(dhcp-config)#lease 7 R1(dhcp-config)#ex R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2 R1(config)#access-list 1 permit 192.168.10.0 0.0.0.255//配置NAT与acl R1(config)#ip nat inside source list 1 int fa0/0 overload R1(config)#int fa0/0 R1(config-if)#ip nat out R1(config-if)#int fa0/1 R1(config-if)#ip nat inside
外网配置
ISP>en ISP#conf t ISP(config)#int fa0/0 ISP(config-if)#ip add 10.0.0.2 255.255.255.0 ISP(config-if)#no shut ISP(config-if)#ex ISP(config)#int fa0/1 ISP(config-if)#ip add 192.168.1.2 255.255.255.0 ISP(config-if)#no shut ISP(config-if)#ex ISP(config)#int loo 0 ISP(config-if)#ip add 2.2.2.2 255.255.255.0 ISP(config-if)#no shut
公司内网的服务端配置EasyVPN
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2 R3(config)#aaa new-model//在路由器上启用AAA服务// R3(config)#aaa authentication login who local//AAA本地身份验证// R3(config)#aaa authorization network who2 local//AAA授权// R3(config)#username wang password 123//创建本地用户// //下面是ISAKMP/IKE阶段1管理连接配置// R3(config)#crypto isakmp policy 10 R3(config-isakmp)#encryption 3des R3(config-isakmp)#authentication pre-share R3(config-isakmp)#hash sha R3(config-isakmp)#group 2 R3(config-isakmp)#exit R3(config)#ip local pool wen 192.168.2.10 192.168.2.20//定义分配给客户端地址池// R3(config)#access-list 111 permit ip 192.168.2.0 0.0.0.255 any//分离隧道acl,所有permit流量都被加密,而deny则被明文传输,这样既保证了内网资源的安全又能让员工访问外网资源。// //下面是ISAKMP/IKE阶段1.5用户配置// R3(config)#crypto isakmp client configuration group ezvpn R3(config-isakmp-group)#key 123//预共享密钥// R3(config-isakmp-group)#dns 9.9.9.9//分配dns地址// R3(config-isakmp-group)#pool wen//调用分配地址池// R3(config-isakmp-group)#split-dns benet.com//分离内网dns//在客户端每次访问外网web时都需要通过内网去DNS解析这样加重的公司服务器的负担,所以启动DNS分离可以让公司服务器减压。 R3(config-isakmp-group)#acl 111//调用隧道分离// R3(config-isakmp-group)#save-password//允许客户端可以保存密码// R3(config-isakmp-group)#netmask 255.255.255.0//指定客户端的子网掩码// R3(config-isakmp-group)#ex //下面开始ISAMKP/IKE阶段2数据连接配置// R3(config)#crypto ipsec transform-set best esp-3des esp-sha-hmac R3(cfg-crypto-trans)#mode tunnel R3(cfg-crypto-trans)#exit R3(config)#crypto dynamic-map dymap 1//建立动态MAP// R3(config-crypto-map)#reverse-route //反转路由为连接成功的客户端产生32位路由// R3(config-crypto-map)#set transform-set best//调用传输集// R3(config-crypto-map)#exit R3(config)#crypto map mymap client configuration address respond//建立静态MAP 接受地址响应// R3(config)#crypto map mymap client authentication list who//认证列表为之前AAA服务中定义的who// R3(config)#crypto map mymap isakmp authorization list who2//授权列表为之前AAA服务中定义的who2// R3(config)#crypto map mymap 1 ipsec-isakmp dynamic dymap//静态MAP包含动态MAP // R3(config)#int fa0/0 R3(config-if)#crypto map mymap//静态MAP应用在端口//
移动客户端
首先从移动端的DHCP中获取地址,在测试与公司外网口的地址192.168.1.1的连通性。然后在client端上安装EasyVPN软件并获取公司内网段分配的地址,然后测试与公司内网段192.168.2.0段的连通性。通了代表可以访问公司内网了。
安装好EasyVPN客户端后将自动获取一块网卡。
利用EasyVPN的用户账号登录并获取公司内网段的地址。
如图是获得公司内网段的地址
最后的测试步骤
Easy VPN 防火墙配置
移动客户端的配置R1
R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2 R1(config)#ip dhcp pool client//配置DHCP// R1(dhcp-config)#network 192.168.1.0 255.255.255.0 R1(dhcp-config)#default-router 192.168.1.1 R1(dhcp-config)#dns-server 8.8.8.8 R1(dhcp-config)#lease 7//租约7天// R1(dhcp-config)#ex R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 R1(config)#ip nat inside source list 1 int fa0/0 overload R1(config)#int fa0/0 R1(config-if)#ip nat out R1(config-if)#int fa0/1 R1(config-if)#ip nat inside
ISP配置
ISP>en ISP#conf t ISP(config)#int fa0/1 ISP(config-if)#ip add 10.0.0.2 255.255.255.0 ISP(config-if)#no shut ISP(config-if)#ex ISP(config)#int fa0/0 ISP(config-if)#ip add 11.0.0.2 255.255.255.0 ISP(config-if)#no shut
公司内网段配置
R3>en R3#conf t R3(config)#int fa0/0 R3(config-if)#ip add 192.168.10.2 255.255.255.0 R3(config-if)#no shut R3(config-if)#ex R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.10.1
防火墙端口配置
ciscoasa> en Password: ciscoasa# conf t ciscoasa(config)# int e0/1 ciscoasa(config-if)# nameif inside INFO: Security level for "inside" set to 100 by default. ciscoasa(config-if)# ip add 192.168.10.1 255.255.255.0 ciscoasa(config-if)# no shut ciscoasa(config-if)# int e0/0 ciscoasa(config-if)# nameif outside INFO: Security level for "outside" set to 0 by default. ciscoasa(config-if)# ip add 11.0.0.1 255.255.255.0 ciscoasa(config-if)# no shut ciscoasa(config-if)# ex ciscoasa(config)# route outside 0 0 11.0.0.2 //默认路由
配置好后可以用在移动客户端上获取DHCP地址并测试与防火墙ASA外网口的连通性。
然后在防火墙上配置EasyVPN
由于ASA防火墙是默认开启AAA服务的所以直接配置用户
ciscoasa(config)# username wang password 123//这里防火墙的账户加密为密文// ciscoasa(config)# crypto isakmp enable outside//开启ISAKMP// //IKE阶段一配置// ciscoasa(config)# crypto isakmp policy 10 ciscoasa(config-isakmp-policy)# authentication pre-share ciscoasa(config-isakmp-policy)# encryption 3des ciscoasa(config-isakmp-policy)# hash sha ciscoasa(config-isakmp-policy)# group 2 ciscoasa(config-isakmp-policy)# lifetime 120 ciscoasa(config-isakmp-policy)# ex ciscoasa(config)# ip local pool wen-pool名称 192.168.10.10-192.168.10.20//定义客户端的IP范围 ciscoasa(config)# access-list 111 permit ip 192.168.10.0 255.255.255.0 any//定义客户端感兴趣流 ciscoasa(config)# group-policy wen-group组名 internal//建立内置组策略 ciscoasa(config)# group-policy wen-group attributes//配置策略属性 ciscoasa(config-group-policy)# split-tunnel-policy tunnelspecified //定义指定流量可以通过隧道 ciscoasa(config-group-policy)# split-tunnel-network-list value 111//指定ACL流量 ciscoasa(config-group-policy)# ex ciscoasa(config)# tunnel-group li-group名称 type ipsec-ra//定义隧道组并指定类型为远程访问 ciscoasa(config)# tunnel-group li-group general-attributes //指定属性 ciscoasa(config-tunnel-general)# address wen-pool//调用地址池 ciscoasa(config-tunnel-general)# default-group-policy wen-group //调用组策略 ciscoasa(config-tunnel-general)# ex ciscoasa(config)# tunnel-group li-group ipsec-attributes //设置预共享密钥 ciscoasa(config-tunnel-ipsec)# pre-shared-key 123 ciscoasa(config-tunnel-ipsec)# exit ciscoasa(config)# crypto ipsec transform-set wen-set名称 esp-3des esp-sha-hmac//定义传输集// ciscoasa(config)# crypto dynamic-map dymap名称 1 set transform-set wen-set//动态map中调用传输集 ciscoasa(config)# crypto map jtmap名称 10 ipsec-isakmp dynamic dymap//静态map调用动态map// ciscoasa(config)# crypto map jtmap int outside //静态map调用在端口// //如果配置好后不记得组策略名称的话可以查看show run表,当然现实生活中是不可能这样做的 ciscoasa# show run ... ...部分内容省略 group-policy wen-group internal group-policy wen-group attributes split-tunnel-policy tunnelspecified split-tunnel-network-list value 111 username wang password bo/9gssZj7sMTw8I encrypted//用户// tunnel-group li-group type remote-access tunnel-group li-group general-attributes address-pool wen-pool default-group-policy wen-group tunnel-group li-group ipsec-attributes//组策略的名称// pre-shared-key * prompt hostname context Cryptochecksum:00000000000000000000000000000000
最后在客户端上安装EasyVPN的客户端软件并获取地址,在测试与公司内网的连通性看是否能正常访问