正文共: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配置指北
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |