我使用哪个 IP 地址来访问我的服务器?

我使用哪个 IP 地址来访问我的服务器?

我在我的 MacBook 上运行着一个 Samba 服务器,并且我也设置了从我的路由器到该服务器的端口转发。

我的公共 IP 是106.51.x.x(根据谷歌和其他一些服务)并且我的 Mac 的本地 IP 是192.168.x.x,但是当我转到路由器的配置页面时,它显示我的外部 IP 是10.242.x.x

这是我不明白的地方,当连接到我家的 WiFi 时,使用该10.242.x.x地址工作正常。但如果我尝试通过 4G 访问,连接就会超时。

至于公共广播,WiFi 和 4G 都不能用。

我的 Mac(我运行的是 MacOS Sierra)上是否存在一些设置需要我更改才能让其对公众可见?

答案1

您的路由器地址10.242.x.x在私有地址范围内(所有地址都10.0.0.0/8为 LAN 保留)。这通常意味着您的 ISP 实施了 CGNAT,并在多个客户之间共享相同的公共106.51.x.x地址。(就像您的家用路由器一样,但范围更广。)

在这种情况下,你实际上没有公共地址,不能直接从外部访问您的网络。

您的第一个选择是建立与某个外部服务器的 VPN 连接,该服务器具有自己的公共 IP 地址,并且可以将连接转发回您的家庭网络(通过 VPN)。


顺便提一下,尽管 Samba 的风险比 Windows 低,但将 SMB 暴露在公共互联网上仍然不是一个好主意。较旧的协议版本不支持加密(SMBv3 支持,但需要 Samba 4.7 或 Windows 8),因此您可能会面临泄露密码的风险文件数据。

如果您采用 VPN 方法,我建议您不仅在主服务器↔主服务器链接中使用 VPN,而且在从公共 4G/Wi-Fi 访问服务器本身时也使用 VPN。(有适用于 strongSwan、OpenVPN、OpenConnect 等的移动应用程序)这样,您将拥有一个安全的连接不需要任何端口转发。

相关内容