pptpd配置文件/etc/pptpd.conf详解

正文共:1111 字 2 图,预估阅读时间:1 分钟
如果要在Linux系统配置PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)VPN,一般是使用pptpd软件。pptpd命令通常从配置文件/etc/pptpd.conf中读取选项,其中的大多数选项都可以通过命令行覆盖;而客户端的本地和远程IP地址必须来自配置文件或pppd配置文件。

在配置PPTP VPN之前,我们先看下PPTP VPN的守护进程配置文件pptpd.conf。

选项


option [option-file]
要传递给pppd的选项文件的名称,以代替默认的/etc/ppp/options,从而可以给出PPTP特定的选项。相当于命令行--option选项。

stimeout [seconds]
在调用pptpctrl程序处理客户端之前等待PPTP数据包的秒数,默认值为10秒。这是一种拒绝服务的保护功能。相当于命令行--stimeout选项。

logwtmp
在用户连接和断开连接时更新wtmp。参考wtmp(1)。

debug
打开调试模式,将调试信息发送到syslog,对pppd调试没有影响。相当于命令行--debug选项。

bcrelay [internal-interface]
打开广播中继模式,将服务端内部接口上接收到的所有广播发送到客户端。相当于命令行--bcrelay选项。

connections [n]
限制了可以接受的客户端连接的数量。如果pptpd正在分配IP地址(例如不使用委托),则连接数量也受到remoteip选项的限制。默认值为100。

delegate
将客户端IP地址的分配委托给pppd。如果没有此默认选项,pptpd将管理客户端的IP地址列表,并将下一个空闲地址传递给pppd。使用此选项,pptpd不会传递地址,因此pppd可能会使用radius或chap-secrets来分配地址。

localip [ip-specification]
在服务端和客户端之间的隧道PPP链路的本地端使用的一个或多个IP地址。如果只给出一个地址,则该地址将用于所有客户端。否则,必须为每个客户提供一个地址,如果没有空闲地址,则任何新客户都将被拒绝。如果使用delegate选项,localip将被忽略。

remoteip [ip-specification]
要分配给远程PPTP客户端的IP地址列表。每个连接的客户端必须有一个不同的地址,因此地址的数量必须至少与您同时拥有的客户端一样多,最好是一些备用地址,因为如果不重新启动pptpd,您就无法更改此列表。当IP地址池耗尽时,将向syslog发送警告。如果使用delegate选项,则将忽略remoteip。

noipparam
默认情况下,使用pppd选项ipparam将原始客户端IP地址提供给ip-up脚本。noippram选项可以防止这种情况。相当于命令行--noipparam选项。

listen [ip-address]
用于监听传入PPTP连接的本地接口IP地址(TCP端口1723)。相当于命令行--listen选项。

vrf [vrf-name]
VRF用于TCP监听套接字以及GRE数据包。相当于命令行--vrf选项。

pidfile [pid-file]
指定存储进程ID文件的备用位置(默认/var/run/pptpd.pid)。相当于命令行--pidfile选项。

speed [speed]
指定传递给PPP守护进程的速度(以比特每秒为单位)作为tty/pty对的接口速度。一些PPP守护进程会忽略这一点,例如Linux的pppd。默认值为每秒115200字节,一些实现将其解释为“无限制”。相当于命令行--speed选项。

注意事项

上述ip-specification(用于localip和remoteip标签)可以是IP地址列表(例如192.168.0.2,192.168.0.3)、范围(例如192.168.0.1-254或192.168.0-255.2)或某种组合(例如192.168.0.2,192.168.0.5-8)。对于一些有效的配对可能是(取决于VPN的使用):
localip 192.168.0.1
remoteip 192.168.0.2-254 或者
localip 192.168.1.2-254
remoteip 192.168.0.2-254 
路由检查项-PROXYARP
分配一部分局域网地址供客户端使用。
在/etc/ppp/options.pptpd中,设置proxyarp选项。在pptpd.conf中,不要设置localip选项,而是将remoteip设置为分配的地址范围。启用数据包的内核转发(例如使用/proc/sys/net/ipv4/ip_forward)。
echo 1 > /proc/sys/net/ipv4/ip_forward 服务端将使用ARP向局域网通告客户端,并提供其自己的以太网地址。不需要使用bcrelay。

