6.1. 陷阱

这里只是一些我在使用此系统时遇到的问题。我把它们放在这里,希望能帮助您避免它们。如果您遇到任何新的问题,请 发邮件给我,这样我可以记录下来,并帮助其他人避免它们。

6.1.1. read: I/O 错误

此错误与 pppd 版本不匹配有关。如果您遇到此错误,请尝试将连接两端的 pppd 都升级到最新版本。我发现 pppd 2.2 版本存在此问题,因此请使用 2.3.7 或 2.3.8 版本代替。

6.1.2. SIOCADDRT: 网络不可达

此错误由 route 命令生成。我发现在 sshpppd 之间的睡眠时间不够长时会发生这种情况。如果您遇到此错误,请运行 ifconfig,您可能会看到没有 pppX 接口。这意味着 sshpppd 启动之前没有完成身份验证,因此 pppd 没有建立连接。只需增加延迟,您的问题就会得到解决。

不过,我想知道是否有一些 pppd 选项可以解决这个问题。

6.1.3. IPv4 转发和 2.2 内核

在新的 2.2 内核中,您必须在启动时在内核中专门启用 IP 转发。 使用以下命令

# echo 1 > /proc/sys/net/ipv4/ip_forward

如果没有这个,内核将不会转发任何数据包,因此服务器将无法工作,任何网关客户端也无法工作。

6.1.4. 路由

应该不用多说,但是当您路由真实号码时,请小心不要将目标地址为 VPN 服务器外部地址的流量通过隧道路由。它不会到达。(是的,这确实来自个人经验。)