在linux下搭建l2tp隧道
搭一个l2tp隧道,拓扑如下

两台机器是CentOS5,内核选上CONFIG_LEGACY_PTYS选项后自己编译的,l2tp是已经停更的l2tpd-0.69。先在LS上配置IP地址,iptables规则,这些不在多说,直接看l2tpd的配置文件
;/etc/l2tpd/l2tpd.conf
[global]
; if you run l2tpd on the internal interface only, enable the line below
; listen-addr = 192.168.1.98
[lns default]
ip range = 192.168.1.128- 192.168.1.254
local ip = 192.168.1.98
require chap = yes
refuse pap = yes
;下面这行说的是要PPP认证,我实际测试中感觉有没有这一行都没影响
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes
然后是LS的pppd配置文件如下
#/etc/ppp/options.l2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 192.168.1.1
ms-dns 192.168.1.3
ms-wins 192.168.1.1
ms-wins 192.168.1.3
noccp
#noauth
auth
crtscts
idle 1800
mtu 1200
mru 1200
# change line below to defaultroute to make all traffic go through the VPN
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
再然后配置pppd的认证文件
#/etc/ppp/chap-secrets
"johnsnow" * "youknownothing" 192.168.1.0/24
RS的l2tpd的配置文件如下
; Connect as a client to a server at 194.168.10.4
[lac myl2tp]
lns = 194.168.10.4
require chap = yes
refuse pap = yes
;require authentication = yes
; Name should be the same as the username in the PPP authentication!
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
RS的pppd配置文件如下
#/etc/ppp/options.l2tpd.client
ipcp-accept-local
ipcp-accept-remote
refuse-eap
noccp
#noauth
noauth
crtscts
idle 1800
mtu 1200
mru 1200
#nodefaultroute
defaultroute
debug
lock
#proxyarp
connect-delay 5000
RS的pppd认证文件
#/etc/ppp/chap-secrets
"johnsnow" * "youknownothing"
分别在LS和RS上执行
l2tpd -c /etc/l2tpd/l2tpd.conf -D
最后在RS上拨号
echo "c myl2tp" >/var/run/l2tp-control
最后用ifconfig看一下,多了一个ppp接口说明拨号成功了。整个配置过程不难,但是我在配置LS的pppd配置文件时候走了一些弯路,在我配置了auth之后总是拨号不成功,最后在认证文件里最后一列加上了地址(192.168.1.0/24)才能认证成功。我猜想在LS的pppd启动的时候RS的ppp0已经分到了一个192.168.1.0/24网段的地址,导致LS的pppd认证不通过,但是我不确定,非常不确定,有时间把代码看一下。
这个配置仅仅使用了l2tp协议,并没有使用ipsec相关协议,在网络上还是明文传输的,如果要加密还需要配置ipsec。
在linux下搭建l2tp隧道的更多相关文章
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- Linux下搭建Lotus Domino集群
Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...
- Linux下搭建 Cocos2d-x-2.1.4 编译环境
[tonyfield 2013.09.04 ] 参考 Linux下搭建 Cocos2d-x-2.1.4 编译环境 导入 HelloCpp 例程 1. Java 入口 HelloCpp.java Hel ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
随机推荐
- 水仙花数的条件:1.是一个三位数,2.个百千位数字的3次方加起来的和等于当前的三位数。如果,想要完美一点可以在外部加while循环
#!/usr/bin/env python# -*- coding: utf-8 -*-print("请输入三位数:")num = input()# 定义常量SumNum = 0# ...
- Activiti7 网关(包含网关)
什么是包含网关? 包含网关可以看做是排他网关和并行网关的结合体,和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析他们,但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关是一样的 ...
- SpringBoot favicon.ico网站图标
1.在application.properties下添加spring.mvc.favicon.enabled=false 默认true开启 2.关闭后,需要在src/main/resources/st ...
- Fabric1.4 kafka共识的多orderer集群
https://www.cnblogs.com/zhangmingcheng/p/10556469.html#FeedBack https://yq.aliyun.com/articles/63746 ...
- Java清空一个指定文件
清空test.log文件所有内容 File log = new File("c:\\test\\test.log"); FileWriter fileWriter =new Fil ...
- 深入理解Go系列一之指针变量
指针变量 基本概念 &a,代表 a 变量的内存地址 p,代表一个句柄引用(句柄由实例数据指针与实例类型指针两部分组成) ,句柄的好处是,当实例数据值改变时,不需要改动实例数据指针与实例类型指针 ...
- 关于h5游戏开发,你想了解的一切都在这儿!
2020年,受疫情影响,线下产业红利褪去,线上迎来的新一轮的高峰.众多商家纷纷抓住了转型时机,开启了流量争夺战.H5游戏定制无疑是今年引流的大热门.如何开发一款有趣.有爆点.用户爱买单的好游戏呢? ...
- [LeetCode] 17. 电话号码的字母组合(回溯)
题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[& ...
- Linux中逻辑卷(LV)的创建、增大和减小
首先说一下在缩小逻辑卷的时候要注意的问题:第一步使用resize2fs命令更改文件系统的容量:第二步使用lvreduce命令减小逻辑卷的容量.这两个顺序千万不要搞反了,而且要保证缩减后的逻辑卷容量大于 ...
- Gradle实战(01)--介绍与安装
前言 本章你将学习到 Gradle的介绍 Gradle的安装 Gradle的hello world 1 Gradle的介绍 Gradle是专注于灵活性和性能的开源构建自动化工具 Gradle构建脚本是 ...