1.1 先确认现象:是“完全连不上”还是“能连但时段性断开”?记录发生时间段、频率与持续时长。
1.2 收集环境信息:手机型号与系统版本(Android/iOS)、运营商(中国移动/联通/电信/港资MVNO)、接入方式(4G/5G/Wi‑Fi)、PPTP 配置(服务器 IP、用户名、加密 MPPE、验证方式)。
2.1 切换网络:先在同一地点分别用移动数据与当地 Wi‑Fi 连接测试,判断是否为蜂窝网络或 Wi‑Fi 局部问题。
2.2 重新创建 VPN 配置:删除旧配置,按运营商与服务器要求重新填写服务器地址、用户名、密码,确保“PPTP”协议被选中并启用“MPPE”如服务端要求。
2.3 关闭省电/后台优化:在 Android 中进入电池优化,允许 VPN 客户端常驻后台;iOS 开启“始终允许”或使用“始终开启”的企业配置。
3.1 运营商屏蔽 GRE:PPTP 使用 TCP/1723 建立控制通道和 GRE(协议号47)传输数据,部分运营商或 Wi‑Fi 节点会在高峰期丢弃 GRE 流量或重置连接。
3.2 流量限速/策略:运营商在高峰时段对 VPN/非标准端口做限速或干预,建议在不同时间段多点测试并记录 RTT 和丢包率(可用手机 APP 测试)。
4.1 检查 pptpd/pppd 服务是否正常:以 root 登录服务器,查看服务状态:systemctl status pptpd 或 ps aux | grep pptpd。
4.2 查看 pppd 与认证日志:tail -n 200 /var/log/auth.log 或 /var/log/ppp.log,注意 CHAP/MSCHAP 认证失败或 LCP 丢包信息。
4.3 确认 GRE 与 1723 端口允许:执行 iptables -L -n -v 和 iptables -t nat -L,确保有 ACCEPT 规则,允许协议 47:iptables -A INPUT -p 47 -j ACCEPT;iptables -A INPUT -p tcp --dport 1723 -j ACCEPT。
5.1 打开 IP 转发:sysctl -w net.ipv4.ip_forward=1,并把值写入 /etc/sysctl.conf。
5.2 NAT/转发规则示例:iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT;iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE(替换为实际 ppp 子网与外网接口)。
5.3 pppd 常用持久化参数:在 /etc/ppp/options 或 pptpd.conf 添加 persist maxfail 0 holdoff 10 lcp-echo-interval 30 lcp-echo-failure 4,降低因瞬断导致长时间未重连的问题。
6.1 抓取 GRE 与 1723 流量:tcpdump -i any host 客户端IP and \(port 1723 or proto gre\) -w pptp_capture.pcap。若看不到 GRE,说明中间节点丢弃协议47。
6.2 分析断连时点:对比成功建立时的三次握手、GRE 隧道建立与 LCP 心跳包,观察是否在特定时间出现 RST、ICMP unreachable 或大量丢包。
7.1 如果运营商屏蔽 GRE:联系运营商确认,或改用支持 UDP/TCP 的替代方案(L2TP/IPsec、OpenVPN、WireGuard)。
7.2 MTU/MSS 导致断连:在服务器 pppd 配置中添加 mru 1400 mtu 1400,或在路由器上调整 MSS clamping:iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu。
7.3 认证失败或频繁重连:检查服务端 chap-secrets/ppp 用户配置,确认密码无特殊字符或编码问题,必要时重置密码并测试。
问:手机能连,但每天晚上 20:00-22:00 经常断线,这是什么原因?
答:很可能是运营商在高峰期对 GRE 流量做限速或丢包;建议在高峰时段用 tcpdump 抓包或换到 Wi‑Fi 测试,若确认为运营商干预,优先改用 UDP/TCP 隧道(OpenVPN/WireGuard)或向运营商反馈。
问:服务器端日志显示 LCP timeout,但客户端显示已连接成功,怎么办?
答:这通常为 GRE 数据包在传输中被丢弃或 MTU 不匹配,先在服务器与客户端降低 MTU(例如 1400),并在服务器 pppd 添加 lcp‑echo 设置,如果仍旧存在,使用抓包定位是哪个中间节点丢包。
问:能否仅靠手机端设置解决时段性断连?
答:手机端可做优化(关闭省电、允许常驻、重建配置、降低 MTU),但若问题源于运营商或服务器防火墙,需同时在服务器侧放行 GRE/1723、配置 pppd 持久化参数或转用更可靠的 VPN 协议。