从 Internet 访问 LAN 中的设备

Eng*_*ine 21 networking remote-access

我有一个嵌入式设备,当它与 PC 连接在同一路由器上时,我可以通过以太网 IP 进行编程,如下所示:

在此处输入图片说明

是否有可能通过 Internet 发送整个流量并且仍然能够对其进行编程?为了使它更清楚一点,例如:

在此处输入图片说明

und*_*ndo 54

简单(且不安全)的方法

您要查找的内容称为端口转发[ 1 ] [ 2 ]

例如,让我们假设以下内容:

  • 您的可编程设备在端口上工作22并具有 IP192.168.1.5

  • 您的公共 IP 是 122.176.11.55

然后,您可以进入路由器的设置并将 WAN 端口(例如8022)转发到192.168.1.5:22

现在,您可以通过 Internet 访问(122.176.11.55:8022而不是192.168.1.5:22在 IDE 中)从任何地方远程访问设备。

请记住,除非您拥有静态 IP,否则您的公共 IP 可能随时更改,在这种情况下,您应该查看动态 DNS 服务

注意:除非您的设备具有某种身份验证方法,否则几乎肯定有人会在开放网络上找到对它的访问权限。请参阅下面的安全替代方案。

安全(老实说并不复杂)的方法

将 PC(或树莓派或类似设备)连接到您的网络,然后通过诸如 SSH 之类的安全方式远程访问,然后通过 LAN 对您的设备进行编程。
即使您的设备不使用 TCP 或 UDP,这也具有工作的额外优势:)

有点乏味,是的。但安全。

  • 还需要注意的是,如果 OP 将端口转发设置为开放来执行此操作,那么全世界的其他人都可能会更改代码。除非也有某种形式的身份验证,否则端口嗅探器迟早会找到端口并且黑客会尝试闯入,这是一个保证。 (11认同)
  • @FreeMan 稍后,根据您使用的端口,机器人爬虫可能需要几天时间才能出现,但从某种意义上说,如果您不走运,它可能会在几分钟内发生。 (2认同)

Dam*_*mon 11

唯一正确的答案可能是“VPN”。

简单地使用 IPv6 就可以“工作”(假设路由器没有配置为防火墙关闭设备,并且所有 ISP、设备和笔记本电脑都支持 IPv6),但出于与端口转发相同的原因,这是一个糟糕的主意。

除了由知名IPv6的宣传推广,你其实并不希望任何在你的局域网是唯一可识别的,甚至从互联网访问的设备。不,这不是一件好事。

端口转发可以与旧的 IPv4 一起“工作”,但它使设备不仅对您而且对每个人都可以访问。没有人知道,所以这没问题,对吧?
嗯,有一大群自动端口扫描器 24/7 运行并扫描随机地址/端口,希望任何地方都可能回答任何问题,因此通常拥有任何可以在线回答外部请求的设备都不是最佳选择。如果一个设备很乐意根据通过网络输入的内容对自己进行编程,那就是灾难的秘诀。
以上原则上也适用于 VPN,但如果您想访问,它几乎是您所能获得的。唯一真正安全的事情是根本没有互联网连接,由于显而易见的原因,这不是一个实用的选择。“没有互联网”的下一个最安全的事情是 VPN。恰好在一台设备上的一个端口(好吧,这取决于,最多三个端口),暴露 VPN而没有别的,端口转发到互联网。

VPN 允许您——但没有其他人——通过互联网访问 LAN 上的设备,就像您在同一个 LAN 上一样(虽然速度稍慢)。它可以防止未经授权的访问,它提供机密性和数据完整性。

几乎每一个没有狗屎的路由器都支持至少一种开箱即用的 VPN。不幸的是,根据您使用的路由器型号,它可能是一种糟糕的 VPN,或者可能没有很好地记录如何配置远程计算机。尽管如此,尽管弄清楚如何配置它可能会很麻烦——如果你没有更好的方法,那是迄今为止最好的选择!
最常见的 NAS 设备支持两种或三种不吸吮 VPN 方法,每台 20 美元信用卡大小的 3 瓦计算机都可以运行 VPN 服务器,没问题。甚至许多现代手机都支持 VPN,而无需安装额外的软件,因此当您使用手机的移动互联网(甚至通过私人热点)时,您甚至可以访问您的家庭网络。

例如,L2TP/IPSec 可能不是最棒的选择,但它有 99% 的好处,并且在我的 Disk Station 和我的三星手机上设置需要一分钟。如果我的 Windows 笔记本电脑也要使用它(独立于手机),再过一分钟。不需要额外的软件。
OpenVPN 需要 3-5 分钟的设置时间,因为您必须在笔记本电脑上下载安装客户端软件。但从更大的角度来看,与完全不安全相比,5 分钟的设置算作“零”。

  • 购买第 3 方服务并不是唯一的答案。您可以使用 SSH 或 RDP 获得相同的效果。 (5认同)
  • SSH 更便宜、更方便、更容易设置,在这种情况下可能是更好的选择 (5认同)
  • 两个也是唯一正确的答案是 VPN 或 SSH 隧道......一些 VPN 协议在防止 MITM 方面也不是很好...... (4认同)
  • -1 仅表示标题中的“唯一”,带有端口转发的 SSH 也是完全有效的,并且可能更安全,因为您不必远程访问整个网络,只需一台设备的一个端口,而且很可能它很容易配置,而且您不依赖路由器随机软件实现的很少使用的功能。 (4认同)