搭建openl2tpd,以前也搭建过了,不过没有总结,今天弄了一下,小结一下,记录一下
先贴几个官网的方法,其实openl2tpd的官网就说的蛮清楚了,只不过是全英文的,但是不会影响看配置文件就是
Quick Start:http://www.openl2tp.org/doc/quick_start
Install:http://www.openl2tp.org/doc/install
ippoolconfig(动态给客户端分配IP地址就需要这个):http://opensource.katalix.com/ippool/ippoolconfig.1.html
1、安装依赖软件
apt-get install rpcbind
rpcbind,远程过程调用协议,具体干什么的google一下,根据经验要装这个,要不然某个阶段会报错,装完后要启动rpcbind,执行
2、加载模块
这一步还蛮重要的,加载后就是在内核里运行了,吞吐性能可以大大的提高,最少测试现象是这个样子的,执行
要保证上述命令成功,有一个必要条件,即你的内核版本一定要高于2.6.23,ubuntu10.04版的kernel就已经是2.6.32了
成功加载后,执行lsmod,就可以看到pppol2tp这个模块
3、安装openl2tpd
下载:ftp://ftp.openl2tp.org/releases/openl2tp-1.8/openl2tp-1.8.tar.gz
下载完后,执行解压,然后进入目录,执行
make install
一般情况下是不会报错的,要是有报错的话,注意看下输出,应该是某个缺少某个依赖软件
在源代码目录下,有对应操作系统的文件夹,比如你是ubuntu的,有个debian文件夹,里面有个init.d的文件,这个文件时openl2tp开发人员写的启动服务脚本,把它改个名加上可执行权限放到/etc/init.d/目录下去,以后通过service openl2tpd start/restart/stop/status就可以了,方便一些
4、修改配置文件
配置文件的修改,官网给出了两个
①:一个是静态分配客户端ip的配置文件,在/etc/目录下创建openl2tpd.conf文件
,静态分配ip其实有点不太方便了,具体文件如下
local_ipaddr=10.5.1.1 \
remote_ipaddr=10.5.1.2
ppp profile create profile_name=peer2 \
local_ipaddr=10.5.1.3 \
remote_ipaddr=10.5.1.4
peer profile create profile_name=peer1 \
peer_ipaddr=80.70.60.50 \
ppp_profile_name=peer1
peer profile create profile_name=peer2 \
peer_ipaddr=42.1.2.3 \
ppp_profile_name=peer2
这个文件是官网的,本来你就可以直接复制过去的,解释一下:上述配置文件分配两个客户端,这两个客户端建立的连接名称分别是peer1、peer2,peer1的虚拟ip是10.5.1.2,对应的公网ip是80.70.60.50;peer2的虚拟ip是10.5.1.4,对应的公网ip是42.1.2.3;一看就知道这样多不方便了
②:是动态给客户端分配虚拟IP的,这样就方便多了,可以自动分配,并且不需要填写对应的公网ip;但是需要用到软件ippool
1、安装ippool
下载:http://sourceforge.net/projects/openl2tp/files/ippool/1.3/ippool-1.3.tar.gz/download
下载完成后,解压进入目录,先不要急着make,编译的时候文件usl_timer.c有一个宏定义"UINT_MAX"未定义
解决方法是修改ippool-1.3/usrl/目录下的usl_timer.c,在很多个#include加入一行
回到ippool-1.3目录,修改Makefile文件,将
将版本改成你正在使用的pppd版本即可
然后执行
make install
安装完成后,同样源码目录下的debian文件夹里有个init.d文件,重命名加执行权限复制到/etc/init.d/下
2、添加配置文件
在/etc/目录下创建ippool.conf
然后编辑文件,文件内容如下
显而易见,客户端分配地址从10.5.1.1开始,一共100个
要格外注意的是openl2tpd分配地址的机制跟其他软件有些不同,其他软件像pptp、l2tp、vtun都是虚拟网关就一个,然后客户端一次往下分配,而openl2tp却是,比如第一个连接虚拟网关是172.16.0.1,客户端的虚拟ip是172.16.0.2;但是下一个连接虚拟网关是172.16.0.3,客户端的虚拟ip是172.16.0.4;这是一点差别就是
配置完成后,把ipppol进程启动起来即可
3、对应的openl2tpd.conf为
ip_pool_name=default
5、配置用户名密码
对应的文件为/etc/ppp/chap-secrets
添加一行
需要格外注意的是,openl2tpd不支持全数字密码或者以数字开头的密码
注意无论你是静态分配地址还是动态分配,服务器端都必须做转发规则,执行
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
OK,这样差不多openl2tpd服务器端搭建就完成了,执行service openl2tpd start或者直接openl2tpd把进程开起来,能正常开起来就没什么问题了
注意如果有做防火墙规则的话,记得把openl2tpd使用的udp 1701端口允许数据通过
openl2tpd目前应该只支持unix/linux客户端,
对于客户端环境的搭建,简单说一下
源代码安装过程是一模一样的,差的只是配置文件,客户端需要一个配置文件,即/etc/openl2tpd.conf
官网给的配置文件模板是
auth_eap=no auth_mschapv1=no auth_mschapv2=no
tunnel create tunnel_name=anyname dest_ipaddr=42.1.1.1 \
persist=yes
session create tunnel_name=anyname \
session_name=anysession \
user_name=test \
user_password=test
其中dest_ipaddr=42.1.1.1即是配置openl2tpd服务器的ip地址
最下面两行是用户名密码
其他都不用配置了,直接openl2tpd -Df进行debug调试一下就可以了
本文档详细介绍了如何搭建openl2tpd服务器,包括安装依赖、加载内核模块、配置静态和动态IP分配、设置用户名密码,以及客户端配置。强调了 IPPool 的使用和端口转发规则的重要性。
2916

被折叠的 条评论
为什么被折叠?



