banner
李大仁博客

李大仁博客

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

[PPTPD]VPN解決PTY読み取りまたはGRE書き込みに失敗した問題

VPS を使用して構築された VPN を使用した 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 はアップグレードされていないことがわかりました。後で Google と Baidu で解決策を見つけ、ここにメモしておきます。 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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。