3G在H3C设备上的实现.docx
《3G在H3C设备上的实现.docx》由会员分享,可在线阅读,更多相关《3G在H3C设备上的实现.docx(21页珍藏版)》请在冰豆网上搜索。
3G在H3C设备上的实现
摘要
本文主要是讲解的是如何看待3G、如何通过3G看待我们身边的一些常见链路、如何使用3G访问不同的MPLSVPN。
介绍
由于3G技术的广泛使用,H3C公司作为全球网络通信领域的领先厂家在支持无线3G通信方面也是走在了前列。
目前支持完备的3G通信功能,包括支持WCDMA、CDMA2000和TD-SCDMA三种制式,支持的接口形态和设备型号也非常丰富。
1.运营商提供的3G拨号软件界面
APN:
访问接入点,不同的名称代表不同的服务,常用访问公网的名称为3Gnet,如果运营商给你提供是VPDN服务,那么该名称就为相应的其他名称,例如该处的VPDN服务名称为vpdn.bjapn。
至于VPDN帐号有2种:
一种是运营商给你分配,例如上面的sic4@.如果想自己分配帐号,也可以,但至少域名必须是运营商指定的,例如上面的@.;另外一种是自己分配相应的帐号和域名,但是有特殊的组网前提,大致说来为2次拨号,第一次拨号也必须使用运营商指定的域名,第二次拨号的使用的帐号和域名就由自己来任意设定(详细说明见下文7.3)。
2.如何看待3G
3G封装的是PPP报文,且3G只是众多承载PPP报文的物理层的一种,因此从运用上讲,就像PPP0E一样,因此我们可以把3G成为“PPPO3G”。
3.谁可以触发L2TP拨号
我们常见的触发L2TP拨号都是PPPOE,其实3G、serial、cpos、E1等都可以,因为他们都是封装的PPP报文,触发LAC设备拨号的前提条件就是对PPP进行认证,认证
通过就可以触发L2TP拨号。
注:
所谓的认证通过是相对概念,如何通过关键要看对应的域里面是如何要求
例如在输入domainsystem后在里面有如下几条命令:
[H3C-isp-system]authenticationppp?
localSpecifylocalscheme//必须有详细的账户和密码及服务类型才能算认证通过。
noneSpecifynonescheme//无需有帐号即可就算认证通过
radius-schemeSpecifyRADIUSscheme//使用该命令则需在相应的radius设备上有详细的该账户信息才能算认证通过
例如PPPOE:
在LAC的VT0口上配置pppauthentication-modepap/chap后,一旦认证成功就会触发L2TP拨号(L2TP配置省略)如下图所示:
例如serial口(L2TP配置省略)在一端配置帐号和密码,在LAC这一段serial口上配置pppauthentication-modepap/chap后,也可以触发L2TP拨号,如下图所示:
我们关注这些链路的另外一个目的就是:
既然我们身边有这么多具有链路层是PPP封装的物理层,那么有一天说不定它可以帮助你实现建立2层VPN的梦:
通过与之互联的LAC设备的配合,也可以实现“不需要特殊软件版本支持,也无需人工参与,L2TP自动拨号”如下图所示:
4.3G硬件安装注意事项
如下图所示:
我司设备支持3G有2种形式,一种是3Gusbmodem、一种是3Gsic卡modem。
如上图所示。
注意:
设备对3G的支持是除了确定版本以外,还要确定接口对应的槽号,下面给出我司设备sic槽位支持情况如下:
SIC
机型
Slot1
Slot2
Slot3
Slot4
MSR20-20
√
√
MSR20-21
√
√
MSR20-40
⨯
√
⨯
√
MSR30-20
⨯
√
⨯
√
MSR30-40
⨯
√
⨯
√
MSR30-60
⨯
√
⨯
√
MSR30-10
⨯
√
MSR30-11
⨯
√
MSR30-11E
⨯
√
MSR30-11F
⨯
√
MSR30-16
⨯
√
⨯
√
MSR50-40
⨯
√
⨯
√
MSR50-60
⨯
√
⨯
√
MSR20-10
√
MSR20-11
√
MSR20-12
√
MSR20-13
√
MSR20-15
√
ICG2200
⨯
√
特别要关注设备的槽号,不是任何一款设备的任意SIC槽位或者USB接口都支持3G.
注:
目前还没有一个所有设备USB接口支持情况的统计,详细的请咨询二线为准,此处列举的目的就是想让你重视这一个问题。
5.3G访问企业网的常见组网方式
5.1普通APN组网
所谓的普通APN组网就是3G开通访问公网能力,获得公网地址后,通过自己的公网地址与企业出口的公网地址建立VPN的方式,达到访问企业内部网络的目的。
组网图如下:
5.2VPDN组网
由于3G本身是封装的PPP协议,因此我们暂且可以把这种运用叫“pppo3g”,所谓的VPDN组网就是把3G本身封装的PPP报文通过运营商自己建立的LAC设备转交到客户自己建立的LNS设备上,因此通过这种方式可以建立VPN。
6.一次3G测试碰到的问题
问题现象:
如上图所示以分支1里面的源地址的报文去访问私网2里面的地址,都无法正常的返回,除非以私网1里面的3G接口地址。
定位过程:
才开始以自己的PC机作为分支1内网设备去访问总部,无法正常访问,检查分支MSR5040发现OSPF邻居能够建立,在2端也能够看到对方私网里面的路由,可就是不能以分支1(3G接口除外)里面的源地址去访问总部,在MSR5040上PING总部有正常,开始怀疑自己某个地方配置错误所致,反复检查配置,无果。
突然想起为什么OSPF能正常?
在MSR5040上PING总部能够正常?
难道说与源地址有关,分别通过带不同的源地址PING测试后,验证了自己的想法,既然是这样,于是尝试性的建立GRE通道(通道的源为3G的接口地址),GRE能够解决该问题,于是又在3G接口做NAT转换,也能解决问题。
事后发现这次测试联通提供的3G链路有点怪,PPP地址协商的时候,正常情况下应该在路由表里面有2个DIRECT路由表,一个是自己的,一个是对端的,但是这次无论怎么协商都只有自己的地址,没有对端的。
(这次最大的遗憾是无法与联通的技术人员沟通,为什么会出现这样的问题)。
解决办法:
既然只能使用3G接口的地址,那么我们可以建立GRE通道,或者做NAT转换,因为经过这2种方式处理后从分支MSR5040发出的报文的源地址都是3G接口的地址。
7.如何通过3G访问不同的mplsVPN。
上次到国家信息中心去测试,客户提出一种需求,那就是希望不同MPLSVPN的客户通过自己的3G网卡能够访问到自己所属的MPLSVPN及公网,且访问公网时就不能访问自己部门的MPLSVPN、访问自己部门MPLSVPN的时候就不能访问公网。
这种需求大大超出了我们测试方案的准备,毕竟最初的测试方案上只是提及移动客户通过3G拨号到企业网。
且客户的3G网络是VPDN网络,该3G网络结构与我前期所认为的普通的apn网络还不一样,在该需求下还要分别考虑设备使用3G和PC使用3G的情况。
思路大致为LNS设备上为L2TP多实例加上VT口与VPN绑定的配置方式。
对于设备插3G:
由于设备插3G不存在访问不同的VPN情况,因此它只是当一个P设备或者PE,通过互联地址透传所有的VPN数据,所以无论哪种方案都与该设备插3G无关,下面着重讲解PC插3G的情况。
7.1方案一使用相同用户名带不同的域名
例如:
域名
V---------→电子政务网
V--------→internet
V------→部门VPN
用户:
Sic1
如果用户想要访问电子政务网则使用sic1@的用户名拨号
如果用户想要访问internet则使用的用户名拨号。
如果用户想要访问部门VPN则使用的用户名拨号。
在MPLS里面找一台PE或者是MCE做LNS,假设客户有3个VPN,则在LNS上建立对应的3个VT口,每个VT与一个VPN相绑定,然后建立对应的3个l2tp-group组,每个l2tp-group下面的VT口与VPN域名相对应。
这样无论是什么VPN用户,只要在3G拨号时在账户里面带上自己的域名信息(如下图所示)就可触发LAC设备上相应的l2tp-group去拨号,在LNS端,根据域名把该用户与相应的VPN绑定,这样就可以访问自己所属的VPN。
小结:
该方式客户只需用运营商提供的3G拨号软件进行一次拨号就可以达到访问不同的VPN网络的目的。
7.2方案二不同的用户名带相同的域名
域名:
V
用户名
Sic1---------→电子政务网
Sic2--------→internet
Sic3------→部门VPN
如果用户想要访问电子政务网则使用sic1@的用户名拨号
如果用户想要访问internet则使用的用户名拨号。
如果用户想要访问部门VPN则使用的用户名拨号。
既然客户不愿意自己以后每使用一个域名,就去给运营商交涉,那么我们都统统使用运营商给定的域名(例如V),为了区分客户想要访问不同的VPN,关键点就需要根据不同账户分配不同的IP地址,然后根据IP地址来做策略。
该配置分2种情况;一种如果LNS是PE设备的情况,可按照多角色主机策略路由的方式配置。
我们可以把策略路由和多角色主机功能都直接做在上面,另外一种如果LNS设备是CE的情况,没有VPN的配置,它只根据不同的VPN用户分配不同的网段地址,然后在与它互联的上层PE上配置策略路由,把不同的网段地址策略到相应的VPN里面去。
LNS设备为CE的配置大致如下:
对于LNS设备为PE的配置大致如下:
如上图在VT口里面直接配置策略路由,该策略路由的功能是把不同IP地址网段的数据
策略到不同的VPN里面去。
小结:
以上方式客户只需用运营商提供的3G拨号软件进行一次拨号就可以达到访问不同的VPN网络的目的。
注意事项:
(1)如果该PE设备为MSR5040,则VPN用户是无法访问该PE设备的上的相关VPN地址,但是可以访问该设备VPN的外部地址。
(2)如果该PE设备是SR6602,则无法使用模糊的回程反向路由返回到自己的VPN。
7.2.1LNS设备为PE的配置示例(该处只给出关键配置)
#配置的策略路由,目的就是把从3G口上来的不同的源地址网段的用户策略到不同的vpn里面去
//配置策略路由,使不同的VPN用户到自己所属的VPN里面去查找路由
policy-based-routevpnpermitnode1
if-matchacl(VPN1用户的源地址)
applyaccess-vpnvpn-instancevpn1
policy-based-routevpnpermitnode2
if-matchacl(VPN2用户的源地址)
applyaccess-vpnvpn-instancevpn2
policy-based-routevpnpermitnode3
if-matchacl(VPN3用户的源地址)
applyaccess-vpnvpn-instancevpn3
l2tp-group0
undotunnelauthentication
allowl2tpvirtual-template0
#建立3G所使用的虚接口,在里面运用上面所使用策略路由。
interfaceVirtual-Template0
pppauthentication-modechap
remoteaddresspool1
ipaddress140.1.1.1255.255.255.0
ippolicy-based-routevpn
#建立回程的静态路由
iproute-staticvpn-instancevpn1X.X.X.X(vpn1网段)255.255.255.0Virtual-Template0
iproute-staticvpn-instancevpn2X.X.X.X(vpn2网段)255.255.255.0Virtual-Template0
iproute-staticvpn-instancevpn3X.X.X.X(vpn3网段)255.255.255.0Virtual-Template0
bgp1
ipv4-familyvpn-instancevpn1
import-routestatic
//把我们上面的建立的回程路由发布出去,使数据在远端的设备上能够找到回程路由。
ipv4-familyvpn-instancevpn2
import-routestatic
//把我们上面的建立的回程路由导入到bgp里面,使数据在远端的设备上能够找到回程路由。
ipv4-familyvpn-instancevpn2
import-routestatic
//把我们上面的建立的回程路由导入到bgp里面,使数据在远端的设备上能够找到回程路由。
7.3方案三,2次拨号
同一个用户对同一台LNS设备多次拨号来达到到访问不同的VPN。
如下图(示例假设VPN1,VPN2,VPN3)。
第一次使用运营商提供的3G拨号软件对LNS拨号一次,第二次使用我司提供的inode软件再拨号一次。
(毕竟实验室没有3G,大家要做测试的话,可以用PPPOE来模拟3G拨号,成功后就可用INODE软件来模拟L2TP进行第二次次拨号)
(1)第一次拨号到VT0口,给该用户的分配的IP不能够路由即访问不到其他地方,它的作用就只有一个:
为第二次拨号到其他VPN做跳板。
数据经过两次封装。
好处就是:
没有域名限制的烦恼。
第一次拨号的域名只能是由运营商提供的以外,但第二次拨号的域名可以由用户自己设置,与运营商无关,且可以通过INODE软件轻松实现数据IPSEC加密。
不好的就是:
数据要两次封装,客户PC机上要单独再装INODE软件。
(2)对于以上的方案优化:
假设客户VPN1是internet网,客户平时上该网的时间最多,因此把第一次拨号的入口直接与VPN1绑定,有特殊需要客户才去使用INODE拨号其他VPN,这样简化了客户平均拨号的次数。
下面以PE设备为LNS,按照优化方案给出2次拨号的关键配置示例
l2tpenable//使能l2tp
l2tpmoreexamenable//使能多实例
radiusschemeimc
primaryauthentication192.168.207.10
primaryaccounting192.168.207.10
keyauthenticationimc
keyaccountingimc
//使用我司的imc给认证的客户授权和分配固定的IP地址。
domain//模拟internet网,该入口是第一次拨号的入口,那么该域名必须是运营商所给定的域名,除此以外其他域名客户自己任意设置。
authenticationpppradius-schemeimc
authorizationpppradius-schemeimc
accountingpppradius-schemeimc
domain//模拟电子政务网
authenticationpppradius-schemeimc
authorizationpppradius-schemeimc
accountingpppradius-schemeimc
domain//模拟XX网
authenticationpppradius-schemeimc
authorizationpppradius-schemeimc
accountingpppradius-schemeimc
interfaceVirtual-Template0
pppauthentication-modechapdomain//该入口是第一次拨号的入口,那么该域名必须是运营商所给定的域名。
ipbindingvpn-instancevpn1//访问internet的入口
ipaddress150.1.1.1255.255.255.0
#
interfaceVirtual-Template1
pppauthentication-modechapdomain
ipbindingvpn-instancevpn2//访问电子政务的入口
ipaddress160.1.1.1255.255.255.0
#
interfaceVirtual-Template2
pppauthentication-modechapdomain
ipbindingvpn-instance//访问XXVPN的入口
ipaddress5.5.5.5255.255.255.0
l2tp-group1
undotunnelauthentication
allowl2tpvirtual-template0remoteXXdomain
//该模板是用于3G的第一次拨号,那么这里的XX、都必须是指定运营商指定。
l2tp-group2
undotunnelauthentication
allowl2tpvirtual-template1remoteLACdomain
l2tp-group3
undotunnelauthentication
allowl2tpvirtual-template2remoteLACdomain
(3)INODE拨号效果模拟图
小结:
以上方式客户需拨号2次,第一次拨号使用运营商提供的3G拨号软件,第二次使用我司的inode软件拨号就可以达到访问不同的VPN网络的目的。
8.如何进行IPSEC加密
8.1INDODE上L2TP与IPSEC的关系
Inode上l2tp是overipsec.
8.2哪些需要加密
如下图所示;
由于与LNS设备互通的既有移动客户端,又有包含很多私网路由的3G网络设备,因此为了对这些数据都进行保护,就必须区别对待;
(1)对于移动客户端来讲它没有什么私网路由,所以可以在LNS设备出口上配置IPSEC模板,通过模板协商出所有需要保护的移动客户端,而3G网络设备传递的数据在该接口上无需被IPSEC处理,正常转发。
(2)对于3G网络设备则是通过IPSECOVERGRE的方式,通过3G网络设备与LNS设备建立GRE通道,让所有与私网互访的数据走GRE通道,并且可以运行动态路由信息,传递分支路由,IPSEC由于是建立在GRE通道上的,所以ACL匹配的时候可以是PERMITIPALL.
(3)对于3G网络设备还可以配置IPSEC隧道模式,该模式同样可以运行动态路由协议。
9.如何对L2TP进行MP绑定
需求:
客户需要对部分分支的PPP链路(例如3G接口,serialcpos等待)绑定,以此来提高带宽,因此LNS端的对应ppp也需要相应的处理
(次odeius-scheme例如在client端任意配置都可,该处是配置与VT口绑定的方式;关键点是在与LNS设备的这一头必须用账户绑定MP的方式即pppmpuserh3c@bindVirtual-Template1,且配置mandatory-lcp(原因就是LCP阶段告诉对方我要进行MP绑定,拨号端是与LAC设备进行LCP协商,并没有与LNS设备协商,所以要配置该命令,让LNS端与拨号端俩再次重新协商),否则无法成功。
这样可以让LNS端需要绑定的VT口进行了绑定,同时不需要绑定的也不相互影响通信。
10.MPLS里面不同VPN用户之间如何互访?
(前面是讲的网络之外的用户如何其访问自己所属VPN,而这个只是简单的翻版,讲的一个VPN怎样去访问另外的VPN)
需求:
如果VPN1里面的部分用户需要访问VPN2的业务,有没有一种不需要用MPLS技术或者添加什么策略路由等等就能够实现的方式,有,如下图:
请使用L2TP方式;
在MPLS网络选择一台PE或者是MCE配置成LNS设备即可,相应的VT口与相应的VPN绑定,想要访问其他VPN的客户首先通过L2TP拨号,只要你有该权限,你就可以访问任何你想要访问的VPN。
10.1配置示例
1组网需求:
2张VPN网络,正常情况下互相不能访问。
现要求VPN1网络里面的一台PC能够访问VPN2网络。
配置步骤:
(1)配置MPLS的基本能力(配置省略)
(2)配置LNS设备(随便选取一台PE作为LNS设备,该处选取PE1)
l2tpenable
//使能L2TP
domain
authenticationppplocal
authorizationppplocal
accountingppplocal
//建立VPN1用户拨号的域名,否则使用默认域
local-userh3c
service-typeppp
passwordsimpleh3c
//建立拨号使用的帐号
l2tp-group1
undotunnelauthentication
allowl2tpvirtual-template0
#
interfaceVirtual-Template0
pppauthentication-modechap
remoteaddress6.6.6.2
ipbindingvpn-instancevpn2
//注意,该处绑定的是VPN2,即拨号成功就把该用户绑定到VPN2.
ipaddress6.6.6.1255.255.255.0
interfaceLoopBack1
ipbindingvpn-instancevpn1
//该处的地址很关键,表示用于接收VPN1网络里面的用户L2TP拨号。
ipaddress4.4.4.4255.255.255.255
(3)在PC机上使用INODE建立L2TP拨号
注意事项:
该用法与具体的设备有关,此处是用SR6602Version5.20,Release2420P03做LNS.
11.总结
PPPOVER什么都不重要,重要的是它能传递PPP。
PPP