我想为我们的数据库服务器分配一个可从建筑物外部和内部访问的主机名。
假设我们在 godaddy 拥有一个域名:ddd.com
我希望我们的工作人员能够访问以下数据库:data.ddd.com
问题是,我们的内部领域不同:
本地域:ggg.local 数据库服务器:data1.ggg.local,本地IP:10.0.0.10
我们的大楼有一个静态 IP:108.123.123.123
因此,在 godaddy 上,我将 data.ddd.com 设置为指向 108.123.123.123
我还使用防火墙将请求转发到数据库服务器。
现在,如何让我的本地用户(拥有多台笔记本电脑)使用 data.ddd.com 而不是 data1.ggg.local 连接到同一台服务器?
我可以完全访问我们的防火墙、本地和公共 DNS 来实现这一点。
还请告诉我我所遗漏的任何信息。
答案1
您缺少的是本地 DNS 服务。您的路由器(我怀疑它目前正在处理 ggg.local 内容)很可能无法执行此操作,因此您需要运行 DNS 的东西。
答案2
我看到两种可能的解决方案。第一种是将 data.ddd.com A 记录放入本地 DNS 服务器配置中。这是假设您有一个可以配置的 DNS 服务器。不幸的是,大多数 Soho 路由器都不是这种情况。第二种选择是将 data.ddd.com 添加到本地 hosts 文件中。
在这两种解决方案中,您都将 data.ddd.com 指向本地 IP 地址。这样做的好处是不会给路由器带来不必要的负载,而且路由器不必支持端口反射即可实现此功能。
答案3
一旦您设置路由器/防火墙以将数据库端口转发到内部数据库服务器,这应该不是问题。当本地计算机尝试连接到 data.ddd.com 时,它实际上会尝试连接到自己的网关,然后网关会将请求转发回数据库服务器。
需要注意的一点是,很容易忘记请求将来自本地网络而不是外部网络,而某些路由器将需要特定的端口转发规则。
答案4
你说你可以访问你的当地的DNS,因此只需在本地 DNS 中为 data.ddd.com 添加一条指向 10.0.0.10 的记录。