实验目的:通过在网关ASA防火墙设备上做Easy VPN,使得远端互联网上的一台客户机能够通过加密隧道来访问局域网的内部资源。
实验拓扑图如下所示。R1是作为局域网内部的一台路由器,C1连接的是VMnet1网卡,使用的是windows7操作系统作为网络上的一台PC机。下面是具体配置步骤。
R1上面的配置。只需要配置接口IP地址和一条默认路由即可。
R1(config)#int fa0/0 R1(config-if)#ip add 192.168.20.2 255.255.255.0 R1(config-if)#no shut R1(config-if)#ex R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.20.1
ISP上面的配置。只需要配置接口IP地址即可,如下。
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)#int fa0/1 ISP(config-if)#ip add 20.0.0.2 255.255.255.0 ISP(config-if)#no shut
R3上面的配置,作为公网上一台提供DHCP服务和NAT地址转换的路由器,需要配置如下参数。
R3(config)#int fa0/0 R3(config-if)#ip add 20.0.0.1 255.255.255.0 R3(config-if)#no shut //配置接口IP地址并激活 R3(config)#int fa0/1 R3(config-if)#ip add 192.168.10.1 255.255.255.0 R3(config-if)#no shut //配置接口IP地址并激活 R3(config)#ip route 0.0.0.0 0.0.0.0 20.0.0.2//末梢网络配置默认路由 R3(config)#ip dhcp pool zhang //配置DHCP的相关参数 R3(dhcp-config)#network 192.168.10.0 255.255.255.0//分配网段 R3(dhcp-config)#default-router 192.168.10.1 //DHCP默认网关 R3(dhcp-config)#dns 8.8.8.8 //DHCP配置的默认DNS地址 R3(dhcp-config)#lease 8 //DHCP服务的租约时间 R3(dhcp-config)#ex//下面是一条标准访问控制列表需要应用在NAT R3(config)#access-list 1 permit 192.168.10.0 0.0.0.255 R3(config)#ip nat inside source list 1 interface fa0/0 overloacl//端口多路复用PAT,映射到公网上的出口IP地址。 R3(config)#int fa0/0 R3(config-if)#ip nat outside //应用接口为NAT的出口方向 R3(config)#int fa0/1 R3(config-if)#ip nat inside //应用接口为NAT的入口方向
下面就是此次实验的重头戏,ASA防火墙上的配置。
ASA(config)# int e0/0 ASA(config-if)# ip add 192.168.20.1 255.255.255.0 ASA(config-if)# no shut //配置端口IP地址并激活 ASA(config-if)# nameif inside //为内部inside区域 ASA(config)# int e0/1 ASA(config-if)# ip add 10.0.0.1 255.255.255.0 ASA(config-if)# no shut ASA(config-if)# nameif outside //此接口为外部outside区域 ASA(config)# route outside 0 0 10.0.0.2 //配置一条默认路由
以上配置完成可以打开虚拟机,别忘了检查连接网卡VMnet1,然后就可以打开命令行工具,ping对等体接口IP地址是否能够互联互通,这是下面实验的前提。此处为测试,如果不通可以进行相应的检查,不然等你全部做完之后才发现问题、故障,一时之间很难判断问题出在哪里。
下面就开始做VPN加密隧道传输。
ASA(config)# crypto isakmp enable outside //开启ISAKMP/IKE(安全连接和密钥管理协议/互联网金钥交换) ASA(config)# crypto isakmp policy 1 //设置管理链接isakmp协议 ASA(config-isakmp-policy)# encryption 3des //加密算法 ASA(config-isakmp-policy)# hash sha //定义管理连接的验证方式 ASA(config-isakmp-policy)# authentication pre-share ASA(config-isakmp-policy)# group 2 //指定DH密钥组 ASA(config-isakmp-policy)# lifetime 120 //生存周期 ASA(config)# username zhangsan password 123123 //建立用来访问内部局域网的用户名以及密码 ASA(config)# ip local pool benet-pool 192.168.20.50-192.168.20.80 //定义分配给客户端的IP地址范围 ASA(config)# access-list split-acl permit ip 192.168.20.0 255.255.255.0 any //定义用于触发的感兴趣流量 ASA(config)# group-policy test-group internal //表示策略定义在本地 ASA(config)# group-policy test-group attributes /定义组策略属性 ASA(config-group-policy)# split-tunnel-policy tunnelspecified //定义为所有匹配ACL的流量走隧道 ASA(config-group-policy)# split-tunnel-network-list value split-acl //调用ACL感兴趣流量 ASA(config-group-policy)# dns-server value 9.9.9.9 //定义DNS地址 ASA(config-group-policy)# split-dns value benet.com//隧道分离DNS ASA(config-group-policy)# exit ASA(config)# tunnel-group benet-group type ipsec-ra //定义隧道组,并指定类型为远程访问 ASA(config)# tunnel-group benet-group general-attributes//指定属性 ASA(config-tunnel-general)# address-pool benet-pool //调用地址池 ASA(config-tunnel-general)# default-group-policy test-group ASA(config-tunnel-general)# exit //上面这条是调用组策略 ASA(config)# tunnel-group benet-group ipsec-attributes ASA(config-tunnel-ipsec)# pre-shared-key aaa123 //设置预共享密钥 ASA(config-tunnel-ipsec)# exit ASA(config)# crypto ipsec transform-set benet-set esp-3des esp-sha-hmac //定义传输集 ASA(config)# crypto dynamic-map dymap 1 set transform-set benet-set //定义动态MAP,调用传输集 ASA(config)# crypto map stamap 1 ipsec-isakmp dynamic dymap //定义静态MAP,并调用上面的动态MAP ASA(config)# crypto map stamap int outside //最后应用在outside区域,以上配置较多需要细心。
配置完成之后,同样需要安装VPN客户端软件,然后输入相应的参数,点击保存,如下图所示。
点击刚才保存的配置,然后点击连接,之后跳出提示框,输入上面定义的用户名和密码。如下图
连接成功之后,打开CMD命令行工具,输入ipconfig可以看到从防火墙Easy VPN上获取到的IP地址信息,此时可以进行ping测试验证,互联网上的PC机和内部局域网之间是否已经互联互通(只要能通,没有获取到网关地址也OK的)。
实验完成,此次实验代码较多,原理比较模糊,需要长时间的理解和记忆。另外网络地址范围,ACL流量等都是灰常容易出错的地方,需要特别注意。
&人格魅力&写给自己
时间: 2024-10-06 03:31:46