我有两个位于不同地点的连接,由两个不同的 ISP 提供。两者都使用 PPPoE 进行连接。
使用 Windows 时,我以相同的方式配置它们,当然用户名和密码除外。两者都有效。
在 Linux (debian) 中使用 Roaring Penguin 的 RP-PPPoE 时,一个可以工作,另一个不工作。我可以拨号,但无法 ping 通任何地方。
而且,曾经有一段时间,我将一个 Windows 机器连接到 linux-not-working 网络,然后通过 VPN 将我的 linux 连接到它,然后 pppoe-start,它神奇地工作了。
1) 提供商是否屏蔽了 Linux?
2) 为什么通过 VPN 拨号
可以正常工作?3) 有没有办法只使用我的 Linux 来解决这个问题?在网络上假装是 Windows?
答案1
我朋友的解决方案:
- 在虚拟机上安装 Windows,例如 VirtualBox。
- 设置两个连接,一个桥接到 eth0,另一个仅主机。桥接的用于拨号 PPPoE,仅主机的用于与 Linux 共享其连接。
- 在 Windows 中拨号。
- 通过虚拟机的共享连接来连接Linux。
至于 ISP 是否阻止了 Link,我不知道。
答案2
您是否尝试过普通的 PPPOE 调制解调器?您能列出型号吗?因为 99.9% 的家用 ADSL 路由器都运行某种形式的 Linux,因此不太可能出现某种“阻塞”。
这更可能是你的 PPPOE 客户端配置错误。首先,你应该检查 MTU 值(比如允许传输的最大数据包大小),确保它不超过 1492 或更低,并且是 8 的倍数(谷歌建议)
这可能会导致 ping 失败,因为每个数据包都会变得畸形。此外,它可能会通过您的“VPN 或 lan”工作,因为转换数据包的程序可能会使它们低于最大值或在数据包上放置碎片标记。
是的,您可以更改 IP 数据包头的 hello,但这并不能真正解决您的问题。