L2TP隧道剖析.docx
《L2TP隧道剖析.docx》由会员分享,可在线阅读,更多相关《L2TP隧道剖析.docx(33页珍藏版)》请在冰豆网上搜索。
L2TP隧道剖析
L2TP隧道(L2TPTunnel)是指在第二层隧道协议(L2TP)端点之间的逻辑链接:
LAC(L2TP接入聚合器)和LNS(L2TP网络服务器)。
当LNS是服务器时,LAC是隧道的发起人,它等待新的隧道。
一旦一个隧道被确立,在这个点之间的新通信将是双向的。
为了对网络有用,高层协议例如点对点协议(PPP)然后通过L2TP隧道。
今天刚好在学Juniper防火墙的时候,刚好学到L2TPVPN的配置,那么今天我们来看看使用Juniper防火墙来做L2TPVPN。
第一步:
点击:
Objects>IPPools我们添加一个IP地址池,这个地址池主要用来给我们通过L2TPVPN拨号进来的用户分配的内网的IP地址。
如上图:
IPPoolName就是给我们地址池起上一个名字,以便我们以后好调用。
StartIP:
我们地址池起始的IP地址
EndIP:
我们地址池结束的IP地址
输入好以后点击OK就行了。
当我们建立好之后,它自动会返回到我们一个地址池汇总的地方,在这里我们可以看见我们刚才建立的那一个地址池。
当我们地址池建立以后进入“Objects>Users>Local”里面去建立我们的用户。
如下图点击右上角的“New”来新建我们的用户。
如下图:
UserName:
输入用户名
Status:
Enable
UserPassword:
输入密码
ConfirmPassword:
输入确认密码
将L2TPUser选中,因为我们这个用户将用来给通过L2TP拨号进来的用户登录使用的。
按照上面图的步骤,我们再建立一个cisco用户名。
当我们建立好之后,就会看见如下图显示两个用户名。
当我们建立好用户以后,我们还要建立一个用户组,将我们的用户加入该组里面。
在GroupName后面输入我们的组名,我这里输入的是“aa”,而在我们“AvailableMembers”这里面显示的是我们刚才建立好的用户名,但是下图应该还有一个cisco用户才对。
而“GroupMembers”这里面就是我们的组成员,我们选中“AvailableMembers”下面的用户,点击“<<”这个按钮加入到左边的“GroupMembers”里面,这样在“GroupMembers”里面就会显示我们加入过来的成员了。
当我们设置好以后点击“OK”,返回到我们的"LocalGroups"页面,我们在下面就会看见我们刚才建立的“aa”组了。
还有组的类型,组成员这些。
下面进入缺省L2TP设置“VPNs>L2TP>DefaultSettings”里面,我们要修改的有几项,第一项“IPPoolName”在这里选择我们刚才建立的那个地址池“L2TP-Pool”,第二项就是“PPPAuthentication”这里我们使用“CHAP”来进行认证。
下面一个就是“DNS”其实这个设置与不设置效果一样。
只不过在后面我们给通过L2TP拨号上来的用户分配DNS而已。
当设置好以后点击“Apply”应用就行了。
下面我们要建立L2TP遂道。
我们可以从下图看见,默认情况下是没有的。
我们点击右上角的“New”来进行新建一个。
下图就是我们新建L2TP遂遂的一个例子。
我们来看看,下面应该如何来设置呢?
Name:
遂道的名称
AuthenticationServer:
Local认证我们使用本地认证。
我们这里没有配置AAA所以就使用本地人证。
DialupGroup:
LocalDialupGroup-aa这里就是我们刚才建立的那个拨号组,里面有两个用户test、cisco,用于我们拨号使用
OutgoingInterface:
untrust 我们出去通过那个接口,因为我这是一款低端的juniper防火墙,只有trust与untrust,因为我们外网接的是untrust,所以我就只能选择untrust。
其它默认就行,好了以后点击“OK”
而当我们建立成工以后,在“VPNs>L2TP>Tunnel”里面会显示我们刚才建立的条目。
下面我们来设置策略“Policy>Policis”在这下面有一个“From”后面选择“untrust”,“TO”后面选择“Trust”表示,我们现在要建立一条策略是从“Untrust”到“Trust”的,选择好以后点击后面的“New”来进行建立。
在这里面我们需要设置以下几项:
SourceAddress:
AddressBook:
Dial-UpVPN
DestinationAddress:
AddressBook:
Any
Service:
ANY
Action:
Tunnel
TunnelL2TP:
test_vpn 这里就是设置我们刚才建立的那个遂道名称
PositionatTop:
选择
其它默认设置,设置好以后,就点击“OK”
到此为止,我们Juniper防火墙上面的设置就已经完成了。
那么我们再来我们的PC上面如何来设置呢?
其实现在的建立很简单了。
就是建立一个VPN的拨号连接。
在我们的PC的桌面上,右击“网上邻居”选择“属性”。
在左边有一个“创建一个新的连接”
这时就会出现下面的一个“新建连接向导”的欢迎页面。
在这后面先择“连接到我的工作场所的网络”,我们也可以看见下面的说明“使用拨号或VPN”。
因为我们这里使用的是L2TPVPN。
下面这里我们选择“虚拟专用网络连接”因为我们要使用的是VPN,如果我们使用的是ISDN的话我们就选择上面的“拨号连接”,但是现在ISDN基本上都没有用过了。
下面就是给我们的这个连接起上一个名称。
我这里取的一个是“test”
下面这里就是填写我们“VPN服务器”的IP地址或者域名也行。
当我们把这些设置好了以后就会显示“正在完成新建连接向导”。
我们点击“完成”就可以了。
当我们在“网络连接”里面就会多一个“虚拟专用网络”下面有一个“test”的连接。
这表示我们这个VPN拨号已经建立成功了。
位是当我们建立好以后还不能直接拨号的,因为我们还要设置一些东西。
如下图,我们选择“高级(自定义设置)”以后,选择“设置”。
在“数据加密(D)”下面选择“可选加密(没有加密也可以连接)”,还有下面“允许这些协议”下面的“质询握手身份验证协议(CHAP)”,因为我们在Juniper防火墙上面的策略里面设置“PPP”的认证使用的是“CHAP”。
其它的保持不变。
在“网络”里面,“VPN类型”我们将它改成“L2TPIPSecVPN”因为我们这里使用的是“L2TPVPN”,所以这里我们直接选择这个就行了。
但是现在设置好以后还拨号不行。
对于我们XP来说,我们还需要修改一下注册表才行。
那么下面我们来看看注册表如何修改呢?
打开“运行”输入“regedit”来打开“注册表”。
打开“注册表”找到以下这个表项:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\RasMan\Parameters”,在右边新填一个“DOWN值”。
将这个“DOWN值”改名成“ProhibitIpSec”。
将其值修改成“1”
好了,重启一下计算机,然后我们就可以进行拨号了。
重启之后我们打开我们前面建立的那个“test(虚拟专用网络连接)”,输入我们前面建立的“用户名及密码”点击连接。
下图就是我们连接到服务器“在核对用户名和密码”
当我们拨号成功以后,在“通知区域”会显示一个“网络连接”。
当我们点击这个网络连接查看详情。
从上图我们可以看出来服务器的IP地址,服务器给我们分配的IP地址。
以及服务器类型,传输使用的是TCP/IP,身份验证使用的是MD5/CHAP。
其实上面这拨号这一步,很类似于我们的“PPPoE拨号”。
当我们获得服务器给我们分配的IP地址以后,我们就可以直接ping通我们Juniper防火墙内网的用户服了。
我们来看看ping通Juniper防火墙trust的IP地址,也就是我们内网的网关。
从上图我们可以看出来,能够正常访问我们的192.168.1.1。
注意这是拨号成功以后才能够正常访问,那么们现在将这个vpn拨号连接给断开看看能否再ping通呢?
从上图我们可以看见,当我们的vpn判断以后,是无法再次ping通我们Juniper内网的IP地址了。
好了,到此为止,我们的“L2TP”就已经配置完成了。
但是在这里要注意的是,这里跑的所有数据都没有经过加密的哦!
如果要进行加密的话,我们就是使用到“L2TPoverIPSecVPN”等那天空了,我再把这种的VPN再写一篇文章出来与大家分享分享。
本文出自51CTO.COM技术博客