Ubuntu 12.04搭建l2tp服务器记录。

时间:2022-01-10 09:32:14

1. 安装openswan

apt-get install openswan

2.打开 /etc/ipsec.conf 文件,做如下配置:

Ubuntu 12.04搭建l2tp服务器记录。

  其中,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,配置:

  Ubuntu 12.04搭建l2tp服务器记录。

  将%your_server_ip% 替换成此服务器的ip。any前面那个%不要删除。“this_is_your_psk”是预共享密钥。

4.启动 IPSEC 服务,确认 ipsec 是否工作正常:

  /etc/init.d/ipsec start  或者service ipsec restart

  ipsec verify

Ubuntu 12.04搭建l2tp服务器记录。

  以上配置经测能正常运行。出现SAref kernel support为[N/A]情况,看其他人教程修改xl2tpd.conf中的ipsec saref = no可以修正,本人测试未能实现,但为[N/A]情况不影响vpn搭建与使用。

  5./etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:

Ubuntu 12.04搭建l2tp服务器记录。

  这会配置防火墙转发。记得修改上面文件的本地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 :

Ubuntu 12.04搭建l2tp服务器记录。

  将%your_server_ip% 替换成此服务器的ip

7. 打开文件 /etc/ppp/options.xl2tpd,做如下配置:

Ubuntu 12.04搭建l2tp服务器记录。

  将%your_dns_1%和%your_dns_2%替换成可以使用的DNS

7.打开文件 /etc/ppp/chap-secrets ,做如下配置:

  Ubuntu 12.04搭建l2tp服务器记录。

  user为登陆的用户名,pass为登陆的密码。

  server = 在上面的 /etc/ppp/options.xl2tpd 定义的名字。*表示任意。

  IP addresses = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接

8.配置ip转发,/etc/sysctl.conf

  文档中注释太多,找语句太难,选择在文档最后添加如下语句:

  Ubuntu 12.04搭建l2tp服务器记录。

  载入新的配置: 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操作系统无法正常连接,原因点这里

Ubuntu 12.04搭建l2tp服务器记录。

解决方法

11. 调试方法:

  ipsec服务的日志在/var/log/auth.log.  出现下面记录时,说明ipsec启动成功。

Ubuntu 12.04搭建l2tp服务器记录。

  xl2tpd服务日志在/var/log/syslog。进行如下配置,可将其单独输出:

  在/etc/rsyslog.d/中新建文件20-xltpd.conf,配置如下:

  Ubuntu 12.04搭建l2tp服务器记录。

  然后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的一些配置见下面的教程。

本随笔参考教程1

本随笔参考教程2

        

最后,重要事情说三遍:

千万不要随便删除日志文件!

千万不要随便删除日志文件!

千万不要随便删除日志文件!