日期:2014-05-16  浏览次数:20722 次

在linux下构建l2tp vpn的方法

 在此我把在linux下配置l2tpd的方法介绍一下,

  希望对大家有用:

  服务器端:redhat 9.0 客户端: windows 2000

  l2tpd是一套为linux 开发的支持l2tp协议的自由软件,可以到下面的网址查看详细介绍http://www.l2tpd.org

  linux端的配置过程:

  1 从http://www.l2tpd.org/download.html上下载l2tpd-0.69.tar.gz软件包

?

  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的,如果那位想配置支持IPSec的

  VPN,可以到这个网站参考一下:

  http://www.jacco2.dds.nl/

  如果配置成功了,请把配置方法也共享出来,谢谢了^_^

  补充一下,如果出现无法访问邻居的问题,

  可能是iptables的问题,

  修改一下iptables的规则就可以了

  另外,在文件options.l2tp中需要添加一项

  proxyarp