您现在正在浏览:首页 > 职教文章 > 职教论文 > 利用VPN技术实现远程网络互联

利用VPN技术实现远程网络互联

日期: 2015/4/4 浏览: 1 来源: 学海网收集整理 作者: 邗江中等专业学校 刘振海

摘要:针对跨越公网实现私网的访问难题,以锐捷网络为例提出了VPN的三种实现方法。
   关键词:VPN 锐捷 PPTP L2TP IPSec
   Abstract: As for the difficulty focusing on the connecting to the private network across the Internet, take rujie for example, three realizing ways has been put forward, which was concerned about VPN.
   Key words: VPN Ruijjie PPTP L2TP IPSec
  
   目前很多单位都面临着这样的问题,分公司、经销商、合作伙伴、客户和外地出差人员要求随时经过公用网访问公司的资源。VPN技术可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。VPN解决方案将大幅度地减少用户花费在城域网和远程网络连接上的费用。同时,这将简化网络的设计和管理,保护现有的网络投资。
   一、什么是VPN
   VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。 VPN的核心就是利用公共网络建立虚拟私有网,以达到网络私有的目的。它可以通过特殊的加密通讯协议在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。
   VPN技术是路由器具有的重要技术之一,VPN主要采用隧道技术实现,隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包,隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送,新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道,一旦到达网络终点,数据将被解包并转发到最终目的地。
   二、VPN的实现
   目前VPN一般可通过点对点隧道协议(PPTP)、第2层隧道协议(L2TP)和安全IP(IPSec)隧道模式等三种方式实现。其中PPTP 和L2TP 又称为VPDN,英文为Virtual Private Dial-up Networks,即虚拟专用拨号网,是VPN业务的一种,是基于拨号用户的虚拟专用拨号网业务。
   下面以锐捷网络为例,分别用PPTP、L2TP、IPSec等三种隧道技术实现VPN:
  
   1、点对点隧道协议(PPTP)
   网络需求:总公司提供拨号服务,外网用户可以通过PPTP拨号访问总公司资源。
   配置步骤:
   (1)RT1配置IP地址,NAT映射等,此处略。
   (2)RT1配置PPTP服务器
   步骤一:配置VPN 相关参数
   RT1#conf
   RT1 (config)#vpdn enable
   RT1 (config)#vpdn-group pptp ----创建一个VPDN 组,命名为pptp
   RT1(config-vpdn)#accept-dialin ----允许拨号
   RT1(config-vpdn-acc-in)#protocol pptp ----协议为pptp
   RT1(config-vpdn-acc-in)#virtual-template 1 ----引用虚模板1
   步骤二:配置用户和地址池
   RT1(config)#username test password 0 123456
   ----创建一个账户,用户名test,密码123456
   RT1(config)#ip local pool vpn 192.168.5.100 192.168.5.110
   ----创建vpn 拨入的地址池,命名为vpn,范围是192.168.5.100-110
   步骤三:配置虚拟模板
   RT1(config)#interface virtual-template 1 ----创建虚模板1
   RT1(config-if)#ppp authentication pap ----加密方式为PAP
   RT1(config-if)#ip unnumbered fastEthernet 0/0 ----关联内网接口
   RT1(config-if)#peer default ip address pool vpn ----引用地址范围
   RT1(config-if)#ip nat inside ----参与NAT
   2、第2层隧道协议(L2TP)
   网络需求:总公司提供拨号服务,分公司利用PPTP拨号和总公司建立VPN隧道,分公司和总公司实现资源互访(如192.168.1.0网段和192.168.3.0网段互访)。
   配置步骤:
   (1)RT1和RT2配置IP地址,NAT映射等,此处略。
   (2)RT1配置L2TP服务器
   步骤一:配置VPN 相关参数
   RT1 #conf
   RT1 (config)#vpdn enable
   RT1 (config)#vpdn-group l2tp ----创建一个VPDN 组,命名为l2tp
   RT1 (config-vpdn)#accept-dialin ----允许拨号
   RT1 (config-vpdn-acc-in)#protocol l2tp ----协议为l2tp
   RT1 (config-vpdn-acc-in)#virtual-template 1 ----引用虚模板1
   步骤二:配置用户
   RT1 (config)#username test password 0 123456
   ----创建一个账户,用户名test,密码123456
   步骤三:配置虚拟模板
   RT1 (config)#interface virtual-template 1 ----创建虚模板1
   RT1 (config-if)#ppp authentication chap ----加密方式为CHAP
   RT1 (config-if)#ip unnumbered fastEthernet 0/0 ----关联内网接口
   RT1 (config-if)#ip nat inside ----参与NAT
   步骤四:配置私网访问路由
   RT1 (config)#ip route 192.168.3.0 255.255.255.0 192.168.5.3
   (3)RT2配置L2TP客户端
   步骤一:配置VPN 相关参数
   RT2 (config)#l2tp-class l2tp ----创建拨号模板,命名为l2tp
   RT2 (config)#pseudowire-class vpn-l2tp ----创建虚线路,命名为vpn-l2tp
   RT2 (config-pw-class)#encapsulation l2tpv2 ----封装l2tpv2 协议
   RT2 (config-pw-class)#protocol l2tpv2 l2tp ----使用创建的拨号模板
   RT2 (config-pw-class)#ip local serial 3/0 ----关联路由器外网接口
   步骤二:创建虚拟拨号口
   RT2 (config)#interface virtual-ppp 1 ----创建虚拟ppp 接口
   RT2 (config-if)#pseudowire 200.1.1.1 encapsulation l2tpv2 pw-class vpn-l2tp
   ----L2TP 服务器路由器的地址
   RT2 (config-if)#ppp chap hostname test ---- chap认证用户名
   RT2 (config-if)# ppp chap password 0 test ---- chap认证密码
   RT2 (config-if)# ip mtu 1460 ----修改mtu
   RT2 (config-if)# ip address 192.168.5.3 ----IP 地址指定(也可与RT1的loopback口在同一网段)
   RT2 (config-if)# ip nat outside ----参与NAT
   步骤三:配置私网访问路由
   RT2 (config)#ip route 192.168.1.0 255.255.255.0 192.168.5.1
   3、安全IP(IPSec)隧道模式
   网络需求:总公司和分公司建立VPN隧道,加密保护192.168.1.0网段和192.168.3.0网段间的数据流,实现两网段互访。
   配置步骤:
   (1)RT1和RT2配置IP地址,NAT映射等,此处略。
   (2)RT1配置
   步骤一:配置访问控制列表,定义需要IPsec保护的数据
   RT1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
   步骤二:定义IPsec的变换集myset,使用ESP协议,DES加密算法
   RT1(config)#crypto ipsec transform-set myset esp-des
   步骤三:定义手工映射条目mymap
   RT1(config)#crypto map mymap 3 ipsec-manual
   RT1(config-crypto-map)#set peer 202.1.1.1 ----设置对端路由器地址
   RT1(config-crypto-map)#set session-key inbound esp 301 cipher abcdef1234567890
   ----设置进站esp安全参数索引和des密钥
   RT1(config-crypto-map)#set session-key outbound esp 300 cipher abcdef1234567890
   ----设置出站esp安全参数索引和des密钥
   RT1(config-crypto-map)#set transform-set myset ----应用之前定义的变换集
   RT1(config-crypto-map)#match address 101 ----匹配需要加密的数据流
   步骤四:在外网口上使用该加密映射条目
   RT1(config)#int serial2/0
   RT1(config-if)#crypto map mymap
   步骤五:加密数据流避免NAT(将控制列表110应用于NAT)
   路由器对数据包的处理流程是先NAT,然后才是IPSEC,所以要进行IPSEC封装的数据,必须要避开之前的NAT处理,方法就是对NAT转换的控制列表重新进行定义,再进行NAT转换。
   RT1(config)#access-list 110 deny ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
   RT1(config)#access-list 110 permit ip any any
   (3)RT2配置(对等体)
   步骤一:配置访问控制列表,定义需要IPsec保护的数据
   RT2(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
   步骤二:定义IPsec的变换集myset,使用ESP协议,DES加密算法
   RT2(config)#crypto ipsec transform-set myset esp-des
   步骤三:定义手工映射条目mymap
   RT2(config)#crypto map mymap 3 ipsec-manual
   RT2(config-crypto-map)#set peer 200.1.1.1 ----设置对端路由器地址
   RT2(config-crypto-map)#set session-key inbound esp 300 cipher abcdef1234567890
   ----设置进站esp安全参数索引和des密钥
   RT2(config-crypto-map)#set session-key outbound esp 301 cipher abcdef1234567890
   ----设置出站esp安全参数索引和des密钥
   RT2(config-crypto-map)#set transform-set myset ----应用之前定义的变换集
   RT2(config-crypto-map)#match address 101 ----匹配需要加密的数据流
   步骤四:在外网口上使用该加密映射条目
   RT2(config)#int serial3/0
   RT2(config-if)#crypto map mymap
   步骤五:加密数据流避免NAT(将控制列表110应用于NAT)
   RT2(config)#access-list 110 deny ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
   RT2(config)#access-list 110 permit ip any any
   三、结语
   本文只介绍了三种最基本的VPN实现方法,除此之外,还有GRE VPN、l2pt over ipsec、IKE IPSEC等等,有待更进一步去研究。
  
   作者简介:刘振海(1969-),男,汉族,河北省高阳县人,副教授,硕士,主要研究领域为计算机网络、嵌入式系统。

返回顶部