我可以使用 IP 地址作为名称服务器而不是创建自定义名称服务器 [关闭]
Posted
技术标签:
【中文标题】我可以使用 IP 地址作为名称服务器而不是创建自定义名称服务器 [关闭]【英文标题】:Can I use IP address as Name Server instead of creating custom Name Server [closed] 【发布时间】:2012-02-17 01:07:00 【问题描述】:我刚刚购买了一个 VPS 来托管我的网站。 我在从共享主机迁移到 VPS 期间遇到的问题之一是设置私有名称服务器。 我已指示使用我提供的 IP 创建两个私有名称服务器。
示例:ns1.mydomain.com 指向 127.0.0.1(例如) ns2.mydomain.com 指向 127.0.0.1
我的疑问是,为什么不允许我使用我的 IP 作为名称服务器,而不是创建这样的名称服务器
我正在尝试在我指示输入名称服务器的字段中输入(我的网站的)IP 地址。 (
输入您的域名服务器:
名称服务器 1:- 123.4.5.6 名称服务器 2:- 123.4.5.6 (see the picture here) (如果我输入 ns1.mydomain.com(custom Name Server) 它也指向同一个 IP 123.4.5.6)
如果'X'等于'Y',为什么我不能使用相同的'Y'而不是'X' 如果 ns1.domain.com 使用 IP 123.4.5.6 ,为什么我不能填写 123.4.5.6 而不是 (name Server)ns1.domain.com?
或者如果一个人可以通过 IP 和 domain.com(其中 domain.com = IP)访问他的站点,为什么这不适用于名称服务器(其中 ns1.domain.com = 一些 IP。因此我可以填写该 IP 而不是 ns1.domain.com)
为什么这是不可能的?
(PS:我的问题不是如何创建名称服务器。我可以做到。)
【问题讨论】:
现在,这不太适合这个网站。 Stack Overflow 用于编程问题,而不是服务器管理问题。 (是的,我意识到 2012 年还不错;这是因为不可避免的用户会说他们的问题不应该被关闭,因为这个问题没有) 【参考方案1】:1) 诸如此类的问题确实应该在 ServerFault 上。
2) 127.0.0.1 是本地主机,不是可公开访问的地址。尊敬的,如果你不明白这一点,你应该回到共享主机......你最终会花更多的时间来学习运行 VPS,而不是让你的网站正常工作。 (如果您只是使用 127.0.0.1 作为占位符,那么这不适用。)
3) 大多数没有复杂需求的人可能应该选择使用其域名注册商的 DNS 服务器(如果可用)(例如NameCheap)。如果您的注册商不提供免费 DNS,您的 VPS 提供商几乎肯定会提供(我知道 Linode 和 Rackspace Cloud 都提供)。无论您将 DNS 托管在哪里,您都需要在配置中使用他们的名称服务器,而不是您发明的地址。 (您实际上不会使用 djbdns 或 BIND 运行自己的名称服务器,对吧?)
编辑:在问题澄清后尝试解释 DNS。
您的问题仍然不是很清楚,我认为这是因为我们没有使用相同的术语。 DNS 是一个复杂的系统,您必须非常精确。
让我试着解释一下如何根据您的情况安排 DNS 层次结构。
1) 您注册了一个域 example.com。它位于 .com ***域 (TLD) 中。每个 TLD 都有一个管理该 TLD 的根名称服务器的实体。对于 .com,这是 Verisign。当有人去查找 www.example.com 时,他们首先与 TLD 的根域名服务器交谈(通过一个与此处无关的过程)。
2) 根域名服务器返回域 (example.com) 的权威域名服务器。这就是我相信您正在尝试设置的内容。根据 DNS 规范,权威名称服务器由名称给出,而不是 IP。由于您(希望)没有尝试运行自己的权威名称服务器,因此您应该向您的注册商(反过来告诉 TLD 根名称服务器)提供您的托管公司指定的名称服务器;这些是在我在 cmets 中给你的链接中提供的(ns1.ixwebhosting.com 等)。 这些必须是名称而不是 IP 的原因是您的托管公司可能需要稍后移动 IP 地址。如果您被允许输入 IP,而他们切换了 IP,那么您的记录就会被删除日期。通过输入名称,DNS 系统可以正确地将权威名称服务器名称解析为 IP。
3) 对 www.example.com 感兴趣的客户端在获得了 example.com 的权威名称服务器(即 ns1.ixwebhosting.com)的名称(并解析了 IP)后,联系了权威名称服务器并请求 www.example.com 的 IP。权威名称服务器检查其记录并返回您告诉它的 IP。也就是说,您将使用托管服务提供商的界面(可能是您登录的网页...联系他们寻求帮助)来管理 example.com 的子域,例如 www.example.com。
如果您不使用托管 DNS,则必须运行自己的 DNS 服务器(例如 BIND 或 djbdns)。这会引入一整套超出您问题范围的其他复杂情况。请只使用托管 DNS,让您的提供商处理这些问题。
您会注意到我在这里没有提到 ns1.example.com。仅当您运行自己的 DNS 服务器时才需要处理此类记录,而您可能不应该这样做。
总之:
1) 告诉您的注册商您的域使用您的托管服务提供商的 DNS 服务器(来自我给您的链接)。
2) 告诉您的托管服务提供商使用您的 VPS 的 IP 地址作为您域的实际主机名。
这样就清楚了吗?
【讨论】:
是的,这里的 127.0.0.1 (localhost) 只是一个占位符。我的问题的本质是为什么我不允许使用 IP 地址本身作为 NameServer?。 can you please have a look at this image.。谢谢。 因为这不是 DNS 的工作方式。谁在托管您的域名服务器? 我的主机是 IXwebhosting。您能否为我的问题的最后一部分提供链接或答案名称服务器是否有任何严格的格式,例如,它应该像 $this 而不应该像 $that ? -谢谢 您的问题不清楚。如果您将 IXwebhosting 用于 DNS (ixwebhosting.com/hosting-manual/domain-name-system),那么您需要输入其名称服务器(不是 IP),如链接页面所述。只有在设置您自己的名称服务器而不仅仅是您自己的域时,您才可以输入 IP。如果您想查找文档,这都是基本 Internet 架构(RFC 1034、1035 等)的一部分。 嘿康拉德,我有一个注册商要求提供 IP 以及名称服务器的名称。如何找出域名服务器的 ip?我只是通过其中一个 whois 检查器来运行它吗?【参考方案2】:我在 serverfault 上遇到了与此类似的问题,但它被否决了,但没有人愿意解释为什么它不能完成。在研究了网络寻找 DNS 原则之后,这是我关于为什么不能用 IP 代替名称服务器的答案。它很长,但也有助于我理解约定。
假设您注册了域名abc123.com
,“com”是***域名,“abc123”部分是二级域名。
当网络用户想要访问abc123.com
时,他在网络浏览器中输入abc123.com
。然后,浏览器会联系 DNS 解析器(例如 google DNS、level3 或 opendns——充当缓存)以查询 DNS 解析器是否具有先前保存的 abc123.com 的 IP 地址。如果之前有人尝试通过此解析器访问abc123.com
,则解析器应该拥有 abc123.com 域名的 IP 地址并将 IP 地址返回给浏览器。但是,如果没有查询过 abc123.com 的 DNS 解析器,则解析器没有缓存 IP。然后,解析器需要联系根 DNS 服务器以获取该信息。
根 DNS 服务器的工作方式可以解释为什么您不能用 IP 代替传统的字母数字名称服务器名称。根 DNS 服务器从域注册商处获取其信息。当您注册 abc123.com 域时,abc123.com 被根 DNS 服务器记录;以及名称服务器/IP(可选)。
我认为为什么名称服务器名称必须遵循 FQDN(完全限定域名)格式是因为根 DNS 服务器的设计工作方式。例如,对于 ns1.mynameserver.com
名称服务器名称,猜测是“mynameserver.com”必须存在于根 DNS 服务器中,才能从逻辑上说 ns1.mynameserver.com
有效。如果记录中不存在mynameserver.com
,则ns1.mynameserver.com
一定无效。 IP 作为名称服务器名称也是如此,根 DNS 服务器永远不能将您的 IP 记录为有效域名(因为 IP 不是有效的 FQDN 格式,没有数字***域 - 即.42
当前不是有效的 TLD)。
回到最初的问题,您是否可以使用 IP 地址作为名称服务器名称。即使您选择忽略约定,也无法将 IP 设置为名称服务器名称,因为您的注册商不允许这样做。如果您拥有 abc123.com 并登录您的注册商注册域名服务器名称,则*** (".com") 和二级 ("abc123") 级域将被锁定。您只能输入子级别域的值。因此,您最终可能会得到 12.23.45.33.abc123.com
作为您的域名服务器名称(也就是说,如果您的注册商允许您拥有那么多点)。
【讨论】:
这个答案是错误的。根服务器仅包含有关 TLD 的信息,而不包含有关各个域的信息。以上是关于我可以使用 IP 地址作为名称服务器而不是创建自定义名称服务器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
是否可以查看 chrome 历史记录的 ip 地址而不是 url?
我可以强制 Eureka 注册使用 IP 地址而不是主机名吗?