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的使用):

css 复制代码
localip 192.168.0.1
remoteip 192.168.0.2-254

或者

css 复制代码
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)。

ruby 复制代码
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配置中,或将其用作您自己规则的基础:

properties 复制代码
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配置指北
<>

相关推荐
GLAB-Mary2 分钟前
红帽认证工程师(RHCE):掌握Linux自动化的关键
linux·运维·自动化·rhce
领世达检测V1335290924917 分钟前
智能门锁申请 EN 18031 欧盟网络安全认证指南
网络·安全
A227419 分钟前
自定义线程池 4.0
java·线程池
康小庄23 分钟前
AQS独占模式——资源获取和释放源码分析
java·开发语言·jvm·spring boot·spring·spring cloud·nio
中云DDoS CC防护蔡蔡26 分钟前
自己的服务器被 DDOS跟CC攻击了怎么处理,如何抵御攻击?
运维·服务器·经验分享·网络安全·ddos
阿昌喜欢吃黄桃29 分钟前
mac安装mvnd结合idea
java·maven·idea·编译·打包·mvnd·编译打包
芯语新源30 分钟前
在 Linux 系统中通过 yum 安装 Sublime Text
linux·bash·sublime text
xx155802862xx40 分钟前
centos转移mysql的数据存储目录
linux·mysql·centos
独行soc43 分钟前
2025年渗透测试面试题总结-字节跳动[实习]安全研发员(题目+回答)
linux·科技·安全·面试·职场和发展·渗透测试
chian-ocean44 分钟前
永不休眠:Linux 守护进程的工作原理
linux·运维·服务器