什么是DNS域名解析系统?
DNS域名系统的缩写是Web环境中最常见但容易被误解的组件之一。简而言之,DNS通过将域名与实际的Web服务器连接起来,帮助引导互联网上的流量。本质上,它需要一个人性化的请求——一个像ping这样的域名——并把它转换成一个计算机友好的服务器IP地址——比如47.92.146.138。
许多人把DNS称为“互联网电话簿”,因为它是一种查找地址和连接的设备。没有DNS,你必须记住每个站点的IP地址才能访问它…嗯,那不行!
DNS是如何工作的?
DNS传播
DNS配置–如何设置您的域名
免费DNS和高级DNS
DNS是如何工作的?
当用户在Web浏览器中输入URL时,DNS开始将URL连接到实际服务器的IP地址。这被称为DNS名称解析,它涉及DNS递归查询各种名称服务器,以找出服务器的实际IP地址。
DNS主要关注四个组件:
域名注册商
名服务程序
DNS记录
基于网络的服务(如网站托管和电子邮件)
让我们来谈谈这四个组件以及它们是如何协同工作的。
域名注册商
域名注册商是购买域名并维护域名注册的服务提供商(如GoDaddy或Namecheap或阿里云)。
注册商是域名服务器被指定的地方。
大多数注册商包括基本的DNS服务,但他们需要支付域名注册费。因此,除非您将自定义名称服务器添加到域中,否则域将使用注册商的标准名称服务器。这意味着在大多数情况下,默认情况下DNS记录由注册服务商管理。
名服务程序
名称服务器是一种非常像Web服务器的服务器。但是,它们被配置为存储DNS记录,而不是为网站或web应用程序提供服务。
这意味着当您想要更改任何DNS记录时,您必须在注册商或第三方服务(如Cloudflare)指定的名称服务器上进行更改。
这一步通常有点混乱,所以让我们看一个虚构的例子来分解它:
您的域名(example.com)已在GoDaddy注册。
将您的Cloudflare域名服务器添加到GoDaddy帐户中的example.com,以开始使用Cloudflare。
你在哥达迪更改了example.com的域名系统记录。这个改动不会有任何作用,因为该域不使用GoDaddy的名称服务器。
您在Cloudflare中对example.com进行了相同的DNS更改。此更改将生效,因为该域正在使用Cloudflare的名称服务器。
所以,换句话说,如果你只使用GoDaddy,你将需要用GoDaddy更新你的DNS记录,因为它们控制着你的域名服务器。如果您使用Cloudflare,您将需要使用Cloudflare更新您的DNS记录,因为它们控制您的名称服务器。使用DNSPod的用户也是如此。
DNS记录
DNS记录将域与基于Web的服务相关联。
有几种不同类型的DNS记录,但在大多数情况下,只使用4或5种类型的DNS记录:
a:记录:用于将域或子域指向IPv4地址。这是用于将域(如example.com)指向example.com网站所在的Web服务器的规则。(注意:如果Web服务器使用IPv6地址而不是IPv4地址,则使用AAAA记录而不是A记录)。了解有关记录a的更多信息。
CNAME记录:用于将子域与主域或标准域相关联。这种类型的规则通常用于将www子域与主域相关联,例如www.example.com和example.com。了解更多关于CNAME唱片公司的信息
MX记录:用于将域与电子邮件服务相关联。如果您想从example.com向特定的电子邮件服务(如Gmail)发送邮件,请使用此类规则。了解关于MX记录的更多信息
TXT记录:用于将任意文本与域相关联。最常见的是,TXT记录用于将发件人策略框架与域相关联,以便提高电子邮件的可送达性,并防止垃圾邮件发送者在发送垃圾邮件时滥用域名。
闪电的DNS记录示例
网页服务
在我们的例子中,web服务是网站托管。必须将记录(或AAAA记录)添加到域的名称服务器,以将域与托管网站的Web服务器相关联。
还有许多其他类型的Web服务通过DNS记录与域相关联:电子邮件、SFTP、托管控制面板、Web邮件应用程序和phpMyAdmin等等。
DNS传播
当您对给定域的DNS进行更改时(如更新DNS记录或切换名称服务器),这些更改需要一些时间才能生效。这个时间叫做传播。
从一种情况到另一种情况的传播有很大的不同。
对于DNS记录,每个记录都有一个关联的生存时间(TTL)值。该值决定对DNS记录的更改生效的速度。
在大多数情况下,默认情况下,DNS记录的TTL设置为1或4小时。这意味着大多数情况下,DNS更改需要4个小时才能生效。更高的TTL值也是可能的,这意味着当DNS记录更新时,需要更多的时间才能使更改完全生效。在一些极端情况下,一些可能具有高达一周的TTL值。
在名称服务器的情况下,注册商确定TTL值,并且通常不能改变。这意味着当您切换到新的域名服务器时,这些更改可能需要几分钟到一天或更长时间才能生效。
宿主服务提供商无法加速DNS传播。您可以做的是在对DNS记录进行任何更改之前充分减少TTL,以便尽快传播更改。您可以使用whatsmydns.net等在线工具来测试您的DNS更改是否已传播。
DNS配置–如何设置您的域名
通常有两种方法可以设置DNS,你可以选择你喜欢的任何一种方法。
一种方法是通过域名注册机构将域名服务器指向主机的域名服务器。至少有两个独立的URL,如下所示(可以有两个以上的URL,但不能少于两个):
ns1.yourhost.com
ns2.yourhost.com
也可以使用DNSPod这样的域名解析服务提供商,免费使用他们的名称服务器,如下图:
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
域名解析服务
即使您使用附带的高级DNSPod,您仍然需要设置A记录和CNAME记录,以便在服务器上使用您的域。
除了简单地改变域名服务器,另一个选择是在域名注册机构实际编辑域名的记录。答:该记录实际上包含您的服务器的IP地址,并将流量导向正确的位置。
免费DNS和高级DNS
你可以找到免费域名和高级域名。
选择高质量DNS的原因之一是速度和可靠性。查找DNS记录和定向流量是需要时间的,哪怕只有几毫秒。
通常情况下,你从域名注册商那里获得的免费DNS相对较慢,而高级DNS通常提供更好的性能。
另外,高级DNS可以提供更好的安全性和可用性,尤其是当你受到DDoS攻击的时候。
为了在您的域注册商提供的免费DNS和高级DNS之间找到一个很好的中间点,Cloudflare DNS是一个免费服务,它仍然提供高级DNS的许多好处。
以下是中国一些不错的高级DNS服务:
DNSPod-腾讯云
云DNS-阿里云
智能云DNS-百度云解析
总结
我希望你现在对DNS的工作原理有更多的了解。一般来说,DNS用于将基于网络的服务(如网站托管和电子邮件)与域名相关联。包括以下四个步骤:
该域必须在域名注册机构注册。
域名服务器必须由域名注册机构指定。
DNS记录必须添加到由域注册商或第三方服务(如Cloudflare)指定的名称服务器。
必须完全传播DNS记录,以便将域与每个相关的Web服务相关联。