Centos5.3 构建 xl2tp vpn

On 2010年07月28日, in linux, by netoearth

一、VPN数据传输协议:PPTP、L2TP
PPTP                      L2TP
基于IP的互联网               基于多种广域网络连接  介质入帧中继,IP,X.25
没有报头压缩                 报头压缩
没有隧道身份验证              隧道身份验证
采用PPP加密                 使用IPSec加密

二、官方网站:

http://l2tpd.sourceforge.net/

三、在linux下构建xl2tp vpn 的方法
从http://www.xelerance.com/software/xl2tpd/上下载xl2tpd-1.2.4.tar.gz
解压后,进入该解压目录,然后编译、安装:
tar -zxvf xl2tpd-1.2.4.tar.gz
cd xl2tpd-1.2.4
make
make install

安装完毕后,修改相关的配置文件:
1、修改/etc/xl2tpd/xl2tpd.conf,内容如下:
mkdir /etc/xl2tpd

cp examples/xl2tpd.conf  /etc/xl2tpd/

vi /etc/xl2tpd/xl2tpd.conf
[global]
listen-addr = 192.168.1.67
port=1701
auth file=/etc/ppp/chap-secrets
[lns default]
ip range = 192.168.9.128-192.168.9.254
local ip = 192.168.9.99
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

2、修改/etc/ppp/options.xl2tpd,内容如下:

cp examples/ppp-options.xl2tpd  /etc/ppp/options.xl2tpd

vi /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns  192.168.1.1
ms-dns  192.168.1.3
ms-wins 192.168.1.2
ms-wins 192.168.1.4
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000

3、修改/etc/ppp/chap-secrets,内容如下

“test”  *   “test”   *

4、编辑/etc/init.d/xl2tpd文件,内容如下:
#!/bin/sh
#
# xl2tpd This shell script takes care of starting and stopping l2tpd.
#
# chkconfig: – 80 30
# description: Layer 2 Tunnelling Protocol Daemon (RFC 2661)
#
# processname: xl2tpd
# config: /etc/xl2tpd/xl2tpd.conf
# pidfile: /var/run/xl2tpd.pid
#Servicename
SERVICE=xl2tpd
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
[ -x /usr/local/sbin/$SERVICE ] || exit 0
RETVAL=0
start() {
echo -n “Starting $SERVICE: ”
if [ ! -d /var/run/xl2tpd ]
then
mkdir /var/run/xl2tpd
fi
daemon /usr/local/sbin/$SERVICE
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
echo “”
return $RETVAL
}
stop() {
echo -n “Stopping $SERVICE: ”
killproc $SERVICE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$SERVICE
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case “$1″ in
start)
start
;;
stop)
stop
;;
status)
status $SERVICE
RETVAL=$?
;;
restart|reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/$SERVICE ] && restart || :
;;
*)
echo “Usage: $SERVICE {start|stop|status|restart|reload|condrestart}”
exit 1
esac

用chmod命令给xl2tpd文件赋予可执行权限。
chmod +x /etc/init.d/xl2tpd

将xl2tpd加入到系统服务中去:
chkconfig –add xl2tpd
chkconfig xl2tpd –level 35 on

也可以通过在终端:#xl2tpd -c /etc/xl2tpd/xl2tpd.conf  -D 启动xl2tpd服务

四、防火墙开网关端口:
#l2tp ipsec vpn
iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp –dport 1701 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp –dport 4500 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp –dport 500 -j ACCEPT

五、配置Windows XP 作为L2TP 客户端
按照以下步骤配置Windows XP 计算机,使其成为L2TP 客户端。

1. 配置L2TP 拨号连接:
1)进入Windows XP 的“开始” “设置” “控制面板”,选择“切换到分类视图”。
2)选择“网络和Internet 连接”。
3)选择“建立一个您的工作位置的网络连接”。
4)选择“虚拟专用网络连接”,单击“下一步”。
5)为连接输入一个名字为“l2tp”,单击“下一步”。
6)选择“不拨此初始连接”,单击“下一步”。
7)输入准备连接的L2TP 服务器的IP 地址“202.101.35.218”,单击“下一步”。
8)单击“完成”。
9)双击“l2tp”连接,在l2tp 连接窗口,单击“属性”。
10)选择“安全”属性页,选择“高级(自定义设置)”,单击“设置”。
11)在“数据加密”中选择“可选加密(没有加密也可以连接)”。
12)在“允许这些协议”选中“不加密的密码(PAP)”、“质询握手身份验证协议(CHAP)”、“Microsoft CHAP(MS-CHAP)”,单击“确定”。
13)选择“网络”属性页面,在“VPN 类型”选择“L2TP IPSec VPN”。
14)确认“Internet 协议(TCP/IP)”被选中。
15)确认“NWLink IPX/SPX/NetBIOS Compatible Transport Prococol”、“微软网络文件. 和打印共享”、“微软网络客户”协议没有被选中。
单击“确定”,保存所做的修改。

2. 修改注册表
缺省的Windows XP L2TP 传输策略不允许L2TP 传输不使用IPSec 加密。可以通过修改XP 注册表来禁用缺省的行为:
手工修改:
1)进入Windows XP 的“开始” “运行”里面输入“Regedt32”,打开“注册表编辑器”,
定位“HKEY_Local_Machine \ System \ CurrentControl Set \ Services \ RasMan \Parameters ”主键。
2)为该主键添加以下键值:
键值:ProhibitIpSec
数据类型:reg_dword
值:1
3)保存所做的修改,重新启动电脑以使改动生效。
提示:必须添加“ProhibitIpSec”注册表键值到每个要使用L2TP 的运行Windows XP 操作系统的电脑。

3. 使用L2TP 隧道连接到HiPER L2TP 服务器
1)确认计算机已经连接到Internet(可能是拨号连接或者是固定IP 接入)。
2)启动前面步骤中创建的“l2tp”拨号连接。
3)输入的l2tp 连接的用户名:vpn_mobile 和密码:vpntest。
4)单击“连接”。
5)连接成功后,在MS-DOS 方式下输入“ipconfig”,可以看到一个在HiPER L2TP 服
务器地址池中的地址,就是HiPER L2TP 服务器分配给本机的IP 地址。

Tagged with:  

Comments are closed.