安装

sudo yum update
sudo yum install pptpd
或者
sudo apt update
sudo apt install pptpd

配置

主要为四个文件

/etc/pptpd.conf 配置点对点的网段

localip 10.6.0.1
remoteip 10.6.0.2-254

/etc/ppp/chap-secrets 认证的账号密码

username pptpd passwd *

/etc/ppp/options.pptpd 配置要使用的协议,推荐这么配置

# PPTP连接的名称
name pptpd
# 锁定TTY设备以防止其他进程访问
lock
# 要求使用128位MPPE加密
require-mppe-128
# 要求使用MS-CHAP版本2身份验证协议
require-mschap-v2
# 设置最大传输单元大小为1496字节
mtu 1496
# 拒绝使用PAP身份验证
refuse-pap
# 拒绝使用EAP身份验证
refuse-eap
# 拒绝使用CHAP身份验证
refuse-chap
# 拒绝使用MS-CHAP身份验证
refuse-mschap
# 不启用BSD压缩
nobsdcomp
# 不进行压缩
nodeflate
# 指定第一个DNS服务器为114.114.114.114
ms-dns 114.114.114.114
# 指定第二个DNS服务器为8.8.4.4
ms-dns 8.8.4.4

如果dns不生效配置/etc/ppp/options

# /etc/ppp/options 配置文件
# 禁用Async Map,将所有字符都传输
asyncmap 0
# 使用用户认证,允许用户名和密码验证
auth
# 使用RTS/CTS硬件流控制
crtscts
# 锁定TTY设备以防止其他进程访问
lock
# 隐藏密码(在日志等输出中)
hide-password
# 模拟调制解调器连接
modem
# 设置LCP Echo间隔为30秒
lcp-echo-interval 30
# 设置LCP Echo失败计数为4次
lcp-echo-failure 4
# 禁用IPX协议
noipx
# 指定第一个DNS服务器为114.114.114.114
ms-dns 114.114.114.114
# 指定第二个DNS服务器为8.8.4.4
ms-dns 8.8.4.4

防火墙和转发

# 向sysctl.conf文件中追加net.ipv4.ip_forward的设置,启用IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

# 使sysctl.conf中的修改生效
sysctl -p

# 停止并禁用firewalld服务(CentOS 7默认的防火墙服务)
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 安装iptables-services软件包,该软件包包含iptables命令
sudo yum install iptables-services

# 启用iptables服务,使其在系统启动时自动启动
sudo systemctl enable iptables

# 启动iptables服务
sudo systemctl start iptables

# 清空所有iptables规则
sudo iptables -F

# 将INPUT链的默认策略设置为ACCEPT(允许所有输入流量)
sudo iptables -P INPUT ACCEPT

# 将FORWARD链的默认策略设置为ACCEPT(允许所有转发流量)
sudo iptables -P FORWARD ACCEPT

# 将OUTPUT链的默认策略设置为ACCEPT(允许所有输出流量)
sudo iptables -P OUTPUT ACCEPT

# 在NAT表中添加一个POSTROUTING规则,实现内网地址转换(NAT)并启用MASQUERADE功能
# 将10.6.0.0/24网段的数据包通过ens192网卡进行出口转发
iptables -t nat -A POSTROUTING -j MASQUERADE -s 10.6.0.0/24 -o 主网卡名称

# 添加一个FORWARD规则,修改TCP数据包的最大段大小(MSS)为1300字节
# 该规则适用于来自10.6.0.0/24网段的TCP连接的数据包
iptables -A FORWARD -p tcp --syn -s 10.6.0.0/24 -j TCPMSS --set-mss 1300

启动

systemctl enable pptpd
systemctl start pptpd

openwrt 上使用

在/etc/config/network添加以下内容重启network服务


config interface 'vpn2'
    option proto 'pptp'
    option username 'myusername'
    option buffering '1'
    option ipv6 '0'
    option auto '1'
    option server 'myip'
    option password 'mypasswd'
    #option encryption 'mppe'
    #option pppd_options 'ms-dns 8.8.8.8 ms-dns 8.8.4.4 noaccomp noccp nobsdcomp nodeflate'

标签: none

添加新评论