What Is DNS and How to Set A Record and CNAME

什么是DNS?

DNS代表域名系统(Domain Name System)。它是一个系统,将域名(如www.example.com)翻译成托管这些网站的服务器的IP地址,以便浏览器知道在哪里连接。

把DNS看作互联网的电话簿。当你在浏览器中输入域名时,DNS会查找匹配的IP地址并自动引导你访问该网站 — 这一切在不到一秒的时间内完成。

DNS如何工作?

当你在浏览器中输入域名时,DNS解析过程分以下步骤进行:

  1. 你的浏览器向DNS解析器发送请求(通常来自你的ISP、Google DNS或Cloudflare)
  2. DNS解析器查询根名称服务器以查找域名的位置
  3. 根服务器转发到TLD名称服务器(例如.com或.th)
  4. TLD服务器转发到域名的权威名称服务器
  5. 权威名称服务器使用服务器的IP地址响应
  6. 你的浏览器连接到该IP并加载网站

常见DNS记录类型

每种DNS记录类型都有不同的用途。下表列出了最常用的类型、每种的功能和实际示例。了解每种记录类型的作用有助于你第一次正确配置DNS,无需反复试验:

记录类型用途示例
A记录将域名指向IPv4服务器地址 — 每个网站都需要的最基本记录example.com → 103.1.2.3
AAAA记录将域名指向IPv6服务器地址 — 的作用类似A记录,但用于下一代IPexample.com → 2001:db8::1
CNAME将一个域名指向另一个域名(别名) — 理想用于应该跟随主域名的子域www → example.com
MX记录指定域名的邮件服务器,带有优先级值以排序备用服务器mail.example.com 优先级 10
TXT记录存储SPF、DKIM、DMARC的文本或各种服务的域名验证v=spf1 include:... -all
NS记录指定管理域名DNS的名称服务器 — 告诉互联网该域名的DNS服务器在哪里ns1.asiagb.com
TTL不是记录,而是时间值(以秒为单位),告诉解析器在重新查询前缓存结果多长时间3600 = 1小时

如何设置A记录指向托管服务

如果你的域名和托管服务由不同的提供商注册,你需要设置A记录将域名指向托管服务器的IP地址。方法如下:

  1. 登录你的域名注册商并进入DNS管理面板
  2. 从欢迎邮件或控制面板中查找托管服务器的IP地址
  3. 添加新的A记录:名称 = @(或yourdomain.com),类型 = A,值 = 你的托管IP
  4. 添加另一个A记录:名称 = www,类型 = A,值 = 相同的IP(或指向@的CNAME)
  5. 保存更改并等待24–48小时进行DNS传播

如果你的域名和托管都是在AsiaGB注册的,DNS将自动配置 — 无需手动设置。

逐步设置A记录和CNAME

现在你已经了解了每种记录类型的作用,让我们逐步完成实际设置 — 分别说明A记录(指向IP)和CNAME记录(指向另一个域名)。这是你启动网站时使用最多的两种记录。

如何添加A记录

  1. 打开管理你的域名DNS的提供商的DNS管理面板
  2. 点击"添加记录"并选择类型A
  3. 名称 / 主机字段中,输入@表示根域(example.com)或子域如blog表示blog.example.com
  4. 值 / 指向字段中,输入服务器的IPv4地址,例如103.1.2.3
  5. TTL设置为3600(1小时)或自动,然后保存

如何添加CNAME

CNAME将子域指向另一个域名而不是直接IP。优点是当目标IP更改时,你无需编辑CNAME — 它会自动跟随目标域名:

  1. 点击"添加记录"并选择类型CNAME
  2. 名称 / 主机字段中,输入所需的子域,例如www
  3. 值 / 目标字段中,输入目标域名,例如example.com(某些系统需要末尾点)
  4. 保存记录并等待DNS传播

注意:根据DNS标准,不要在@(根域)上创建CNAME,因为它会与MX和NS等其他记录冲突。如果你需要根域指向其他地方,请改用A记录。

