1. 安装openswan
apt-get install openswan
2.打开 /etc/ipsec.conf 文件,做如下配置:
其中,virtual_privat这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,这些地址范围应该是NAT路由器后面的客户端的地址。
设置 ikelifetime 和 keylife 和 Windows 的默认设置一致。
将%your_server_ip% 替换成此服务器的ip。
要支持老的客户端,需要设置 leftprotoport=17/%any ,否则可以设置leftprotoport=17/1701。
(重要!)注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"应该顶着行头写,而其它行应该以8个空格缩进。
3.打开 /etc/ipsec.secrets,配置:
将%your_server_ip% 替换成此服务器的ip。any前面那个%不要删除。“this_is_your_psk”是预共享密钥。
4.启动 IPSEC 服务,确认 ipsec 是否工作正常:
/etc/init.d/ipsec start 或者service ipsec restart
ipsec verify
以上配置经测能正常运行。出现SAref kernel support为[N/A]情况,看其他人教程修改xl2tpd.conf中的ipsec saref = no可以修正,本人测试未能实现,但为[N/A]情况不影响vpn搭建与使用。
5./etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:
这会配置防火墙转发。记得修改上面文件的本地IP地址池10.1.2.0/24为你自己的。
然后给这个文件设置可执行权限:chmod 755 ipsec.vpn
禁止默认的 ipsec 服务脚本运行:update-rc.d -f ipsec remove
然后,启用我们刚才定制的这个:update-rc.d ipsec.vpn defaults
6.安装l2tp: apt-get install xl2tpd
修改 /etc/xl2tpd/xl2tpd.conf :
将%your_server_ip% 替换成此服务器的ip
7. 打开文件 /etc/ppp/options.xl2tpd,做如下配置:
将%your_dns_1%和%your_dns_2%替换成可以使用的DNS
7.打开文件 /etc/ppp/chap-secrets ,做如下配置:
user为登陆的用户名,pass为登陆的密码。
server = 在上面的 /etc/ppp/options.xl2tpd 定义的名字。*表示任意。
IP addresses = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接
8.配置ip转发,/etc/sysctl.conf
文档中注释太多,找语句太难,选择在文档最后添加如下语句:
载入新的配置: sysctl -p
9.启动vpn:
/etc/init.d/ipsec.vpn restart 或者 service ipsec.vpn restart
/etc/init.d/xl2tpd restart 或者 service xl2tpd restart
10.至此,vpn配置完毕,可进行测试链接。经测试,手机可正常连接,windows10 操作系统可正常连接。
windows 8操作系统无法正常连接,原因如下:
解决方法:https://support.microsoft.com/en-us/kb/926179 未测试。
11. 调试方法:
ipsec服务的日志在/var/log/auth.log. 出现下面记录时,说明ipsec启动成功。
xl2tpd服务日志在/var/log/syslog。进行如下配置,可将其单独输出:
在/etc/rsyslog.d/中新建文件20-xltpd.conf,配置如下:
然后service rsyslog restart, xl2tpd日志会单独输出到/var/log/xl2tpd.log
你可以可以在服务器上使用如下命令来监控:tcpdump -i eth0 host aaa.bbb.ccc.ddd and not port ssh.这里aaa.bbb.ccc.ddd 是你的客户端的公网地址。
ubuntu日志中没有message文件的解决方法:vim /etc/rsyslog.d/50-default.conf ,找到输出到message的语句,取消掉注释即可。
iptables的一些配置见下面的教程。
本随笔参考教程:https://linux.cn/article-3409-1.html
http://blog.atime.me/note/l2tp_ipsec_installation_on_ubuntu.html
最后,重要事情说三遍:
千万不要随便删除日志文件!
千万不要随便删除日志文件!
千万不要随便删除日志文件!