当前位置: 首页 > article >正文

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

cceb9845158b86cb72c296a3bb1a562d.gif

正文共:1111 字 2 图,预估阅读时间:1 分钟

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

33ab323441fe495b6aaedd9011160add.png

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

20b1322da560b68d7833c224cb3fd925.png

选项

b07cc56fc4604aaea8509d02735bbefb.png

25e1430909d100cca3e99aaa969ca8e9.png

option [option-file]

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

43b65b2212496d021657c0adc3d67cbe.png

stimeout [seconds]

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

e1e9604954b263dea7d379238c272f9f.png

logwtmp

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

30af5245da278b74890d356af7e26cc3.png

debug

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

0c3e42aaed2a13dda5b3eef1ab6d37b9.png

bcrelay [internal-interface]

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

15c8f47a97822ab8ee72db3b7c81ca9d.png

connections [n]

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

b7aed195cfcf8815e576f52b93f4b54d.png

delegate

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

f0fe67740610f6f2439c077870e7d5a6.png

localip [ip-specification]

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

60e90b9ac227bd537f21af56dbb45f5e.png

remoteip [ip-specification]

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

82bb30709a849ba1a2381a198b761310.png

noipparam

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

ae7a96edab0f08d1fb4425ffd3e5cb92.png

listen [ip-address]

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

38f0e068c32f0e731d498e6abc505f6b.png

vrf [vrf-name]

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

fae11471efc11d08a6d9a0613b102f68.png

pidfile [pid-file]

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

085d13bc774099f08b2eed0c0b49c864.png

speed [speed]

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

5c6cf4a15b42986f22fc519d2d45f5c8.png

注意事项

36d876d2764c8666e72952b53801d86f.png

上述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

1fb3540b2211a4bc6ed93c99bde932bd.png

路由检查项-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。

01f739e44a024a37a0e8a5df50a7b158.png

路由检查项-FORWARDING

为可从局域网路由但不属于局域网的客户端分配一个子网。

在pptpd.conf中,将localip设置为所分配子网中的单个地址或范围,将remoteip设置为分配子网的范围。启用数据包的内核转发(例如使用/proc/sys/net/ipv4/ip_forward)。局域网必须有一条使用服务端作为网关的客户端路由。

服务端将在客户端和局域网之间原封不动地转发数据包。需要使用bcrelay以支持NETBIOS等广播协议。

bd77f692d60dbcf53143f0cfc556bc2f.png

路由检查项-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等广播协议。

885070acac27ef0bab0fa08e5f54b758.png

防火墙规则

b720e9d2808812300d53451caed60029.png

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

a2cba4bc7a9b33a42bccfb2f40994ab6.png

参考命令:pppd(8),pptpd(8),pptpd.conf(5)。

697451239882e8bc0bec88efcd16543d.gif

长按二维码
关注我们吧

60e45c0f6951e0b427eeff5fe4fac992.jpeg

61fcc0e79039112c7d9dd71f55b84429.png

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配置指北


http://www.kler.cn/a/300177.html

相关文章:

  • 数据库中的主键和外键分别是什么意思?
  • Leetcode面试经典150题-207.课程表
  • 【代码随想录训练营第42期 Day56打卡 - 图论Part6 - 并查集2 - 冗余连接问题
  • Debug-027-el-tooltip组件的使用及注意事项
  • FPGA设计-如何使用增量编译流程
  • 基于java+springboot+vue实现的手机商城系统(文末源码+Lw)137
  • WEB渗透权限维持篇-隐藏windows服务
  • html 引入 css文档
  • 浏览器中的JavaScript核心BOM(浏览器对象模型)重点掌握对象之History对象的属性与方法
  • 力扣: 快乐数
  • 推理与训练,分布式训练
  • FFmpega安装教程
  • 华为云低代码AstroZero技巧教学4:花瓣图展示 给数据加点色彩
  • Android中如何实现adb向应用发送特定指令并接收返回
  • 计算机网络基础概念 交换机、路由器、网关、TBOX
  • 【区块链通用服务平台及组件】基于向量数据库与 LLM 的智能合约 Copilot
  • 数据结构应用实例(三)——赫夫曼编码
  • linux系统之基础io
  • 【Android】SurfaceFlinger Dumpsys信息分析
  • HarmonyOS 开发范式、应用模型