DNS传播需要多长时间 / 什么是TTL?

DNS传播是全球DNS服务器逐步获取你的新记录值的过程 — 这不会同时在所有地方发生。每个解析器根据之前设置的TTL缓存前一个结果,因此某些位置会快速看到新值,而其他位置在缓存过期前仍然看到旧值。

TTL(生存时间)是一个秒数值,告诉解析器在再次查询前缓存DNS结果多长时间。低TTL(例如300秒 = 5分钟)使更改快速生效但增加查询负载,而高TTL(例如86400 = 24小时)减少DNS负载但使更改应用速度较慢。

迁移服务器前的提示:至少提前一天将你计划更改的记录的TTL降低到300秒。当你进行实际切换时,A记录更改将在几分钟内生效 — 然后在迁移完成后将TTL提高到较高值。

重要:更改DNS设置或添加新记录后,请留出24–48小时进行DNS传播 — 全球DNS服务器更新其记录所需的时间。在此期间,对你的网站的访问可能不一致,具体取决于访问者的位置。在得出配置错误的结论之前,请等待完整的传播期。

AsiaGB每个域名都包括免费DNS管理

每个在AsiaGB注册的域名都附带免费DNS管理。你可以随时通过客户端区域添加、编辑或删除DNS记录,支持A记录、CNAME、MX、TXT、NS等。

AsiaGB还通过DNS面板支持电子邮件转发和URL重定向,让你对域名有完全控制,无需依赖外部服务。

域名定价:.com从500泰铢/年,.co.th从800泰铢/年,.in.th从600泰铢/年 — 所有域名都包括免费DNS管理和WHOIS隐私保护。

常见DNS问题及其解决方法

当你配置了DNS但网站仍然不如预期工作时,原因通常是几个经常出现的问题之一。以下是最常见的问题及其解决方法:

已更改DNS但网站仍不加载

这通常意味着DNS仍在传播 — 先等待完整的期限,或者尝试清除本地DNS缓存(例如Windows上的ipconfig /flushdns)并从不同网络测试,例如通过4G/5G移动网络打开网站以绕过ISP的旧缓存。

错误的名称服务器

如果注册商处的NS值与实际的DNS提供商不匹配,你的任何记录都将不起作用。验证域名注册页面上的NS值与你实际使用的DNS提供商的名称服务器相匹配。

网站可以访问但电子邮件不到达

这经常发生在A记录正确但忘记设置MX记录,或者MX指向错误的服务器时。检查MX记录及其优先级是否指向正确的邮件服务器,并确认SPF的TXT记录。

www可以访问但裸域不行(或反之)

这是由只为其中一个设置记录引起的。确保你同时有@(根域)和www的记录 — 要么有两个A记录,要么在www上有指向根域的CNAME。

关于DNS的常见问题

DNS传播需要多长时间?

全球DNS服务器完全更新通常需要24–48小时,尽管在许多情况下更改在几小时内可见,具体取决于之前设置的TTL和每个用户的解析器。

A记录和CNAME之间有什么区别?

A记录将域名直接指向IP地址,而CNAME将域名指向另一个域名(别名)。对于根域和当你知道确切IP时使用A记录;对于应该自动跟随目标域名值的子域使用CNAME。

我可以在根域上设置CNAME吗?

根据DNS标准,你不应该在根域(@)上设置CNAME,因为它与MX和NS等记录冲突。改为在根域上使用A记录。如果你需要根域指向另一个域名,某些提供商提供ALIAS/ANAME功能作为替代方案。

更改DNS会导致临时停机吗?

如果在切换前正确配置了新记录,网站不会关闭。在传播期间,某些用户将到达旧服务器,某些用户将到达新服务器。提前降低TTL并在两台服务器上保持相同的内容使迁移无缝进行。

注册具有免费DNS管理的域名

.com域名从500泰铢/年起,包括免费DNS管理、WHOIS隐私和电子邮件转发。

注册域名