首先,我对 DNS 不太感兴趣,所以这个问题的答案可能非常明显,无论如何,我很抱歉。
我想要的是:一个 DNS 记录,它可以捕获我的网站上所有不存在的子域并将它们链接到我的网站的外部地址。
因此,不是我的内部 IP 地址,而是我的外部主机名。我正在使用 CloudFlare,并希望通过将其设置在 CloudFlare 后面来向公众隐藏我的服务器 IP。执行 ping 时会显示 CloudFlare 的 IP。
例子:
www.example.com -> www.example.com
existing-subdomain.example.com -> existing-subdomain.example.com
non-existing-sub.example.com -> www.example.com (and NOT the internal IP)
因此当有人尝试使用 tracert 获取 IP 或http://www.hcidata.info/host2ip.cgi例如他们会不是查看我的IP。
它不一定必须链接到我的主页,如果没有办法通过这种不存在的子域名查看我的服务器 IP,我会很高兴。
答案1
如果您使用 BIND 或类似的 DNS 服务器:
在您的 DNS 中,创建A
如下记录
* IN A < External IP >
如果你的外部 IP 是 1.2.3.4,则该行将完全如下所示
* IN A 1.2.3.4
如果要指向主机名,请使用以下内容(记得加上句号/点“。”在完整主机名的末尾)
* IN CNAME www.google.com.
DNS 服务器将针对所有未定义的主机/子域回复该 IP 地址。
如果你使用 Windows DNS 服务器
创建主机名“*”和外部 IP 的主机记录。
附言:虽然上述确实实现了您想要的,但在正常情况下,对不存在的主机/子域的 DNS 查询不应返回任何 IP 地址。