banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[PPTPD]VPN解決PTY讀取或GRE寫入失敗問題

使用 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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。