我们有一个内部网网络服务器https://intranet.example.com应该可以从外部访问(仅供我们自己使用)并使用相同的域名。这是必要的,这样所有链接和 URL 在所有地方都具有相同的功能(发布到内部网的链接、书签中的链接等)。一个资源应该只有一个链接,而不是两个。
假设 Apache https 服务器的内部 IP 为 10.1.1.100,并且还打开了 NAT 规则到外部 WAN 接口 80.81.82.83
为了在 LAN 和外部使用相同的域名,名称 intranet.example.com 在主机托管方处有一个“真实”的 DNS 条目 80.81.82.83,但在 Intranet DNS 上我们将其声明为 10.1.1.100
这似乎现在在一些测试机器上都有效,无论是来自 LAN 还是 WAN。如果有人带着笔记本电脑从外面进入办公室并从移动访问切换到 LAN,他会从 DHCP 获取内部 DNS 条目,并将 intranet.example.com 解析为 10.1.1.100
我为 DNS 输入选择了 10 分钟的低 TTL,我希望这会起作用。
您有更好的解决方案吗?最佳实践是什么?
是否可以使外部 IP 80.81.82.83 也可以从内部访问?这通常行不通,但我们能以某种方式说服我们的网关机器吗?
答案1
您的建议非常有效。您是否可以消除拆分 DNS 并通过其公共地址从 LAN 访问服务器将取决于 Internet 和服务器之间的系统。例如,有些防火墙很乐意这样做,而其他防火墙则不允许这样做。
正如 gtirloni 所建议的,VPN 可能是必需的,也可能不是。这实际上取决于您如何保护系统以及您使用哪种身份验证方法。有了良好的身份验证,SSL 对于除了最偏执的人之外的所有人都足够了。但是,如果您对此有任何顾虑,那么我同意您应该谨慎行事并使用 VPN。
答案2
由于要求此功能仅供您的员工使用,因此 VPN 成为最佳选择。大多数公司都是这样做的。使用 OpenVPN 之类的东西,并为从外部连接的人员分配一个特殊的内部 IP 范围(这样您就可以单独过滤它们)。
如果您通过 NAT 公开内部网站,其他人将能够看到机密信息,并且/或者您必须部署复杂的加密和身份验证机制。使用 VPN,您不仅可以授予对内联网网站的访问权限,还可以授予对您认为需要的其他资源的访问权限(根据需要创建防火墙规则)。而且所有这些都是加密的。