如何在SSH隧道/会话中使用UDP打孔
我想在我的周末小屋中部署Raspberry Pi。Raspberry Pi在那里记录温度并将其发送到具有固定IP的远程服务器,保存数据并将其显示在简单的网站上。 但是,可能会出现这种情况,我想在Raspberry Pi上进行一些更改。例如,系统更新或对将数据发送到服务器等的程序进行更改。 使用建议的设置,我将无法从其LAN外部连接到Raspberry Pi。 注意:我不想更改网络,并且现有路由器没有端口转发,dynDNS或VPN的功能。 我最近阅读了UDP打孔。基本思想是,客户端将UDP程序包发送到已知的服务器地址(即,启用了公共IP或dynDNS)。想要连接到客户端A的客户端B向服务器询问客户端A的公共IP和端口号。 然后,它可以直接通过动态的公共IP和端口连接到客户端A。因为客户端A首先在现在使用的端口上连接到服务器,所以NAT会将包转发到客户端A。 我希望我或多或少正确地总结了这个想法... 这一切听起来都不错,但是问题是,这不适合与TCP连接一起使用,因为路由器能够“理解” TCP连接的握手,并且如果建立不正确,它将无法转发包装。 因此,如何在客户端A不坐在具有dynDNS,固定公共IP或端口转发功能的路由器后面的情况下,如何打开从客户端B到客户端A的SSH会话?很难将中央服务器与公共的,固定的IP或域名一起使用。