EZVPN
EZVPN
u 实验拓扑:
u 拓扑说明:
两个路由器和一台PC机,路由器通过f0/0口直连,PC机连接NAT的f0/1口,PC机上安装了cisco client VPN软件。PC机远程拨号,获取192.168.1.0的网段IP。之后再NAT路由器上配置硬件远程访问。在路由器上访问。 |
u 实验配置:
R1配置: aaa new-model aaa authentication login VPNAUTHEN local //AAA认证方式为本地认证 aaa authorization network VPNAUTHOR local //AAA网络接入授权方式为本地 username remote password 0 cisco //建立本地AAA数据库,用于远程用户用户名和密码认证 ! crypto isakmp policy 10 //第一阶段的配置 hash md5 //软件拨号必须用MD5 authentication pre-share //预共享密钥方式 group 2 //只能用group 2 ! crypto isakmp client configuration group VPN //配置VPN客户端组属性:组名和密码,IP。 key 6 abc123, pool EZPOOL //后面配置的地址池有IP地址 ! crypto ipsec transform-set VPNSET esp-des esp-md5-hmac //传输集配置 ! crypto dynamic-map DMAP 10 //动态加密映射图 set transform-set VPNSET //传输集要放入动态加密映射图中 reverse-route //反向路由注入,本路由器会有客户端地址的路由。 ! crypto map SMAP client authentication list VPNAUTHEN //静态map的认证和AAA关联 crypto map SMAP isakmp authorization list VPNAUTHOR //静态map的授权和AAA关联 crypto map SMAP client configuration address respond crypto map SMAP 10 ipsec-isakmp dynamic DMAP //动态map要绑定要静态map,动态map不能在接口运用。 ! interface FastEthernet0/0 crypto map SMAP //接口运用 ! ip local pool EZPOOL 192.168.1.1 192.168.1.10 本地IP地址池 |
R2配置: ip nat pool OUTIP 100.100.100.3 100.100.100.13 netmask 255.255.255.0 ip nat inside source list VPNACL pool OUTIP overload ip access-list extended VPNACL permit ip any any ! Int f0/0 Ip nat outside Int f0/1 Ip nat inside |
u 实验说明:
本次实验是使用简单的本地认证,还可以用ACS认证方式。软件的isakmp阶段的加密只支持md5,所以路由器也要设置为md5。由于拨号时动态的加密,所以使用动态的map,但是动态map不能在接口运用,所以需要绑定到静态。 |
软件拨号
u 实验验证结果:
反向路由注入后,自动添加32位的主机路由 Show ip route |
注意:
虽然远程客户端能够拨入VPNserver 但是,远程客户端不能够访问公网了,如下图
为了能够让远程客户端能够访问公网,我们在VPNSERVER上做split-tunneling。定义了一个访问列表,客户端只是访问列表中的网络需要数据加密,而访问其他网络就不需要加密了。访问公网时,流量不需要经过VPNSERVER,就直接经过本地路由器访问公网了。 命令如下: VPNSERVER(config)#crypto isakmp client configuration group VPN VPNSERVER(config-isakmp-group)#acl 100 VPNSERVER(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 any VPNSERVER(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 any 注意,保护的服务器端的网络到任何网络。 结果如下图: |
硬件拨号
u 路由器配置:手动模式
crypto ipsec client ezvpn MYVPN //本地有效,和软件拨号的条目和描述那差不多 connect manual //建立VPN的方式,手动 group VPN key 6 abc123, //拨号的组名和密码,和软件拨号的组名的密码一样 mode client peer 100.100.100.1 //设置VPN server 的IP地址 interface FastEthernet0/0 //接口运用 crypto ipsec client ezvpn MYVPN outside interface FastEthernet0/1 crypto ipsec client ezvpn MYVPN inside |
u 测试
由于软件拨号出处已经配置了split-tunneling,所以可以看到split tunne列表。内部网络既可以上公网,又可以访问VPN server保护的网络。 |
注意:
在硬件拨号时,路由器虽然没有配置NAT,但是自动会有NAT功能。当用vpn client 内部网络访问vpn server 受保护的内部网络时,客户端用的都是同一个地址,本次为192.168.1.7 。 当用VPN client内部网络访问VPN server公网所在的地址,内部地址会自动翻译成VPN client的公网地址。如下图:
|
u 路由器配置:网络扩展模式
VPNCLIENT(config)#crypto ipsec client ezvpn MYVPN VPNCLIENT(config-crypto-ezvpn)#mode network-extension //配置不变,只要修改此处 |
验证:
但是并没有分配到任何IP。内部网络同样可以上网和访问受保护的网络。 telnet VPN server 发现用的IP地址为本地的IP地址,而VPN server添加的反向路由注入路由条目为VPN client本地的网段
|
路由器配置:network-plus模式
VPNCLIENT(config)#crypto ipsec client ezvpn MYVPN VPNCLIENT(config-crypto-ezvpn)#mode network-plus //模式 |
验证:
本地获取了IP地址,但是仍旧是用真是地址 而服务器的反向路由条目,既有192.168.1.8的地址,也有172.16.1.0的内部网络 |