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操作系统无法正常连接,原因点这里

解决方法

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

本随笔参考教程1

本随笔参考教程2

        

最后,重要事情说三遍:

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

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

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

Ubuntu 12.04搭建l2tp服务器记录。的更多相关文章

  1. Ubuntu 12.04 搭建TFTP服务器

    吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...

  2. Ubuntu 12.04搭建svn服务器【转】

    这是一个比较老旧的话题,毕竟大家现在都使用Git(http://git-scm.com/),Git在分支.代码存储.冲突.速度方面的机制都更优秀. 那我们难道还有使用svn的场景?当然,比如对Git很 ...

  3. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  4. Ubuntu 12.04搭建MTK 6577 安卓开发环境

    Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...

  5. Ubuntu 12.04 搭建Android开发环境

    Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...

  6. Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)

    Ubuntu 12.04 搭建 Eclipse Android 开发环境 http://blog.sina.com.cn/s/blog_93dc666c0101b39p.html (2012-09-0 ...

  7. (转)ubuntu 12.04搭建Adobe Flash Media Server服务

    破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...

  8. 烂泥:ubuntu 14.04搭建OpenVPN服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...

  9. 【Ubuntu 18.04 搭建VNC服务器】

    https://www.jianshu.com/p/f58fe5cdeb5f 桌面共享 Ubuntu 18.04自带桌面共享,可以将物理桌面共享给VNC.但是无法创建新的桌面. 具体参考 https: ...

随机推荐

  1. Java-适配器

    对于Java程序来说,如果一个类要实现一个接口,则必须要覆写此接口中的全部抽象方法,那么如果此时一个接口中定义了抽象方法过多,但是在子类中有用不到这么多的抽象方法,则肯定很麻烦,所以此时需要一个中间的 ...

  2. [转]./configure,make,make install的作用

    ./configure,make,make install的作用(转) 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台 ...

  3. VMware安装centos虚拟机

    vm中安装虚拟机,步骤,图片截取 VM中 --> 文件 --> 新建虚拟机 此处若是提示CPU不支持虚拟机安装 重启计算机,进入BIOS,修改cpu配置 点击next 下一步 .... 等 ...

  4. UIAlertView和UIActivityIndicatorView的使用

    UIAlertView用来显示一个对话框,可以设置对话框的标题.文案.按钮的个数和文案,也可以通过实现delegate来监听按钮的的点击操作. 使用UIAlertView时需要注意: self.ale ...

  5. Intellij IDEA +MAVEN+Jetty实现Spring整合Mybatis

    1 pom.xml(这里出现transaction错误,是版本的问题) <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  6. 【maven】之配置开发,测试,正式环境pom.xml文件

    在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...

  7. MSSQL MERGE语法

    Merge的用法 Merge可以完成以下功能: 1.    两个表之间数据的更新 2.    进行进销存更新库存 3.    进行表之间数据的复制 语法说明: 1.    在语句结束后一定要用分号,否 ...

  8. OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

    http://blog.163.com/jekyll_zhou@126/blog/static/1820473820123206189381/ OJDBC版本区别 [ojdbc14.jar,ojdbc ...

  9. 解决Android studio首次启动gradle无法下载jar包

    换了个电脑,原来的配置都烂了,重新使用studio,发现界面就停留在gradle下载界面不动.原因估计你会懂得.. 网上流传的配置 Gradle Vm options 或是 配置build.gradl ...

  10. 评论Final版本发布

    1.  新蜂:俄罗斯方块 产品方面:俄罗斯方块在Beta版本基础上新增了许多功能,其中游戏中按A键可以开启瞄准,这个功能在市面上是具有先发优势的,算是一个较大的亮点:在改进了文字ui和方块的贴图以及游 ...