我有一个与四个公网 IP 地址关联的域名 example.com。我想在 dig/host 等过程中隐藏我的四个公网 IP。我应该使用 CNAME 来隐藏我的原始公网 IP 吗?
如果我选择 CNAME,其优点和缺点是什么?
例子:
MacBook-Pro-4:~ Raj$ dig example.com
; <<>> DiG 9.10.6 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5974
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com IN A
;; ANSWER SECTION:
example.com. 60 IN A 22.11.33.111
example.com. 60 IN A 22.11.33.112
example.com. 60 IN A 22.11.33.113
example.com. 60 IN A 22.11.33.114
答案1
使用 CNAME 只会将您的名称重定向到不同的 FQDN,而后者又会解析为 IP 地址(可能与您现在直接指向的地址相同)。
如果您希望网站可以访问,则无法隐藏您的 IP 地址。无论如何,名称最终必须解析为地址。
答案2
如果你打算在你的公共 IP 地址上接受互联网上的直接连接,那么你无法隐藏它们,否则互联网上的其他计算机将无法与这些 IP 地址的计算机通信。
CNAME 记录不隐藏 IP 地址。它们用于为其他 DNS 条目创建别名。当 DNS 查找遇到 CNAME 记录时,它会导致 DNS 解析过程使用 CNAME 记录返回的名称“重新开始”。
例如,假设您可能有一个名为的 CNAME 记录alias.example.com
指向名称server.example.com
。当用户访问 时alias.example.com
,其 DNS 解析器将:
- 抬头
alias.example.com
- 遇到 CNAME 记录
- 开始对该名称进行新的查找
server.example.com
- 获取 IP 地址
server.example.com
最后,server.example.com
必须透露 IP 地址,才能通过互联网进行通信。