路由检查项-FORWARDING
为可从局域网路由但不属于局域网的客户端分配一个子网。
在pptpd.conf中,将localip设置为所分配子网中的单个地址或范围,将remoteip设置为分配子网的范围。启用数据包的内核转发(例如使用/proc/sys/net/ipv4/ip_forward)。局域网必须有一条使用服务端作为网关的客户端路由。
服务端将在客户端和局域网之间原封不动地转发数据包。需要使用bcrelay以支持NETBIOS等广播协议。

路由检查项-MASQUERADE
为不能转发到局域网,也不能转发到服务端的客户端分配一个子网(例如10.0.0.0/24)。
将localip设置为子网中的单个地址(例如10.0.0.1),将remoteip设置为该子网其余部分的范围(例如10.0.0.2-200)。启用数据包的内核转发(例如使用/proc/sys/net/ipv4/ip_forward);在eth0上启用伪装(例如iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE)。
服务端将在客户端和局域网之间转换数据包,客户端在局域网中显示为具有与服务端对应的地址。局域网不需要有到客户端的明确路由,需要使用bcrelay以支持NETBIOS等广播协议。

防火墙规则

pptpd接受TCP端口1723上的控制连接,然后使用GRE(协议47)交换数据包。将这些规则添加到您的iptables配置中,或将其用作您自己规则的基础:
iptables --append INPUT --protocol 47 --jump ACCEPT
iptables --append INPUT --protocol tcp --match tcp --destination-port 1723 --jump ACCEPT 
参考命令:pppd(8),pptpd(8),pptpd.conf(5)。

长按二维码
关注我们吧


