无法在本地网络中使用外部 IP 连接到 Raspberry Pi

无法在本地网络中使用外部 IP 连接到 Raspberry Pi

我为我的 Raspberry Pi 设置了端口转发,以便能够通过 ssh 从互联网连接。当我尝试通过手机互联网连接到我的 Pi 时,它运行正常。当我尝试通过本地连接进行连接时,它无法使用外部 ip。只能使用我网络中 Pi 的本地 ip。我有一个 AVM FritzBox 4020 GM 路由器连接到我的 Speedport W723V 路由器,用作 DSL 调制解调器。

答案1

无法使用本地网络的公共 IP 连接到内部资源

这仅当您的路由器支持时才可行NAT 反射/NAT 环回/NAT 发夹结构

许多消费级路由器不支持此功能。

有一个列表NAT 环回路由器路由器具有此功能。

AVM FRITZ!Box 确实支持环回(根据上面的链接),因此你应该能够让它在你的特定情况下发挥作用。


为什么需要 NAT 环回?

许多 DSL 路由器/调制解调器都具有防止环回连接的安全功能。

这意味着您本地网络上的机器(例如,在您的 DSL 路由器/调制解调器后面)无法连接到您本地网络上的机器的前向 IP 地址(例如 199.149.252.44)。

连接到同一台机器的本地 IP 地址(例如 192.168.2.40)可以正常工作。

来源NAT 环回路由器

答案2

在移动设备上的 ssh 客户端中拥有两个帐户不是更简单吗?一个帐户用于从本地网络外部连接,另一个帐户用于在本地网络内部连接。只需在两个帐户中使用不同的 IP 即可。

如果你有不错的防火墙/路由器,例如普福斯例如,如果您拥有某个域名,那么您可以将外部 IP 映射到您的域/子域,并在 LAN 端通过将其指向 Raspberry Pi 的本地 IP 地址来覆盖域名。这样,您只需在 SSH 客户端中将域名设置为要连接的目标 IP。当您在 LAN 之外时,您的客户端将使用公共 DNS 来查找您的 Pi,否则当您连接到 LAN 时,您的防火墙/路由器将通过将 Pi 的本地 IP 替换为该特定域来覆盖公共 DNS

相关内容