我在路由器后面的 ubuntu 上有一个 pptp 服务器。从网络内部我可以连接到 pptp 服务器,但从互联网则不能。
1723、1792端口在路由器中转发。
以下是完整日志:
在 PPTP 常见问题解答中:
问:GRE:从 PTY 读取(fd=5、buffer=804d720、len=8196)失败:状态 = -1 错误 = 输入/输出错误
A. 日志将显示如下内容:
6 月 22 日 21:48:35 linuxbox pptpd[1900]: GRE: 从 PTY 读取(fd=5,buffer=804d720,len=8196)失败:状态 = -1 错误 = 输入/输出错误 6 月 22 日 21:48:35 linuxbox pptpd[1900]: CTRL: PTY 读取或 GRE 写入失败(pty,gre)=(5,6)
当 pppd 失败并关闭 PTY 时,会导致从 PTY 读取时出现 EIO。pppd 因某种原因而失败。pptpd 不报告 pppd 失败的原因。pptpd 不报告 pppd 失败的原因是一个错误,但尚未修复。您应该查看 pppd 失败的原因,这很可能是您的错,而不是错误。当 pppd 不理解您输入的选项或无法与对等方协商时,它就会失败。针对您的 options.pptpd 文件手动运行 pppd 会发现错误的选项。将“调试转储”添加到 options.pptpd 文件将捕获协商失败的原因。
答案1
要使 PPTP 正常工作,您需要打开端口 1723 以上,请确保您的路由器已打开
- 端口 1723(TCP 和 UDP)
- 协议 GRE(协议编号 47)
GRE 协议没有端口号,所以如果你的路由器支持,那么转发proto 47
就好了