strongSwan之ipsec命令手册
在Ubuntu系统手撸一个自动创建SSL证书的SHELL脚本
Ubuntu配置openVPN服务端和客户端
Ubuntu一键导入openVPN配置文件
在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本
HVV工具介绍之CCProxy
使用IKE建立保护IPv6报文的IPsec隧道
配置IPv6 over IPv4的手动隧道和自动隧道
IPsec over GRE over IPv6配置案例
配置GRE over IPv6隧道
H3C MSR NAT66配置指北
相关文章:
pptpd配置文件/etc/pptpd.conf详解
正文共:1111 字 2 图,预估阅读时间:1 分钟 如果要在Linux系统配置PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)VPN,一般是使用pptpd软件。pptpd命令通常从配置文件/etc/pptpd.conf中…...
springboot对数据库进行备份+对一个文件夹内的文件按时间排序,只保留最近的8个文件
首先,对数据库进行备份,用到的命令: mysqldump --opt -h 192.168.1.200 --userroot --passwordxxx --result-fileE://data//20240911141400.sql --default-character-setutf8 xxx(数据库名) 直接上代码 配置文件部分…...
【软考中级攻略站】-软件设计师(4)-计算机网络基础
计算机网络的分类 1. 局域网(Local Area Network, LAN) 局域网是指在一个较小的地理区域内连接的计算机网络,比如学校的机房、公司的办公室或者家里的Wi-Fi网络。在这个网络内的计算机可以直接相互通信,速度很快,延迟…...
Android以及IoT设备传感器软件开发总结
1 传感器选型 1.1 传感器选型 6 axis:Bosch BMI160(比较差),InvenSense MPU6050(DMP),ST LSM6Dxx Acc: Freescale MMA7450L (MicroMachined Accelerometer/MC Multi-Axis, iMX31), Kionix KXSD9…...
Vue2/Vue3中编程式路由导航实践总结
【1】Vue2编程式路由导航 ① router.push 除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。 router.push(location, onComplete?, onAbort?)注意:在 Vue 实例内部&#…...
【nginx】ngx_http_proxy_connect_module 正向代理
50.65无法访问 服务器, (403 错误) 50.196 可以访问服务器。 那么,配置65 通过196 访问。 需要一个nginx作为代理 【nginx】搭配okhttp 配置反向代理 发送原生的nginx是不支持okhttp的CONNECT请求的。 大神竟然给出了一个java工程 GINX编译ngx_http_proxy_connect_module及做…...
单考一个OCP认证?还是OCP和OCM认证都要考?
Oracle的OCP认证是数据库行业非常经典的一个认证,从事数据库行业的人都建考一个 Oracle OCP 认证。 OCP认证内容包括: OCA部分:数据库基础知识、SQL 语言使用、基本的数据库管理技能等,如数据库安装与配置、理解数据库架构、…...
在Spring官网查看Springboot与Java的版本对应关系
查看Spring Boot与Java的版本对应关系,可以按照以下步骤操作: 访问Spring官方网站,进入Spring Boot项目页面。可以通过点击菜单中的“Projects”,然后选择“Spring Boot”来访问。Spring | Home 在Spring Boot的LEARN页签中&…...
HarmonyOS学习(十二)——数据管理(一)分布式数据
文章目录 1、分布式数据服务概述2、KV数据模型(键值对数据库)3、分布式数据服务的约束和限制4、接口说明5、分布式数据服务开发步骤5.1、导入模块5.2、构造分布式数据库管理类实例5.3、获取、创建分布式数据库5.4、订阅分布式数据库的数据变化5.5、插入数…...
3D GS 测试自己的数据
环境配置 win11 vs2019cuda11.8driver522.06python3.10pytorch 2.4.0colmap3.8(可选,用于将图像生成点云) 安装 1 minicodagit 略 2 vs2019 在装cuda前安装, 选择c桌面开发即可, 环境变量path中配置C:\Program…...
攻防世界 supersqli
supersqli 一般sql语句的题都是先判断,经过测试,是单引号注入 999 union select database(),2#可以发现很多关键字都被过滤了select,所以联合查询,报错注入,布尔和时间盲注都不能用了,可以想到堆叠注入。…...
OceanBase 运维管理工具 OCP 4.x 升级:聚焦高可用、易用性及可观测性
可视化的管控平台,对 OceanBase 这类的分布式数据库及大规模数据的运维管理来说,是提升运维效率与数据库管理水平的重要工具。OceanBase 运维管理工具 OCP 作为专为OceanBase数据库设计的企业级全生命周期管理平台,为用户提供了全面的数据库可…...
HarmonyOS应用开发( Beta5.0)HOS-用户认证服务:面部识别
介绍 User Authentication Kit(用户认证服务)提供了基于用户在设备本地注册的人脸和指纹来认证用户身份的能力。 用户向应用/系统服务请求访问某些个人数据或执行某些敏感操作时,应用/系统服务将调用系统用户身份认证控件对用户身份进行认证…...
解决Docker镜像不可下载
使用国内可信的镜像中心 可信国内镜像网址:https://hub.atomgit.com/ 点击镜像仓库 搜索想要的镜像 按如图所示,即可查看对应的版本 点击复制,即可下载使用 缺点: 可用的镜像相比于docker官方量少 并且,获取的镜像名字…...
考研报名确认上传身份证户口本学历证明照片如何压缩裁剪
随着考研季节的到来,数以万计的考生开始准备报名所需的各种材料。在这一过程中,证件照片的上传无疑是一个关键环节。正确的照片格式和尺寸不仅能确保报名流程的顺利进行,还能避免因材料不合格而造成的不必要麻烦。本文将详细介绍如何在考研报…...
DolphinScheduler应用实战笔记
DolphinScheduler应用实战笔记 一、前言二、DS执行SQL或存储过程二、DS调用DataX同步数据三、DS调用HTTP接口四、DS依赖(DEPENDENT)节点五、DS SPARK 节点六、DS Flink 节点七、DS Flink 节点八、DS SQL 节点九、DS Java程序十、DS Python节点 一、前言 DolphinScheduler&…...
IThenticate查重为何成为英语期刊论文投稿首选工具
发表一篇英语论文,我发现很多人在准备向期刊投稿之前,都会选择使用IThenticate查重系统对论文进行相似性检测。是什么魔力,让这个查重工具让投稿者如此偏爱使用它查重呢? 一、什么是IThenticate查重系统? 在了解它被…...
C++ 在项目中使用Git
目录 一:配置邮箱和姓名 二:生成SSH Key 三:git 工作区和状态 四:git log 常用法 五:git diff 常用法 六:git 分支操作 七:git 回溯分支 八:git rebase -i 压缩历史提交…...
Python(TensorFlow和PyTorch)及C++注意力网络导图
🎯要点 谱图神经网络计算注意力分数对比图神经网络、卷积网络和图注意力网络药物靶标建模学习和预测相互作用腹侧和背侧皮质下结构手写字体字符序列文本识别组织病理学图像分析长短期记忆财务模式预测相关性生物医学图像特征学习和迭代纠正 Python注意力机制 对…...
选择firewalld还是iptables
firewalld与iptables介绍 firewalld和iptables都是Linux系统中用于管理防火墙规则的重要工具,但它们在功能、使用方式和适用场景上存在显著差异。 动态性: firewalld可以动态修改单条规则,并且能够动态管理规则集。这意味着在更新规则时不会…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
