[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 文件,找到



#debug
#dump

取消行前的注释,重启pptpd服务进入调试模式 2.分析日志后发现是logwtmp版本的与pptpd版本不一致的原因导致的问题,打开/etc/pptpd.conf文件,找到



logwtmp

注释掉logwtmp后,重新启动pptpd,再次连接后一切恢复正常。 3.最后如果你的服务器启用了proxyarp功能的话,每次非正常断开连接后,不要忘记arp -d一下。



#windows 
arp -d
#linux
sudo arp -d -a