我有一个example.com
在 godaddy 注册的域 ( ),并指向由 linode 托管的名称服务器。我在 linode ( blogs.com
) 上安装了多站点 WordPress,我想将该域指向 wordpress 安装 ( example.com -> example.blogs.com
) 的子域。
wordpress 安装的子域工作正常 - DNS 可以找到它,我可以浏览到它。在 linode 的 DNS 管理器中,我设置了一个 CNAME 来制作我在上面引用的指针。
Whois 显示为域设置了 linode 名称服务器,但 DNS 找不到 example.com 的任何名称服务器。
我错过了一个步骤,还是配置有误?
编辑 1
使用 linode 的名称服务器之一的挖掘请求的答案部分是
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 44359
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
使用我主机的名称服务器进行挖掘的答案部分是
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 16379
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
如果我指定 CNAME 或只接受标准 A 查询,状态字段中的响应相同。
我在 linode 域名服务器上没有那个 example.com 的 A 记录;我需要设置吗?
这是最近的更改 - 几个小时前,所以也许我只是不耐烦?同时对名称服务器所做的更改很快就完成了。我认为 CNAME 条目将与此同步;我的期望错了吗?
从技术上讲,您要求的是无效的。
CNAME
与所有其他记录冲突(DNSSEC 记录除外),因此与域的,等记录CNAME xxxxx
冲突。我的猜测是,当您使用there 时域解析而当您使用 CNAME 时域解析失败的原因是因为 DNS 服务器强制执行这些限制并且无法处理您的区域文件。SOA
MX
NS
A
此外,根据您对@xwincftwx 问题的回答,尚不清楚让 CNAME 工作首先会做您想做的事情。
CNAME
指向A
记录的指向与最初的记录完全相同A
。CNAME 完全由 DNS 系统在内部处理,Web 浏览器只能看到 IP 地址。在带有A
记录的测试中(假设为 1.2.3.4),浏览器连接到1.2.3.4
并要求它访问 websiteexample.com
。如果该服务器未配置为网站提供服务,example.com
则它通常会提供默认站点(在本例中为blogs.com
)。如果你让你的域作为一个工作
CNAME
,浏览器会要求的 IP 地址example.com
。DNS 会看到它是一个CNAME
,查找example.blogs.com
并返回1.2.3.4
。浏览器会连接1.2.3.4
并请求它,example.com
就像它是A
记录时一样。如果你想让人们
example.com
被重定向到example.blogs.com
那么你需要设置一个基本的网络服务器来接收连接example.com
并向浏览器发送 301 永久重定向以告诉它去example.blogs.com
您不能将 CNAME 用于区域文件中的根记录(根据 RFC 1034 禁止这样做,请阅读第 3.6.2 节)。您需要输入一条 A 记录,该记录指向与 CNAME 规则的目标相同的 IP。
的输出是
dig example.com
什么?如果您知道您的名称服务器的 IP,您可以强制 dig 使用您的名称服务器 (dig @nameserver-ip example.com
)。如果这有效,则您的名称服务器未用于 example.com。您何时分配 linode 名称服务器?这些变化可能需要时间。特别是如果您的 ISP 的 DNS 服务器缓存结果...看起来您的名称服务器没有运行。
你能检查你的名称服务器是否正在运行吗?
ps-辅助 | grep 命名
如果您的名称服务器没有运行.. 启动它并再次检查。
如果你启动后没有启动..请贴出/var/log/daemon 和/var/log/messages 的命名信息
grep 命名为 /var/log/messages grep 命名为 /var/log/daemon
也许这是您的区域文件中的错误配置。
如果您的名称服务器正在运行,请检查您的 named.conf 您的区域是否接受所有传入流量。
不需要在您的区域文件中包含 example.com 的 A 记录,但建议进行 DNS 检查和 whois 检查。