搭建基于l2tp的VPN服务器(windows、linux客户端)
如题,centos上搭建基于l2tp/IPSec的VPN服务器
拆分一下,l2tp就用xl2tpd软件了,官网是:http://www.xelerance.com/services/software/xl2tpd/
IPSec部分就是用openswan了,官网是:http://www.openswan.org/code/,据网上资料介绍,?Linux上的VPN支持主要有三种:IPSec 's VPN 其主要代表有 FreeS/WAN、KAME
IPSec在Linux上支持主要有两个主要的分类,一为FreeS/WAN,现在已经停止开发,其分裂为两个项目,Openswan和Strongswan。我们要用的就是openswan了,因为FreeS/WAN已经在2004年三月停止开发,所以我们使用她的后继项目Openswan来做我们的IPSec实验。其相比FreeS/WAN有个好处,如果使用 26sec 的时候,Openswan不用打补丁,就可以用nat。
安装就很简单了yum install openswan(apt-get install openswan)
如果你想从源码安装,到http://www.openswan.org/code下载软件包,然后按照包中的说明安装。由于我们使用26sec,所以只要make programs;make install就可以搞定。值得注意的是,现在的Openswan已经内建些个好用的补丁,比如x.509和NAT Traversal的支持,使用起来非常的方便。
配置openswan还没怎么研究,先解决基于l2tp的VPN服务器搭建吧,先能把VPN跑起来才是王道。
- 安装,xl2tpd源码下载http://www.xelerance.com/wp-content/uploads/software/xl2tpd/xl2tpd-1.2.8.tar.gz解压安装之前还有一部,安装依赖软件,?
明摆着,创建一个用户名是:vpn,密码是:123456 的vpn账号
7、xl2tpd的启动脚本,在他的源代码目录下的debian目录中有个文件:xl2tpd.init是它的重启脚本,但看到网上有个挺好的脚本,功能一样,直接贴出来了,要的直接复制粘贴就可以了
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 ?
手动创建放置连接文件的目录:
mkdir /var/run/xl2tpd启动xl2tpd:
xl2tpd或者启动debug模式:
xl2tpd -D启动连接,若xl2tpd使用debug模式开的,请重新打开一个终端,执行:
echo "c test">/var/run/xl2tpd/l2tp-control这样即可完成连接,ifconfig可以查看到ppp0的连接,连接完毕后添加到服务器的路由:
route add -host x.x.x.x dev ppp0要关闭连接,直接kill掉xl2tpd的进程
?
xl2tpd与radius对接的配置?
xl2tpd跟radius对接,包括软件安装、配置跟pptp都是完全一模一样的,无非就是在xl2tpd的options文件里添加类似
?
写道plugin /usr/local/lib/pppd/2.4.4/radius.soplugin /usr/local/lib/pppd/2.4.4/radattr.so
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf?
具体配置可以参考我博客radius标签下的博文
http://laibulai.iteye.com/category/162177