Home > 系统管理 > [PPTPD]VPN解决PTY read or GRE write failed问题

[PPTPD]VPN解决PTY read or GRE write failed问题

使用VPS搭建的翻墙用VPN在最近一次系统升级后经常出现连接断开和无法连接的现象(619等错误),
调查了linux的系统日志(syslog),发现每次连接失败都会出现以下日志内容,

GRE: read(fd=6,buffer=80504c0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
CTRL: Reaping child PPP[13354]
CTRL: Client XXX.XXX.XXX.XXX control connection finished


开始以为是GRE出了问题,但是查看了升级日志后发现GRE并没有升级,后来通过谷哥和度娘找到了解决办法,在此MARK一下。
1.打开调试模式,修改/etc/ppp/pptp-options 文件,找到

1
2
#debug
#dump

取消行前的注释,重启pptpd服务进入调试模式

2.分析日志后发现是logwtmp版本的与pptpd版本不一致的原因导致的问题,打开/etc/pptpd.conf文件,找到

1
logwtmp

注释掉logwtmp后,重新启动pptpd,再次连接后一切恢复正常。

3.最后如果你的服务器启用了proxyarp功能的话,每次非正常断开连接后,不要忘记arp -d一下。

1
2
3
4
#windows 
arp -d
#linux
sudo arp -d -a
Categories: 系统管理 Tags:
  1. September 12th, 2014 at 23:11 | #1

    你怎么分析出来的?

  2. 李大仁
    September 15th, 2014 at 14:27 | #2

    @YangLong
    如果你的日志中出现这句,那就很明显了。
    Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.4

  3. June 9th, 2015 at 18:24 | #3

    还有一个原因就是没打开GRE协议。

  4. April 13th, 2016 at 18:41 | #4

    谢谢!果然是 logwtmp 的问题!

  1. December 22nd, 2013 at 18:35 | #1