L2TP Over IPSec 配置过程(2)
三、 L2TP Over IPSec v*n服务搭建
1、 安装IPSec
如上所述,IPsec会对会对数据包进行加密和验证。Linux开源软件中常用openswan 这个后台软件包来跑IPSec。
用以下命令安装openswan:
注意安装软件的时候建议使用root用户安装。
2、 用文字编辑器打开/etc/ipsec.conf,改成下面这样:
3、 用文字编辑器打开/etc/ipsec.secrets
注意:这里的IP地址请换成你自己服务器的大网IP地址,PSK后面的Gy48002477修改成自己的密码,这个密码即是IPSec进行加密和验证的密码(也叫预共享**)。实际应用的时候可以改复杂一些。
4、 运行以下命令:
5、 检查IPSec运行是否正常:
检查IPSec运行之前先对IPsec做重启操作,使之配置生效
然后运行下面的命令
敲回车后能够看到下面的界面,说明IPsec已经运行正常了。
做IPsec检查不一定完全都出现OK的情况,也有FAILED的,这个时候我们就需要根据情况进行排查IPsec的配置或者系统配置。
常见几种错误情况如下:
(1)
1 SAref kernel support [N/A]
后续在配置L2TP的时候在
/etc/xl2tpd/xl2tpd.conf这个文件里
1
2 [global]
ipsec saref = no
(2)
1
2 Two or more interfaces found, checking IP forwarding [FAILED]
Checking NAT and MASQUERADEing [OK]
ip转发检查失败。
用cat /proc/sys/net/ipv4/ip_forward 命令查看是否返回1,如果返回1,则使能了IP转发,可以不用关心该错误;如果返回0,则需要修改该值为1
修改方式如下:
然后回车即可。但是如果重启系统后又失效了,所以请将该命令放入/etc/rc.local 文件中,这样系统启动就能自动使能IP转发功能了。
到这里为止,IPSec功能已经配置完了。
6、 安装L2TP
Linux系统中,常用的L2TP后台软件是xl2tpd,它和openswan是同一帮人写的。
运行以下命令:
7、 用文字编辑器修改xl2tpd.conf文件
修改成如下内容:
注意:这里的ip range一项里的IP地址不能和机器的IP地址重合,同时也不能与网络上的其他IP地址冲突。
8、 安装ppp
9、 检查一下/etc/ppp 目录有没有options.xl2tpd这个文件,如果没有请建一个
然后修改该文件内容如下:
这里的DNS请根据情况修改,如果在外网也可以用谷歌的公共DNS
10、 添加v*n用户
用文字编辑器打开/etc/ppp/chap-secrets:
按照这样的格式添加新的v*n用户。在添加新的v*n用户之前,需要确定该用户必须有访问系统的权限,也即存在系统用户中。
11、 打开xl2tpd的服务端口并重启
12、 检测L2TP运行状态
到这里,L2TP的配置已经全部完成,这个时候我们可以尝试用手机里的L2TP Over IPSec共享**方式连接。如果连接成功,那么恭喜你,大功告成!上面的配置我已经完全用windows xp client,Andorid 2.3.7/2.3.26以及IPhone 4连接成功,但是在Andorid 4.0.3的系统下连接超时,官网资料说4.0.3的v*n有问题,也没有再继续测该版本。
到了这一步,L2TP的配置确实已经完成了,那么如果只允许通过v*n的方式访问,你还需要多做一步,配置系统防火墙,否则在服务器上启动的服务会很不安全,非v*n用户如果知道服务器的IP地址,同样可以访问该服务器的服务。