zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

华为L2TP NAS initial 配置详解以及安全策略的原理

配置华为原理 详解 以及 NAS 安全策略 initial
2023-09-14 09:06:46 时间

基本互联就不说了!!!,安全策略在尾部讲解

一、NAS与客户端的配置

(1)NAS PPPoe服务的提供

首先完成左边部分的NAS的PPPoe的服务提供,所以我们需要创建一个VT接口,并配置认证方式是chap还是pap

inter Virtual-Template 10 //创建虚拟模板

ppp auth chap //设置认证方式

创建完虚拟模板后,将该模板绑定到相应的端口

[NAS-GigabitEthernet1/0/1]pppoe-server  bind  virtual-template  10 

上述两步便完成了NAS端的PPPoe服务的提供

 创建并绑定完VT接口后,我们还需要创建用于验证的用户:

如果是防火墙:

user-manager user xxx  //创建用户xxx

password xxx //设置用户的密码

对于防火墙我觉得在web界面进行配置也未尝不可,而且还可以导入用户,在模拟器中的命令行界面中我只能创建default域的用户,在web界面可以创建其他域的用户,每个域都可以设置它们的service-type,default默认的service-type 是所有的都可以,如下图所示:

 其中internetaccess代表带可以用于网络接入,ssl-vpn就是用于sslvpn,还有用于l2tp,以及IPsec。所以我们使用本地认证的时候就直接创建用户即可,不用指明用户所属的域,默认创建的用户属于default域,所以default域中的用户默认就是可以用于l2tp的。

(2)客户端PPPoe的拨号配置

创建完模板之后,输入dialer-rule
进入拨号规则视图,输入dialer-rule 1 ip permit //表示当有ip流量经过的时候触发pppoe会话

接入方也需要创建模板,但是是拨号模板
inter dialer 1
link-protocol ppp
//将封装协议改为ppp
dialer user xxx //该user名随意,主要起区分流量的作用
dialer-group 1 //将拨号模板加入到一个一个组当中,该组的组号一定要和之前制定的dialer-rule的编号相同
dialer bundle 1 //创建一个拨号模板的标识,后面的编号和前面拨号组的编号相同
ppp chap user xxx
ppp chap password xxx //这一块的设置与普通的ppp配置相同,设置用户和密码,用作
ppp的认证
ip address ppp-negotiate //配置ip地址的获取是通过对端
最后将拨号模板绑定到某个端口上,作为拨号端口
inter g0/0/0
 pppoe-client dial-bundle-number  1

(3)NAS 的l2tp的配置

l2tp enable //开启l2tp的功能

l2tp-group 1 //创建l2tp的组,其主要功能就是区分不同用户,不同的用户使用不同的组,不同的组意味着不同的L2TP的隧道

start l2tp ip 1.1.1.2 domain default/fullusername  xxx //表示该l2tp组对应的LNS的IP地址是多少,如果使用的是domain xxx那么意思就是标识使用该组的用户属于哪个域,如果是fullusername,那么就是仅仅限制指定用户名的用户去使用该组

tunnel authen //表示开启隧道认证

tunnel password  xxx //设置隧道的密码

tunnel name xxx //用户后续与LNS进行隧道连接,LNS会对L2TP组使用字符串进行标识,只有隧道名字匹配才能进行隧道建立

tunnel timer hello xxx /隧道通过发送Hello报文保活,其实就是PPP的链路保活

二、LNS的配置

(1)零碎配置

ip pool xxx //创建地址池用于后续PPP协商成功后进行地址的分配,地址池最好不要和私网地址同网段,因为这样的话私网主机回包的时候会认为目的主机在同网段,这个时候还要去配置接口的arp代理功能

section xxx xxx //设置地址池的地址范围,可以不设置网关,因为设置了也没有使用的,后面的客户端只要有流量全部都往拨号接口发送。

aaa //进入aaa视图

aaa视图下:service-scheme xxx //创建业务方案,因为在防火墙中的VT接口无法直接指定地址池,只能指定service-scheme,所以我们需要先创建service-scheme,然后将地址池与其绑定,然后再由VT接口根据service-scheme中的地址池进行地址的分发。

interface Virtual-Template 10 //创建VT接口,主要用于PPP相关功能的提供

IP address xxxx //随便配置一个地址就行

ppp auth chap/pap //可以不配置认证模式,如果要进行二次验证的话,就需要配置该命令

remote servcie-scheme xxx //将service-scheme与VT接口进行绑定

(2)L2TP配置

l2tp enable  //开启l2tp功能

l2tp-group 1 //创建l2tp组

allow l2tp virtual-template 10 remote xxx domain xxx //创建来2tp功能模块与VT接口之间的联动,同时指定该接口对外开放的标识为xxx,以及该l2tp组允许哪个域内的用户使用

