我需要从外部位置访问家庭网络,以便拥有与家庭网络相同的公共互联网 IP。我知道如何创建像 raspberry 这样的 vpn 服务器,但我想知道是否可以建立与路由器的外部连接以实现相同的结果
答案1
不。
首先,您的家用路由器有防火墙,它会首先阻止所有传入的新连接,因此您需要创建端口转发规则才能通过该规则。该规则必须指向您网络内的设备,不可能创建一个将流量直接发送回去的设备。
您可以做的是在家中的计算机上运行 VNC 服务器,然后使用 VNC 客户端访问家用计算机的桌面。然后,您可以通过 VNC 客户端使用家用计算机,就像坐在它旁边一样。不过,性能会有些滞后 - 远程访问永远无法与本地使用相提并论,物理定律已经阻碍了这一点。
答案2
不幸的是,这行不通。您需要先在目标网络中设置 VPN 才能进行外部连接。
答案3
从某种意义上说,您所说的外部连接实际上称为 VPN。VPN 的主要目的实际上是与远程网络建立“虚拟”连接,就像您实际在那里一样。因此 VPN 是一种非常有效的方法。
但是还有其他方法可以通过远程系统发送流量 - 代理在比 VPN(处理 IP)更高的层上工作。两种最常见的类型是 HTTP 代理和 SOCKS 代理,如果您的预期用途是出站且严格仅使用 TCP,则可以使用它们。许多浏览器和其他应用程序都支持其中一种或两种类型。
(我特别指的是“正常”或“正向”代理,而不是反向代理。)
尽管名称如此,HTTP 代理可以通过“CONNECT”协议命令用于任何基于 TCP 的服务(例如 HTTPS)。SOCKS 代理稍微更通用一些,但功能相同。不幸的是,两者都缺乏数据加密,而且并非所有使用代理的应用程序都支持密码验证。
一个常见的和安全的使用 SOCKS 的另一种方法是使用 SSH。SSH 也支持代理 TCP 连接,许多 SSH 客户端都具有称为“动态隧道”的功能,可模拟 SOCKS 代理。因此,您可以连接到 SSH 服务器(包括部分(但不是全部)家用路由器),并将其用作 Web 浏览和其他不涉及 UDP 或入站连接的中继。