我有以下场景。有两个用户在他们自己的家庭网络上,他们有自己的路由器,并具有以下设置。
用户 1
- 路由器的公网 IP -
111.111.111.111
- 路由器(网关)的私有 IP -
192.168.0.1
- 子网掩码 -
255.255.255.0
- 连接设备的本地 IP -
192.168.0.2
用户 2
- 路由器的公网 IP -
222.222.222.222
- 路由器(网关)的私有 IP -
192.168.0.1
- 子网掩码 -
255.255.255.0
- 连接设备的本地 IP -
192.168.0.3
现在,我想了解用户 1本地设备上可以连接到用户 2在本地设备上。我目前的理解是我们有两个选择。
- 选项 1:执行端口转发用户 2路由器的端口
9000
例如到本地设备端口 9000。这样当用户 1想要访问另一台计算机,他们可以访问由于端口转发规则而222.222.222.222:9000
映射到的端点192.168.0.3:9000
用户 2执行静态 NAT(网络地址转换)- 有没有办法打开本地设备上的所有端口,而不必为每个服务器单独进行端口转发用户 2是否已在本地设备上运行?
- 选项 2:在本地设备之一上创建一个 VPN(虚拟专用网络)服务器用户 2的设备,并将两个用户都添加到该 VPN 上。现在,两个设备似乎都在同一个本地网络上,并使用 VPN 服务器为其分配的 IP 相互通信。(我认为这仍然需要端口转发)。
考虑到这一点,有没有其他方法可以让这两个本地设备在不使用第三方服务器的情况下相互通信?如果黑客从路由器的公共 IP 访问您的路由器,他们如何在不使用我上面描述的选项之一的情况下进入您的本地计算机?
答案1
我目前的理解是我们有两个选择。
正确,这两个选项均可。
有没有办法打开本地设备上的所有端口,而不必为用户 2 在其本地设备上运行的每台服务器单独进行端口转发?
这取决于您的路由器允许 NAT 的“规则”类型,有些可以将一系列端口转发到特定的 IP(或所有端口 - 基本上是没有 PAT 的静态 NAT)。
(我相信这仍然需要端口转发)。
您不需要使用 VPN 选项进行端口转发,因为两台机器基本上位于具有单独 IP 地址的 LAN 中。
有没有其他方法可以让这两个本地设备在不使用第三方服务器的情况下相互通信?
不,接受为这些设备提供公共 IP 地址,这样就可以摆脱端口转发。
如果不使用我上面描述的选项之一,他们怎么能进入你的本地机器呢?
他们可以尝试在可通过互联网访问的服务中找到安全漏洞。首先,他们需要访问服务本身(例如通过暴力破解),然后这实际上取决于服务。如果我们谈论的是具有管理员权限的远程 shell 服务,他们将立即获得访问权限。