我正在尝试设置一个可从外部访问的家庭服务器。我已向 ISP 请求静态 IP 并转发必要的端口。现在,无论我身在何处,我都可以简单地连接到我的 IP:端口,一切正常。
一个问题,两个设备是否可能具有相同的公共 IP?如果是这样,如何确保我实际上正在访问正确的 IP?
谢谢
答案1
两台设备有相同的公网IP吗?
绝对有可能。这种情况发生的原因有多种,包括恶意行为者试图拦截您的数据。
我怎样才能确保我去的是正确的那一个呢?
如果没有一些安全措施,您就无法确定自己是否连接到了“正确的”服务器。甚至有可能您连接到了“错误的”服务器,而服务器却连接到了“正确的”服务器,并在查看或更改请求的数据后将其传递出去。
我不是安全专家,所以我对此的意见非常值得怀疑。我的第一选择是在两端使用 SSL/TLS,并使用一个好的密钥,由你控制。如果不知道你在连接时在做什么,我无论如何都无法深入了解。使用一些非标准端口的混淆可能会有所帮助,尽管它通常被认为是非常糟糕的合法安全措施。
密钥不需要是商业级的,甚至不需要具有 Web 浏览器认可的授权链。除非“服务器”旨在供其他人访问。您可以告诉浏览器“接受”任何证书,包括自签名证书。
答案2
如果您已将端口 43 转发到正在监听端口 43 的内部服务器 X 的 NAT 地址,那么,您可以简单地连接到您的外部 IP:43,您的连接就会转到该内部服务器。
如果两个内部服务使用相同的端口(当然,这必须来自不同的内部 IP 地址),您可以通过将两个不同的外部端口转发到同一个内部端口来导出这两个服务。
因此,例如如果另一台机器 Y 也在端口 43 上运行服务,则可以安排将端口 4043 转发到机器 Y 的端口 43。从外部,您可以连接到您的外部 IP:4043,然后它将连接到机器 Y 的端口 43。