我正在使用时下流行的 Huawei Brovi E3372-325 LTE USB Stick 将一台 Linux 机器连接到互联网。特殊要求是传入的 ssh/ping/NTP/... 连接必须到达我的 linux 操作系统。
状态是,使用usb_modeswitch -X
和option driver
I 可以调出 3 个 ttyUSB 接口,并使用 连接成功wvdial
。但由于某种原因,ifconfig
没有列出 ppp0 接口的硬件/MAC 地址,同一 APN 网络上的设备无法 ping 我的 IP 地址。我认为原因不是 ISP 阻塞,因为我的其他设备在网络上可以 ping 通。
的输出ip addr
19: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 3
link/ppp
inet 10.250.0.112 peer 10.64.64.64/24 scope global ppp0
valid_lft forever preferred_lft forever
- 如果我没记错的话,我现在不使用 RNDIS。我是对的吗,一般来说,流行的 RNDIS 协议不适合我的用例,因为这会创建一个额外的本地网络,使得将传入连接转发到操作系统变得更加棘手?ping 可能从外部工作,因为它由 USB 调制解调器本身回答,但传入的 ssh 会失败。
- ppp0 没有 MAC 地址可能是什么原因?这怎么可能?我应该分配一个吗?这可能是其他设备无法 ping 通它的 IP 的原因吗?如何解决这种情况?
RNDIS 是 Windows 特定的网络接口驱动程序 API。嗯,这与你所做的无关,对吧?
MAC地址是一个以太网概念;PPP 不是以太网 :)
PPP 的帧确实包含一个地址——但它只有一个字节长,并且总是设置为 0xFF,PPP 是一种点对点协议,你不需要更多的地址(你知道你在和谁说话——另一端)。
良好的调试。但是请注意,移动网络运营商 (MNO) 通常采用运营商级 NAT 将大量用户隐藏在一个公共 IPv4 地址后面——甚至在理论上,除了有电话的人之外,其他任何东西都被忽略——只有 2³² 个可能的 IP 地址(忽略任何“特殊”地址),并且电话的数量大致与人类的数量一样多,因此大约一半的电话只有 IPv4 地址。这里的信息是,如果您希望您的移动设备可以在全球范围内访问,则需要涉及一些额外的基础设施(如 VPN 服务器),或者您需要使用 IPv6。我建议使用 IPv6——由于市场力量,对于大多数移动网络运营商来说,使用 IPv6 流量进出互联网更便宜,因此他们可能会优先考虑这一点。
不管怎样,你的问题是为什么它对你不起作用——事情是这样的:这是运营商级的 NAT(你在那个接口上的 IPv4 地址是私有的!),保证不同的东西既没有保证也没有太多意义订户可以直接相互联系。不过,很酷,它适用于您的其他设备。
有点担心的是,您只分配了一个 IPv4 地址,而不是 IPv6 地址(或整个 IPv6 子网)。这可能意味着您的 Linux 机器的 pppd 未配置为接受 IPv6 或其他一些错误配置。
但更现实的是:PPP 是一种……旧协议,与移动网络基础设施的运行方式完全无关。2.5G/GPRS/EDGE、3G/UMTS、4G/LTE、5G……等都是分组网络——你有一个直接传输IP分组的接口;您不会获得需要通过 PPP 建立数据包隧道的串行线路。
那么,必须发生的事情是你的 USB 调制解调器连接到移动网络,获取 IP 地址,并将它通过 PPP 隧道获取的 IP 数据包放入,然后它似乎通过模拟串行链路放置到你的计算机?这是一种有趣的方式,至少可以说——也可以是 USB 网卡,开箱即用。事实上,这就是我手机上 USB 网络共享的工作方式,过去我的笔记本电脑上有内置调制解调器卡,也是如此。
也许您的 USB 调制解调器有不同的操作模式,一个看起来像 1990 年代的拨号调制解调器模拟连接到提供 PPP 的 Internet 服务提供商,而另一种模式只是一个 IP 路由器?如果是这种情况,请使用后一种模式,并将其设置为将数据包转发到您的计算机。
因此,无论哪种方式,您的调制解调器都会参与处理 IP 数据包;所以很可能这就是您的传入数据包丢失的地方。但是,也许您的其他设备名义上也使用相同的 APN ,但如果它们使用不同的方式连接到移动网络,则它们的数据包会在核心网络中走不同的路线,并且不会以相同的方式结束专用网络作为您的调制解调器;这里有很多不同之处,您的可见度为零。通常,您的 MNO 不会为您运营内部网络(除非您向他们付费——例如使用特殊的 M2M 订阅),而是互联网接入;如果您无法在本地通信,请通过互联网进行通信。为此,您需要一个可以连接的全球 IP 地址。
如果你问我,是否需要相互沟通: