在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

相关推荐