博文大纲:
一, 在路由器上实现 Easy 虚拟专用网需要配置什么?
二, 配置实例
前言: 由于 "Virtual Private Network"(请看首字母, 就知道是什么咯)是敏 \ 感词汇, 所以在博文中使用它的中文名字 "虚拟专用网" 来代替.
在之前写过了 Cisco 路由器之 IPSec 虚拟专用网 https://blog.51cto.com/14154700/2429736 ; 在 Cisco 的 ASA 防火墙上实现 IPSec 虚拟专用网 https://blog.51cto.com/14154700/2430344 . 这两篇博文都是用于实现总公司和分公司之间建立虚拟专用网的, 那么还有一种使用很多的情况, 就是出差人员想要访问公司内网的资源呢? 由于出差人员只是单一的一个客户端, 所以和前两篇博文不一样, 前两篇博文搭建虚拟专用网, 两端设备都是路由器或防火墙, 有固定的 IP 地址, 所以呢, 并不能实现出差人员访问, 这篇博文的目的, 就是实现出差人员可以访问公司内网资源的, 这个技术被称之为 --Easy 虚拟专用网.
一, 在路由器上实现 Easy 虚拟专用网需要配置什么?
这篇博文将写下如何在路由器上实现 Easy 虚拟专用网.
1,XAUTH 身份验证
在原有的 IPSec 协议上, 并没有用户验证的功能, 所以引入了一个 RFC 的草案 --XAUTH. 它是一个虚拟专用网网关的增强特性, 提供用户名和密码的方式来验证用户身份. 由于这个过程是在两个连接建立之间完成的, 所以被戏称为 "阶段 1.5"(关于两个阶段的介绍, 可以参考 Cisco 路由器之 IPSec 虚拟专用网 https://blog.51cto.com/14154700/2429736 , 有详细的介绍).
谈到用户验证自然就涉及到了用户名和密码的存储方式, 通常情况下有两种方式:
存储在虚拟专用网网关设备的内部数据库中, 实现简单, 我接下来就使用这种方式;
存储在第三方设备上, 如一台 AAA 服务器.
2, 组策略
要实现 Easy 虚拟专用网, 那么一定要在虚拟专用网设备上配置一些策略, 然后, 当客户端来连接虚拟专用网设备时, 经过身份验证后, 主动将配置的策略推送给客户端, 以便成功建立连接, 那么这个提前被配置的策略就被称之为组策略.
组策略包含如下:
(1)地址池: 可以使虚拟专用网设备像 DHCP 服务器一样为每个通过验证的客户端 "推送"IP 地址. 这样, 由于客户端的 IP 地址是虚拟专用网网关动态分配的, 虚拟专用网设备自然也就知道该与哪个 IP 建立虚拟专用网连接. 示意图如下:
(2)DNS 和网关: 和 DHCP 服务器一样, 除了给客户端分配 IP 地址以外, 还要分配网关和 DNS, 这样客户端就拥有了内网的 IP, 网关及 DNS 等必备的资源, 真正成为内网的一员, 如下所示:
(3)交换共享密钥: 在远程访问虚拟专用网中, 虚拟专用网网关需要与多组客户端 "共享密钥", 因此在配置虚拟专用网时需要为每组客户端设置不同的共享密钥, 客户端的密钥并不是虚拟专用网网关推送的, 而是需要用户通过客户端软件配置在主机上, 而这个过程一般是由公司的网络管理员来实现的, 那么这个密钥自然是保存在客户端主机本地了, 因此才有了 "阶段 1.5" 的存在, 如下:
(4)分离隧道: 默认情况下, 客户端与虚拟专用网网关建立隧道后, 只能访问内网授权的资源, 这是因为隧道会允许所有的流量, 也就是说所有的流量必须经过隧道到达公司内网, 自然也就不允许任何流量访问外网, 而对于客户端而言, 访问外网, 再正常不过了, 所以需要针对远程访问虚拟专用网配置 ACL 来分离隧道, 通过配置 ACL, 所有 "permit" 的流量都被加密传输, 所有 "deny" 的流量都被明文传输, 而加密的流量就是通过隧道访问公司内网的流量, 明文的流量就是访问 Internet 的流量, 将这个 ACL 应用到组策略中即可实现需求, 如下:
(5)分离 DNS: 当客户端主机通过远程访问虚拟专用网连接到公司内网, 即使隧道分离后, 客户端访问 Internet 的 web 服务器时, 也需要使用公司内网的 DNS 解析, 但这不是一个合理的过程, 如果客户端每次访问百度, 都要经过公司内网进行 DNS 解析, 其实是没必要的, 太浪费资源了, 所以要实现客户端访问公司内网的 Web 服务器时, 使用公司内网的 DNS 解析, 若访问百度, 则使用外网的 DNS, 如果要实现不同的域名使用不同的 DNS, 就需要用到了分离 DNS, 如下图:
3, 动态 crypto map
因为我们无法实现在虚拟专用网设备的静态 crypto map 中指定客户端的地址 (客户端的地址由虚拟专用网的 DHCP 服务分发, 不是固定的), 所以需要将静态 crypto map 中需要的参数被动态填充, 使用动态 crypto map 必须采用 ISAKMP/IKE 发起协商, 而且在实现远程访问虚拟专用网的时候通常在虚拟专用网网关上同时配置静态和动态的 crypto map, 因为只有一台具有静态配置的设备可以发起 IPSec 的隧道, 也正是如此, 动态的 crypto map 很少被用于 L2L(局域网 to 局域网) 会话建立.
在实现远程访问虚拟局域网的时候, 一般会先配置 transform-set, 因为指定传输集与 peer 的 IP 地址无关, 可以将传输集直接应用到动态 crypto map; 由于在接口上只能配置一个 crypto map, 且虚拟专用网网关上必须有静态 crypto map, 所以需将动态 crypto map 应用到静态的 crypto map 中, 再将静态 crypto map 应用到接口上, 这就是配置 crypto map 的一般思路, 如下图所示:
二, 配置实例
1, 网络环境如下:
2, 环境分析:
(1)在公司网关路由器上配置虚拟专用网, 客户端 (出差人员) 可以连接到虚拟专用网, 并访问内网提供的 DNS 服务及 HTTP(www.lvjianzhao.com ) 服务(使用该域名访问, 内网中的 DNS 负责解析该域名), 为了简化环境, 所以集成到一台服务器上了.
(2)客户端连接到虚拟专用网后, 还可以使用 Internet 的 DNS 及 HTTP 服务, 模拟 www.baidu.com 网站服务, 并使用 Internet 上的服务器提供的 DNS 服务解析该域名.
(3)自行配置正确的路由器接口及各个服务器的 IP, 网关, 路由(服务器配置相应的网关, 路由器 R1 只需配置接口 IP 及一条默认路由指向 R2 路由器即可, R2 路由器除了接口 IP 以外什么都不要配置, 尤其是路由表, 否则可能测试不出来虚拟专用网的效果).
(4)客户端需要安装 Cisco 提供的客户端软件进行连接.
3, 配置前准备:
(1)下载 https://pan.baidu.com/s/1qyxwcGsfqV_eBvOmTaqrdA 客户端使用的软件, 并安装在客户端, 用来连接虚拟专用网.
(2)自行配置路由器接口 IP 地址及路由(这些基础配置命令就不展示了, 我之前的博文有写到过, 或者自行百度吧)..
(3)自行配置各个服务器及客户端的 IP 及网关.
(4)自行在相关服务器上搭建 HTTP 服务及 DNS 服务(这两个服务不是这篇博客想要介绍的, 我这里简单搭了一个, 我之前的博文有搭相关服务的, 可以自行查看).
4, 开始配置:
当所有基础配置 (接口 IP 地址, 路由, 网关) 配置完毕后, 即可进行以下虚拟专用网的配置.
(1)公司网关 R1 路由器配置如下:
- R1(config)#aaa new-model #启用 AAA
- # 以下是为远程访问虚拟专用网客户端进行认证及授权.
- # "test1-authen" 是自定义的认证名称,"local" 表示本地认证方式,
- # 也可以使用 "group radius", 路由器会转发给指定的 RADIUS 服务器进行验证,
- # 这里就使用 "local" 了, 方便.
- R1(config)#aaa authentication login test1-authen local #认证
- R1(config)#aaa authorization network test1-author local #授权
- # 以下是配置用于客户端连接的用户名及密码,"secret" 表示加密该密码.
- # 可以配置多个用户名和密码, 以供路由器与多组客户端进行身份验证.
- R1(config)#username lvjianzhao secret 2019.com
- # 以下是 "配置虚拟专用网阶段 1", 是指定管理连接的相关参数, 加密算法等.
- R1(config)#crypto isakmp policy 10
- R1(config-isakmp)#encryption 3des
- R1(config-isakmp)#hash sha
- R1(config-isakmp)#authentication pre-share
- R1(config-isakmp)#group 2
- R1(config-isakmp)#exit
- # 阶段 1 至此配置完毕.
- # 接下来 "配置阶段 1.5", 就是需要在管理连接后建立成功后, 推送给客户端的配置了.
- # 以下是配置一个地址池, 池中的地址是向客户端分发的,
- # 地址池的网段地址, 不可以和内网使用同一网段, 否则将会影响最终通信
- R1(config)#ip local pool test-pool 192.168.1.200 192.168.1.210
- # 以下是定义一个命名的 ACL, 这个 ACL 是推送给客户端使用的, 只有 ACL 允许的源地址是可以被客户端访问的.
- R1(config)#ip access-list extended fenli-acl
- # 这个 ACL 是允许 192.168.0.0 去往任何地址, 当推送到客户端时, 就会反过来.
- # 变成了允许任何 IP 地址访问 192.168.0.0. 因为这里的源地址是站在路由器的角度的.
- R1(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 any
- # 以下是创建用户组
- R1(config)#crypto isakmp client configuration group test-group
- R1(config-isakmp-group)#key pwd123 #用户组的密钥
- R1(config-isakmp-group)#pool test-pool #应用刚才创建的地址池
- R1(config-isakmp-group)#dns 192.168.0.1 #为客户端指定 DNS
- R1(config-isakmp-group)#acl fenli-acl #引用刚才创建的 ACL
- R1(config-isakmp-group)#split-dns lvjianzhao.com #指定需要分离出来的域名(内网的域名)
- R1(config-isakmp-group)#exit
- # 阶段 1.5 至此就配置完毕了.
- #"配置阶段 2, 也就是数据连接的相关配置"
- R1(config)#crypto ipsec transform-set test-set esp-3des esp-sha-hmac #配置传输集
- R1(cfg-crypto-trans)#exit
- R1(config)#crypto dynamic-map test-dymap 1 #创建动态 map,"1" 是序号, 用来定义优先级
- R1(config-crypto-map)#set transform-set test-set #在动态 crypto map 中定义 transform-set(传输集)
- R1(config-crypto-map)#exit
- # 以下是配置应用到静态 crypto map 中, 由于同一台网关设备还会存在和分公司的虚拟专用网静态 map,
- # 所以建议将这种方式的虚拟专用网配置的序号靠后一点, 优先匹配与分公司之间的虚拟专用网静态 map, 这里定义为 1000
- R1(config)#crypto map test-stamap 1000 ipsec-isakmp dynamic test-dymap #引用刚才创建的动态 map.
- # 以下配置是用于让客户端发起连接
- R1(config)#crypto map test-stamap client authentication list test1-authen
- R1(config)#crypto map test-stamap isakmp authorization list test1-author
- R1(config)#crypto map test-stamap client configuration address respond
- # 以下配置是应用到公司网关路由器的外网接口.
- R1(config)#int f1/0
- R1(config-if)#crypto map test-stamap
公司网关路由器上关于虚拟专用网的配置已经完成了, 现在使用客户端安装专用软件, 连接虚拟专用网, 并测试访问即可.
(2)客户端配置如下:
将我提供的压缩包解压后安装虚拟专用网的客户端软件:
还需要再次解压, 选择解压到哪里:
解压后, 会弹出下面的安装向导, 如下, 选择安装语言:
基本上就是无脑下一步了, 自己看吧!
选择安装路径:
等待安装完成即可!
安装完成后, 可以通过以下来找到 client 软件:
单击打开 client:
添加一个连接:
填写具体信息:
连接虚拟专用网:
弹出以下对话框后, 填写在网关设备上创建的用户及密码:
连接成功后, 可以查看我们客户端的网络适配器有什么变化.
使用客户端分别访问 www.lvjianzhao.com 及 www.baidu.com 即可验证公司内网及 Internet 上的 http 服务和 DNS 服务
至此, 效果实现, 客户端既可以访问公司内网的服务, 也可以访问 Internet 的服务, OK, 齐活.
来源: http://www.bubuko.com/infodetail-3163187.html