Answers:
例如,让我们假设以下内容:
您的可编程设备在端口上工作22
并具有IP192.168.1.5
您的公共IP是 122.176.11.55
然后,您可以进入路由器的设置并将WAN端口(例如8022
)转发到192.168.1.5:22
。
现在,您可以通过访问122.176.11.55:8022
而不是192.168.1.5:22
在IDE中从Internet的任何位置远程访问设备。
请记住,除非您拥有静态IP,否则您的公共IP可以随时更改,在这种情况下,您应该签出动态DNS服务。
注意:除非您的设备采用某种身份验证方法,否则几乎可以肯定有恶意的人都会在开放的Web上找到对该设备的访问权限。请参阅下面的安全替代方法。
保持PC(或树莓派或类似设备)连接到网络,然后通过诸如SSH之类的安全方式远程访问该 PC ,然后通过LAN通过该设备对设备进行编程。
即使您的设备不使用TCP或UDP,这也可以使您工作:)
是的,有点乏味。但是安全。
唯一的正确答案可以是“ VPN”。
简单地使用IPv6会“起作用”(假设路由器未配置为不在设备上进行防火墙保护,并且所有ISP,设备和便携式计算机都支持IPv6),但是出于相同的原因,这是一个可怕的想法,原因是端口转发。
除了由知名IPv6的宣传推广,你其实并不曾希望任何在你的局域网是唯一可识别的,甚至从互联网访问的设备。不,那不是一件好事。
使用良好的旧IPv4,端口转发将“起作用”,但是它不仅使您而且所有人都可以访问该设备。没有人知道,所以这没问题吧?
好吧,有一群自动端口扫描程序运行24/7,并扫描随机的地址/端口,希望任何地方,任何地方都可以回答,所以通常没有任何设备可以在线回答外部请求并不是最佳选择。如果设备可以根据通过网络传入的内容愉快地进行编程,那将是灾难的秘诀。
以上原则上也适用于VPN,但如果要访问,它就可以达到最好的效果。唯一真正安全的事情是根本没有互联网连接,出于明显的原因,这是不切实际的选择。“没有互联网”下最安全的第二件事就是VPN。究竟只有一个设备(当然,这取决于,最多三个端口)上的一个端口,露出VPN ,没有别的,端口转发到互联网。
VPN使您-但没有其他人-可以通过Internet 来访问LAN上的设备,就像您在同一个LAN上一样(尽管速度稍慢)。它可以防止未经授权的访问,提供机密性和数据完整性。
实际上,每个无路由器都支持至少一种开箱即用的VPN。不幸的是,这取决于您使用的路由器型号,可能是VPN的风格很差,或者关于如何配置远程计算机的文档也很少。尽管如此,尽管可能会想出如何进行配置的麻烦-如果您没有更好的选择,那么到目前为止,这是最好的选择!
最常见的NAS盒支持两种或三种不吸吮的VPN方法,每张20美元的信用卡大小的3瓦计算机都可以运行VPN服务器,这没有问题。甚至许多现代手机都支持VPN,而无需安装额外的软件,因此,当您使用手机的移动互联网时,您甚至可以访问家庭网络(甚至通过专用热点)。
例如,L2TP / IPSec可能不是最棒的选择,但它的99%不错,并且需要一分钟的时间在我的Disk Station和三星手机上进行设置。如果我的Windows笔记本电脑也要使用它(与手机无关),请再等一分钟。无需额外的软件。
OpenVPN大约需要3-5分钟的设置时间,因为您必须在笔记本电脑上下载安装客户端软件。但从更大的角度来看,与完全不安全相比,5分钟的设置算作“零”。
在运行sshd的情况下,以合理安全的配置将不带IDE的Windows PC变成Linux PC。从路由器转发到Linux计算机上的SSH端口。使用SSH隧道连接到嵌入式设备IP。然后,在使用IDE在远程计算机上进行编程时,您将连接到localhost而不是LAN IP。
使用诸如SSH之类的强化服务在Internet上侦听是相当安全的。直接在互联网上聆听发展的声音是一个非常糟糕的主意。SSH是网守。如果您确保验证主机密钥,则它绝对可以抵御MITM。它使用良好的加密技术。隧道设置不涉及路由或桥接,而是看起来就像您是直接从SSHD机器连接一样。正确设置非常简单。
最近,我遇到了一个更好的个人远程访问解决方案。首先让我们讨论问题的范围。有三个问题在起作用:nat,ip地址和安全性。例如,在您希望在家庭网络上运行ssh或Web服务器的常见情况下,传统方法是端口转发和动态dns以及行业标准的安全性最佳实践。这对您的情况不利,因为您的设备没有标准的安全性。通过使用ssh端口转发(而不是将设备打开到互联网)可以减轻这种情况,
但是,有一个更简单的解决方案,并且可以相信或不相信它是隐藏的服务。隐藏的服务基本上充当端口转发,但会自动处理nat遍历,并且地址没有更改,因此不需要动态dns。当然存在洋葱地址难以记住的问题,但是如果您是唯一的用户,则可以将其记录在一个项目文件中。我建议仍将它与ssh服务器一起进行解析以提供身份验证,但是您可以确定长洋葱地址就足够了。隐藏的服务还提供除最后一跳之外的整个链路的加密,因此要获得更好的唯一方法是端到端加密,但这取决于您正在编程的设备。