Ubuntu 12.04搭建l2tp服务器记录。
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的一些配置见下面的教程。
最后,重要事情说三遍:
千万不要随便删除日志文件!
千万不要随便删除日志文件!
千万不要随便删除日志文件!
Ubuntu 12.04搭建l2tp服务器记录。的更多相关文章
- Ubuntu 12.04 搭建TFTP服务器
吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...
- Ubuntu 12.04搭建svn服务器【转】
这是一个比较老旧的话题,毕竟大家现在都使用Git(http://git-scm.com/),Git在分支.代码存储.冲突.速度方面的机制都更优秀. 那我们难道还有使用svn的场景?当然,比如对Git很 ...
- ubuntu 18.04 搭建flask服务器(大合集,个人实操)
ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
Ubuntu 12.04搭建 MTK 6577安卓开发环境 1. 下载并安装Vmware虚拟机: 2. 下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...
- Ubuntu 12.04 搭建Android开发环境
Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...
- Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)
Ubuntu 12.04 搭建 Eclipse Android 开发环境 http://blog.sina.com.cn/s/blog_93dc666c0101b39p.html (2012-09-0 ...
- (转)ubuntu 12.04搭建Adobe Flash Media Server服务
破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...
- 烂泥:ubuntu 14.04搭建OpenVPN服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...
- 【Ubuntu 18.04 搭建VNC服务器】
https://www.jianshu.com/p/f58fe5cdeb5f 桌面共享 Ubuntu 18.04自带桌面共享,可以将物理桌面共享给VNC.但是无法创建新的桌面. 具体参考 https: ...
随机推荐
- UML基础与Rose建模实训教程
目 录 第1章 初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章 Rational Rose工具... 6 2.1 安装与配置Rational Ro ...
- mybatis generator使用(基于maven)
1.添加maven依赖 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId&g ...
- Eclipse启动tomcat时出现报错-拒绝访问
今天新建项目,当选择项目的发布路径为tomcat的路径时 启动tomcat出现如下错误: Publishing the configuration... Error copying file to D ...
- B 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)
最熟悉的陌生人 作者:张慧桥 枪与玫瑰 我看了一下聊天室的名单,哈哈哈,我不禁喜出望外:蝶恋花那丫头片子挂在线上呢,真是天助我也.初时的担心一扫而光,我精神抖擞地喝下一大口咖啡,猛抽了三口烟,现在的我 ...
- 转:面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”
转自:http://jeromecen1021.blog.163.com/blog/static/18851527120117274624888/ 面试题目: 地球人都知道,Java有个东西叫垃圾收集 ...
- 3.1 哈尔空间 V0
一张灰度图是由多个像素点而组成的,同样,这些像素点的是由一个从0(黑)到255(白)的非负数组成的.假设我们现在有一张小的灰度图像.在第一行的灰度值为110,100,120,140,130,100,1 ...
- JavaScript的学习3
一.数组 1.定义数组格式:var 变量名 = [数组元素1,数组元素2] 2.遍历数组元素: 格式: var arr = []; for(var i=0;i<数组长度;i++){ arr[i] ...
- 问题解决_WCF_WCF 接收我服务的 HTTP 响应时发生错误
原文地址:http://www.cnblogs.com/tianma3798/p/5470974.html 错误内容: System.ServiceModel.CommunicationExcepti ...
- memset 的实现分析
memset 是 msvcrt 中的一个函数,其作用和用途是显而易见的,通常是对一段内存进行填充,就其作用本身不具有任何歧义性.但就有人一定要纠结对数组的初始化一定要写成如下形式: int a[... ...
- <-0基础学python.第2课->
今天闲着无聊,有想鼓捣Python了,想实现网络爬虫,帮我下载音乐的功能. 现在网上找了相关的一些文章教程 http://jecvay.com/2014/09/python3-web-bug-seri ...