在Linux下构建L2TP VPN的方法
在此我把在linux下配置l2tpd的方法介绍一下,
希望对大家有用:
服务器端:RedHat 9.0 客户端: windows 2000
l2tpd是一套为linux 开发的支持l2tp协议的自由软件,可以到下面的网址查看详细介绍http://www.l2tpd.org
linux端的配置过程:
1 下载l2tpd-0.69.tar.gz软件包
l2tpd-0.69.tar.gz下载
具体下载目录在 /pub/2011/07/19/l2tpd/
2 将l2tpd-0.69.tar.gz考到你所希望的安装目录下(我习惯安装在/tmp/目录下,以下我就以在/tmp/目录下为例)
3 解压安装包:
tar -xvzf l2tpd-0.69.tar.gz /*此时会生成一个l2tpd-0.69文件包*/
4 编译:
make /*当前目录是在/tmp/ l2tpd-0.69*/
执行完此命令后,将会在在/tmp/ l2tpd-0.69下生成可执行文件l2tpd
5 创建l2tpd的配置文件
mkdir /etc/l2tp
cp /tmp/l2tpd-0.69/ l2tpd.conf.sample /etc/l2tp/l2tpd.conf
cp /tmp/l2tpd-0.69/ l2tp-secrets.sample /etc/l2tp/l2tp-secrets
cp /etc/ppp/options /etc/ppp/options.l2tp
6 各配置文件的内容举例:
6.1 /etc/l2tp/l2tpd.conf的内容(文件中用的分号是注释符):
[global] ; Global parameters:
port = 1701 ; * Bind to port 1701
auth file = /etc/ppp/chap-secrets ; * 用户帐号的配置文件,在此我们利用PPP的chap认证方法
[lns vpnserver] ; Our fallthrough LNS definition
exclusive = yes ; * Only permit one tunnel per host
ip range = 192.168.254.202-192.168.254.210 ; *要分配给远端用户的ip范围,根据需要修改
lac = 0.0.0.0-255.255.255.255 ;可接入的lac的范围,这样写表示不限制范围
local ip = 192.168.10.1 ; * 本机的IP地址
length bit = yes ; * Use length bit in payload?
require chap = yes ; * Require CHAP auth. by peer
require authentication = yes ; * Require peer to authenticate
name = vpnserver ; *本机名
ppp debug = yes ; * Turn on PPP debugging
pppoptfile = /etc/ppp/options.l2tp ; * ppp options file
6.2 /etc/ppp/options.l2tp的内容(本文件主要是对ppp服务器的配置,文件中的参数含义可以使用man pppd查看,这里不作具体说明)
name JXVPN
lock
auth
debug
dump
logfile /var/log/l2tpd.log
passive
nodetach
noccp
novj
novjccomp
nopcomp
noaccomp
6.3 /etc/ppp/chap-secrets文件是用户帐号的管理文件,可以通过它添加和管理用户(文件中举了两个例子,用户:test,密码:123456;用户:111,密码:222):
# Secrets for authentication using CHAP
# client server secret IP addresses
test * "123456" *
111 * "222" *
7 运行l2tpd
cd /tmp/l2tpd-0.69/
./l2tpd -D /*参数D表示让l2tpd在前台运行,显示整个l2tpd的运行信息,
如果不加D,l2tpd在后台运行;其它参数请看/tmp/l2tpd-0.69/
目录下的README*/
windows 2000客户端的配置:
因为前面的vpn不支持ipsec,所以此处要对windows 2000的注册表进行修改:
在注册表中添加一项ProhibitIpSec = 1 “开始” -> “运行” -> “regedit” -> 新建一个“双字节值”,名称为“ProhibitIpSec”,值设为1,在以下的位置“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/RasMan/Parameters”
好了,到此应该可以了。目前我配置的是不支持IPSec的,如果配置成功了,请把配置方法也共享出来,谢谢了^_^
补充一下,如果出现无法访问邻居的问题,
可能是iptables的问题,
修改一下iptables的规则就可以了
另外,在文件options.l2tp中需要添加一项
proxyarp