一. 需求

图3-11 L2TP配置实例
在本方案中,某公司总部在上海。在北京有一个分公司希望可以实现两地局域网内部资源的相互访问。该公司还有一些出差和远程办公的移动用户希望在远程访问总公司局域网内部资源。
本方案使用L2TP协议建立VPN隧道,如图3-11所示,在上海公司总部使用HiPER VPN安全网关作为L2TP 服务器;在北京使用HiPER VPN安全网关作为L2TP客户端,拨号类型为按需拨号,空闲时间为3600秒;移动用户使用Windows 2000内置的L2TP客户端软件。地址如下:
上海的HiPER:
局域网IP地址:192.168.123.0/255.255.255.0
HiPER的LAN口IP地址:192.168.123.1/255.255.255.0
HiPER的WAN口IP地址:202.101.35.218/255.255.255.0
北京的HiPER
局域网IP地址:192.168.16.0/255.255.255.0
HiPER的LAN口IP地址:192.168.16.1/255.255.255.0
移动用户:
使用Windows 2000通过L2TP拨号完成隧道连接。
二. 分析
上海和北京的HiPER,都需要进行相关的全局配置:配置系统启用L2TP协议,配置工作模式分别为LNS和LAC,配置相关的NAT静态映射。此外,对于上海的HiPER来说,还需配置L2TP VPN地址池。
三. 配置步骤
1. 配置上海的HiPER作为L2TP服务器
a. 全局配置
!配置系统启用L2TP协议
set ip vpn tunnelmode l2tp
!配置系统工作在LNS模式下
set ip vpn l2tpmode LNS
!配置L2TP VPN地址池,起始IP地址为10.10.10.10,数目为50
set ip pool pooL1start 10.10.10.10
set ip pool pooL1count 50
!保存配置
write
b. 配置UDP 1701端口的NAT静态映射
!新建一条NAT映射,名字为l2tp-map
new ip nat static/l2tp-map
! 协议为UDP
set ip nat static/l2tp-map protocol udp
! 内部端口和外部端口均为1701
set ip nat static/l2tp-map dstport 1701
set ip nat static/l2tp-map localport 1701
!内部地址为HiPER的LAN口地址
set ip nat static/l2tp-map localaddress 192.168.123.1
! 绑定到主线路上,本例中主线路NAT规则名为ETHbind
set ip nat static/l2tp-map binding ETHbind
! 设置端口1701在NAT前后保持不变
set ip nat static/l2tp-map autolocalIP yes
!保存配置
write
c. 为北京的HiPER创建L2TP拨入帐号
! 新建一个L2TP服务器连接实例,实例名为vpn_bj,此名称同时也将作为北京的HiPER的PPP验证用户名使用
new connection/vpn_bj
! 配置PPP验证方式为PAP
set connection/vpn_bj encaps send authtype PAP
!配置PPP验证密码为vpntest
set connection/vpn_bj encaps recv pw vpntest
!配置远端内网IP地址和子网掩码
set connection/vpn_bj ip address remoteip 192.168.16.1
set connection/vpn_bj ip address remotemask 255.255.255.0
!保存配置
write
d. 为移动用户创建L2TP拨入帐号
!新建一个L2TP服务器连接实例,实例名为vpn_mobile,此名称同时也将作为移动用户的PPP验证用户名使用
new connection/vpn_mobile
! 配置PPP验证方式为PAP、密码为vpntest
set connection/vpn_mobile encaps send authtype PAP
set connection/vpn_mobile encaps recv pw vpntest
!配置远端内网IP地址和子网掩码
set connection/vpn_mobile ip address remoteip 192.168.210.1
set connection/vpn_mobile ip address remotemask 255.255.255.255
!保存配置
write
2. 配置北京的HiPER作为L2TP客户端
a. 全局配置
!配置系统启用L2TP协议
set ip vpn tunnelmode l2tp
!配置系统工作在LAC模式下
set ip vpn l2tpmode LAC
!保存配置
write
b. 配置UDP 1701端口的NAT静态映射
!新建一条NAT映射,名字为l2tp-map
new ip nat static/l2tp-map
! 协议为UDP
set ip nat static/l2tp-map protocol udp
! 内部端口和外部端口均为1701
set ip nat static/l2tp-map dstport 1701
set ip nat static/l2tp-map localport 1701
!内部地址为HiPER的LAN口地址
set ip nat static/l2tp-map localaddress 192.168.16.1
! 绑定到主线路上,本例中主线路NAT规则名为ETHbind
set ip nat static/l2tp-map binding ETHbind
! 设置端口1701在NAT前后保持不变
set ip nat static/l2tp-map autolocalIP yes
!保存配置
write
c. 配置L2TP客户端连接实例
!新建一个L2TP客户端连接,实例名为vpn_sh
new connection/vpn_sh
!配置首拨号码(为任意值)
set connection/vpn_sh dial first 001
! 配置PPP验证方式为PAP、用户名为vpn_bj、密码为vpntest
set connection/vpn_sh encaps send authtype PAP
set connection/vpn_sh encaps send name vpn_bj
set connection/vpn_sh encaps send pw vpntest
! 启用L2TP客户端功能
set connection/vpn_sh tunnel type client
! 配置第二层隧道协商的协议类型为L2TP
set connection/vpn_sh tunnel protocol l2tp
!配置隧道服务器地址为202.101.35.218
set connection/vpn_sh tunnel serveraddress 202.101.35.218
!配置远端内网IP地址和子网掩码
set connection/vpn_bj ip address remoteip 192.168.123.1
set connection/vpn_bj ip address remotemask 255.255.255.0
!设置拨号类型为按需拨号
set connection/vpn_bj line calltype Switched
set connection/vpn_bj line dialoutspoof yes
!设置空闲时间为3600秒
set connection/vpn_bj dial idletimeout 3600
!保存配置
write
3. 配置Windows 2000作为L2TP客户端
按照以下步骤配置Windows 2000计算机,使其成为L2TP客户端。
a. 配置L2TP拨号连接
1) 进入Windows 2000的“开始”à“设置”à“网络与拨号连接”à“新建连接”。
2) 启动“网络连接向导”,单击“下一步”。
3) 在“网络连接类型”中,选择“通过Internet连接到专用网络”,单击“下一步”。
4) 选择“不拨初始连接”,单击“下一步”。
5) 在“目的地址”一栏,输入准备连接的L2TP服务器的IP地址“202.101.35.218”,单击“下一步”。
6) 选择“只有我自己可以使用此连接”,单击“下一步”。
7) 输入“您为这个连接使用的名称”为“l2tp”。
8) 单击“完成”。
9) 双击“l2tp”连接,在l2tp连接窗口,单击“属性”。
10) 进入“安全措施”属性页面,选择“高级(自定义设置)”,单击“设置”。
11) 在“数据加密”中选择“可选加密(没有加密也可以连接)”。
12) 在“允许这些协议”选中“不加密的密码(PAP)”、“质询握手身份验证协议(CHAP)”、“Microsoft CHAP(MS-CHAP)”,单击“确定”。
13) 进入“网络”属性页面,在“我正在呼叫的VPN服务器的类型”选择“第2层隧道协议(L2TP)”。
14) 单击“确定”,保存所做的修改。
b. 禁用IPSec
1) 双击“l2tp”连接,在l2tp连接窗口,单击“属性”。
2) 选择“网络”属性页面。
3) 确认“NWLink IPX/SPX/NetBIOS Compatible Transport Prococol”协议没有被选中。
4) 选择“Internet协议(TCP/IP)”,单击“属性”。
5) 单击“高级属性”属性页面。
6) 进入“选项”属性页面,选择“IP安全机制”,单击“属性”。
7) 确认“不使用IPSec”被选中。
8) 单击“确定”,关闭连接属性窗口。
c. 修改注册表
缺省的Windows 2000 L2TP传输策略不允许L2TP传输不使用IPSec加密,可以通过修改Windows 2000注册表来禁用缺省的行为。
方法一:运行光盘\registry\目录下的l2tp.reg文件。
方法二:手工修改:
1) 进入Windows 2000的“开始”à“运行”里面输入“Regedt32”,打开“注册表编辑器”,定位“HKEY_Local_Machine \ System \ CurrentControl Set \ Services \ RasMan \ Parameters ”主键。
2) 选择“编辑”à“添加数值”,为该主键添加以下键值:
数值名称:ProhibitIpSec
数据类型:reg_dword
值:1
3) 保存所做的修改,重新启动电脑以使改动生效。
提示:必须添加“ProhibitIpSec”注册表键值到每个要使用L2TP的运行Windows
2000操作系统的电脑。
d. 使用L2TP隧道连接到HiPER L2TP服务器
1) 确认计算机已经连接到Internet(可能是拨号连接或者是固定IP接入)。
2) 启动前面步骤中创建的“l2tp”拨号连接。
3) 输入的l2tp连接的用户名:vpn_mobile和密码:vpntest。
4) 单击“连接”。
5) 连接成功后,在MS-DOS方式下输入“ipconfig”,可以看到一个在L2TP服务器地址池中的地址,就是L2TP服务器分配给本机的IP地址。