我在提供商处有一个 VPS 托管帐户,并且获得了一个 IP 地址。现在,当我们说“设置私有名称服务器”时,我们到底是什么意思?这是否意味着我也将把我的网站托管服务器变成名称服务器?如果是,这是否意味着对我的网站的查询将首先由我的名称服务器解决,然后我的网站托管服务器将发送网页请求?
简而言之,我的问题是:网络托管服务器也可以成为名称服务器吗?
答案1
简短的回答:是的,以上所有......几乎都是。
首先,让我们澄清一下“服务器”这个词。服务器既可以指机器(虚拟或物理),也可以指处理客户端请求的单个进程。例如 apache (http) 或 named (dns)。在这个答案中,我将使用“服务器”参考流程,以及“机器”在您的情况下指的是 VPS。
私有名称服务器通常是指 DNS 服务器 - 转换 IP 地址(例如 123.123.123.123)和主机名(example.com)的服务器。此 DNS 服务器可以是仅供您使用的从属服务器,也可以是更适用的区域主服务器。一般来说,您要做的就是设置 DNS 服务器,使其充当您控制的域名的主服务器。我们称此域名为 example.com。
操作的过程大致是这样的:
- PC 吞噬者 Peter 尝试访问网站 www.example.com
- Peter 的计算机通过询问 Peter 从其 ISP 获取的 DNS 服务器来对 www.example.com 进行 DNS 查找。
- 所述 DNS 服务器不知道,因此它将 Peters PC 向上转发。最终,Peters PC 到达根 DNS 服务器,根 DNS 服务器将 Peters PC 转发到 .com 区域的主服务器。无论您从谁那里购买了域名,您都应该设置您的域名的 DNS 服务器位于您的 VPS 的 IP 上,这就是 Peter 最终得到的答复。虽然听起来相当乏味,但 DNS 请求通常很小,因此在良好的连接上,这很少需要超过几毫秒的时间。
- Peter 知道 example.com 的 DNS 服务器 IP,现在向该 IP 发出 DNS 请求。DNS 请求通过端口 53 发出,并且您(应该)有一个 DNS 服务器监听请求。如果设置正确,DNS 服务器将使用您的 Web 服务器的 IP 进行响应。
- 然后,Peters 的 PC 将其网络浏览器连接到之前返回的 IP,如果一切设置正确,则按预期加载网站。
您的机器同时运行 DNS 服务器和 Web 服务器并不重要。它们在不同的端口上运行(分别为端口 53 和 80)。所有查找和连接最终都位于同一 IP 上也无关紧要。
我使用同一台机器进行多项服务:
- DNS
- 网页
- 邮件
- SSH
- 加载更多
之所以有效,是因为它们都在不同的端口上运行。每个具有 IP 的服务器都有一个与之关联的端口。端口范围从 1 到 65535,其中许多是保留的。特别是 1024 以下的端口。看这里一长串。本例中您特别感兴趣的是端口 53 和 80,正如前面简要提到的。
虽然我不知道您的 VPS 的任何细节,但我可以为您提供一些指导,告诉您需要阅读哪些内容才能开始使用:
- DNS 服务器 - 例如
named
- Web 服务器 - 例如 Apache,也简称为
httpd
- IP 寻址和端口编号
- 基本套接字操作