tunnel authe //开启tunnel验证

tunnel password xxx //设置隧道的密码

tunnel timer hello xxx //设置隧道的hello报文发送时间

  1. 可选:配置二次认证。

    在NAS-Initiated场景中,用户身份认证有两种方案,一种是仅使用NAS对用户做身份认证,另一种是NAS和LNS分别对用户做身份认证(也叫二次认证)。认证方案的选择由LNS侧的配置控制。

    • 代理认证

      表示仅使用NAS进行用户认证,LNS不对用户再进行二次身份认证。这种方式下,LNS侧的VT接口下不用配置用户认证方式。

    • 强制CHAP认证

      表示NAS认证完用户身份以后,LNS要求用户使用CHAP方式重新进行身份认证,该方式属于二次身份认证。如果使用强制CHAP认证时,VT接口下的认证方式也要配置CHAP方式。

    • LCP重协商

      表示LNS不信任NAS的认证结果,要求用户重新与LNS进行LCP协商并进行身份认证,该方式属于二次身份认证。

      如果使用LCP重协商时,VT接口下也要配置与拨号用户侧相同的认证方式。

    LNS侧默认使用的是代理认证方式,即不对用户做二次认证。

 

(3)用户创建

user-manager user xxx //创建用户

用户视图下:password xxx //设置密码

 用户这样创建后默认的域还是default,所以适用于L2TP,可以看上面,这里不做解释

安全策略

表1 NAS和LNS的安全策略匹配条件
业务方向设备源安全区域目的安全区域源地址目的地址应用
拨号用户访问企业内网NASLocalUntrust1.1.1.1/322.2.2.2/32L2TP
LNSUntrustLocal1.1.1.1/322.2.2.2/32L2TP
DMZTrust172.16.1.2/24~172.16.1.100/24(地址池地址)192.168.1.0/24*
企业总部服务器访问拨号用户LNSTrustDMZ192.168.1.0/24172.16.1.2/24~172.16.1.100/24(地址池地址)*

 这是华为产品文档给出的安全策略,下面给出原因:

1、NAS为什么只有一个安全策略

前提:在华为产品文档给出的例子中,它们的VT接口全部都是加入到DMZ区域中的

首先对于NAS的客户端侧来说,它接收的报文只有PPPoe报文,对于这些PPPoe报文发送到防火墙后就直接被VT接口处理,连路由的那一步都没有达到,所以更不要说对这些报文进行安全策略的匹配了,所以对于这些PPPoe报文,不需要进行安全策略的放行,至于数据的回包,我是这么思考的,数据回包到达NAS后将其交给l2tp功能模块处理,然后l2tp功能将隧道解封,然后交给VT接口,VT接口从与其绑定的接口将数据包发出,这个过程其实是当数据包交给VT接口处理后,该报文的源区域就变为DMZ了,然后再从VT接口所在的DMZ区域发出,因为是在同区域所以就没有限制。然后就是上图给出的local到untrust区域的放行策略,它主要是提供给隧道ID协商报文,会话协商报文,以及后续的数据报文的发送使用,首先是隧道ID协商报文和会话协商报文,它们是L2TP功能模块自身发出的,所以放行的是local到untrust,而对于数据报文,它会先传送到VT接口,然后VT接口将原生数据打上PPP的相关头部后转送给L2TP功能模块,于是数据报文其实本质上也是local到untrust。

2、NAS为什么不用放行untrust到local

因为在隧道协商和会话协商中,都是由NAS主导的,所以防火墙内部有会话表,所以不用放行。

3、LNS的策略解释

首先untrust-->local这个我相信大家都懂就不细说了,就是放行l2tp相关的协商报文。然后就是DMZ到trust区域,因为客户端的数据到达LNS后,会先交给l2tp功能模块将相关的隧道进行解封,然后l2tp功能模块将其交给VT接口处理,DMZ区域的VT接口将PPP的相关头部解除后,将其发送给处在trust区域的接口,所以我们需要DMZ--->Trust区域的安全策略。对于Trust-->DMZ的安全策略是用于内部主机的主动发包的,内部私网主机如果想要主动与L2TP隧道连接主机进行通信就需要用到这个安全策略,私网主机从trust区域将数据包发送给防火墙,然后防火墙将其交给VT接口,因为所有分配出去的用于隧道连接的地址都有相应的unr路由,如果目的地址为分配出去的地址的话,下一跳就是VT接口,因为私网主机是trust区域的,而下一跳时DMZ区域,所以要放行trust-->DMZ

参考文档:

HUAWEI USG6000E 产品文档

华为防火墙技术漫谈