远程访问和本地访问相同的主机名

远程访问和本地访问相同的主机名

我在客户网络中有一台服务器,通过路由器/防火墙与他们的服务器隔开,目的是通过一个主机名(example.com)访问该服务器

我的想法是在外部至少有一个 DNS 服务器,让外部(客户端网络之外)访问内部服务器。此时问题将是内部客户端(PC A)

例子

我的问题是:我需要做些什么才能让这样的事情奏效?这有可能吗?或者已经完成了吗?目标是不必改变任何事物在 PC A 或 PC B 上,两者在浏览“example.com”时都应该访问同一个“内部服务器”

也许向 DNS 服务器添加逻辑会起作用(检测内部客户端 [PC A] 的外部 IP 是否与 example.com 的 IP 相同->给出本地 IP 作为回复?)

无论如何:感谢您帮助我思考这个问题!

答案1

您基本上是在谈论拆分 DNS,其中一些主机由内部 DN 处理,而另一些主机由外部 DN 处理。这可以通过在防火墙内使用服务器的本地 IP 运行小型 DNS 服务器来实现。然后,该 DN 应将所有其他请求转发到“真实”dns。

如果路由器内置有 DNS,您可以在那里添加条目。

另一个选择是指向服务器的内部 PC 上的主机文件条目。所有其他请求都将转到 DNS(但您提到不想接触 PC)。

\\uSlackr

答案2

OP 希望在不修改客户端机器或其所在网络的情况下做到这一点。

我知道实现此目的的唯一方法是将您的内部 IP 地址添加到外部 DNS 服务器。您可以向托管服务提供商注册一个域名,创建一个 A 记录以将对 your-domain.com 的请求重定向到 your-IP-address。只有当您恰好在其内部网络上时,此方法才会解决。然后,您可以使用反向代理通过其公开端口将对计算机的请求重定向到各种服务,否则,对于未在端口 80 或 443 上运行的任何服务,您必须输入 your-domain.com:8081

不过,这种方法确实存在安全漏洞。最好隐藏或混淆机器的路径。您可以使用 Cloudflare Zero Trust 隧道,但是虽然 IP 地址被隐藏,但流量确实会离开本地网络,这会带来自身风险,造成延迟,而这并不是 OP 想要的。

一定有一种方法可以同时实现这两者...当我找到它时我会告诉你。

相关内容