跳转至

DNS hosting

在这篇文章中

在域名注册商端配置 DNS

可以通过您的域名注册商进行 DNS 1 设置。要完成此任务,请导航至您的域名设置,选择您注册商的 NS 服务器,并为您的 IPv4 域输入以下 A-records,或为 IPv6 输入 AAAA-records

Record Subdomain IP-address/Data
A @ Server IP
A www Server IP

或者

Record Subdomain IP-address/Data
A @ Server IP
CNAME www Server IP

警告

所有针对该域名的额外记录更改都必须在注册商处的域名设置中进行。

在控制面板中使用 HOSTKEY 名称服务器配置 DNS

请确保注册商端的域名设置包含指向 HOSTKEY DNS 服务器的链接。如果没有,请添加它。

要为您的域名指定 DNS 服务器列表,请前往您域名注册商个人中心(personal cabinet)中的 DNS-servers 设置,并设置以下值:ns1.hostkey.comns2.hostkey.com

警告

对 DNS 区域(zone)所做的任何更改,包括对名称服务器或 DNS 记录的修改,可能需要长达 24 小时才能生效。

备注

如果在注册商端或 HOSTKEY 端未能设置 NS 服务器,将导致您的域名无法完成委派 (delegated)。

接下来,您可以在 Invapi 中进行 DNS 管理。为此,请前往 DNS Management 菜单:

随后,您将被重定向到 Manage DNS Zones 部分。

添加 DNS Zone

DNS 被划分为多个 DNS zones 2,它们清晰地定义了 DNS 命名空间内的管理区域。

您可以通过 DNS zones management 部分中的 Add DNS zone 对话框来添加 DNS zone。

  • Name — DNS zone 名称。这必须是一个完全限定域名 FQDN
  • SOA record (TTL, Mname, and others from the SOA record section) — 详情请参见 SOA record
  • Two NS records — 详情请参见 NS Entry

备注

除了 Name 字段外,所有字段都已预填了推荐值,因此您只需添加您的域名并点击 Add new DNS zone 按钮即可。

删除 DNS Zone

要删除 DNS zone,请从 DNS Zone 旁边的下拉列表中选择它,然后点击 Delete DNS Zone

修改 DNS records

配置 DNS record 的步骤如下:

  1. 通过点击用户名并从下拉菜单中选择 DNS Hosting 子菜单来打开 DNS Zone Management 部分;
  2. 若要添加或修改 DNS record,请从 DNS zone 旁边的下拉列表中选择所需的区域;
  3. 如果您想 add a new record,请点击 Add a new DNS record 按钮并从下拉列表中选择记录类型;
  4. 如果您想 modify or delete an existing record,请点击您想要更新或删除的 DNS record;
  5. 在打开的对话框中填写字段或进行更改;
  6. 点击 Add record 以添加新记录,或点击 Save record 以修改现有记录。

您可以为域名和子域名配置以下记录:

SOA record

在对话框中指定 SOA record 字段:

  • TTL — 有效期。这是 DNS records 中的一个字段,决定了每条记录的有效期,从而决定了记录更新到达最终用户所需的时间。较长的 TTL 通过增加缓存结果的可能性来加快 DNS 查询速度,但较长的 TTL 也意味着记录更新需要更长时间才能生效。
  • Mname — 此 DNS zone 的主主名称服务器 (primary master name server)。
    • UPDATE 请求必须重定向到主服务器。
    • NOTIFY 请求从主服务器向外传播。
  • Rname — 负责此 DNS zone 的管理员的电子邮件地址。通常,电子邮件地址被编码为一个名称。电子邮件中 @ 之前的ส่วน成为名称的第一个标签;@ 之后的域名成为名称的其余部分。在区域文件格式中,标签中的点使用反斜杠进行转义,因此电子邮件 [email protected] 在区域文件中将表示为 john\.doe.example.com
  • Serial — 此 DNS zone 的序列号。如果作为此服务器从属 (slave) 的二级名称服务器注意到此数字增加,则从属服务器会认为该区域已更新并启动区域传输:
  • Refresh — 二级名称服务器必须向主 SOA 服务器请求记录以检测 DNS zone 更改的秒数。对于小型且稳定的 DNS zones,建议设置为:86400 秒 (24 小时)。
  • Retry — 如果主服务器未响应,二级名称服务器应重试请求主服务器序列号的秒数。这应该小于 Refresh。对于小型且稳定的 DNS zones,建议设置为:7200 秒 (2 小时)。
  • Expire — 如果主服务器未响应,二级名称服务器应停止响应此 DNS zone 查询的秒数。该值应大于更新和重试的总和。对于小型且稳定的 DNS zones,建议设置为:3600000 秒 (1000 小时)。
  • Minimum — 用于计算负缓存 (negative caching) 的有效期。权威名称服务器接受 SOA TTL 和 SOA minimum 中的较小值,作为发送给负面回复的 SOA TTL。解析器使用生成的 SOA TTL 来确定它们被允许缓存负面响应的时间长短。对于小型且稳定的 DNS zones,建议值为 172800 秒 (2 天)。该字段最初的值是该 DNS zone 中资源记录的最小 TTL;其当前值已在 RFC 2308 中更改。

警告

仅在您确定正确时才更改 SOA record 值。错误的值会导致通过域名访问服务器时出现问题。

NS record

在对话框中指定 NS record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 记录的有效期(缓存)以秒为单位。这是其他 DNS 服务器可以缓存此记录的时间。通常设置为 3600;
  • Data — 一个或多个由空格分隔的 FQDN。例如:ns1.example.com ns2.example.com

A record

在对话框中指定 A record 字段:

以下是记录的 A 字段:

  • Name — 子域名的记录名称,对于 DNS zone 本身为空 (@);
  • TTL — 有效期。通常取值为 3600;
  • Data — 一个或多个由空格分隔的 IPv4 地址。例如:104.17.210.9 104.17.210.20。这通常是您的服务器地址。

备注

您可以在 Invapi 中服务器控制面板的 Network 选项卡中找到您的服务器 IP 地址。

AAAA record

在对话框中,指定 AAAA record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 有效期,通常取值为 3600;
  • Data — 一个或多个由空格分隔的 IPv6 地址。例如:2606:4700:4700::1111 2606:4700:4700::1001

CNAME record

在对话框中指定 CNAME record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 有效期,通常取值为 3600;
  • Data — 一个 FQDN。例如:example.com

MX record

在对话框中指定 MX record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 有效期,通常取值为 3600;
  • Priority — 指定应优先使用哪个邮件服务器。较低的 "priority" 值(如 10 或 20)更受青睐;
  • Data — 一个或多个邮件服务器 FQDN、IPv4 和 IPv6。例如 mail.example.com 2606:4700:4700::1001 104.17.210.20:

TXT record

在对话框中指定 TXT record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 有效期,通常取值为 3600;
  • Data — 文本(不带引号):

备注

例如,使用 TXT record 创建 DKIM record

DKIM record

在对话框中指定 DKIM record 字段:

  • Name — 记录名称,对于 DNS zone 本身为空;
  • TTL — 有效期,通常取值为 3600;
  • Datav=DKIM1; p=[Public key]

SPF record

在对话框中指定 SPF record 字段:

  • TTL - 有效期,通常取值为 3600;
  • Datav=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email [-//+]all

SRV record

在对话框中指定 SRV record 字段:

  • Service — 所需服务的符号名称;
  • Protocol — 您想要使用的服务的传输协议,通常为 TCP 或 UDP;
  • TTL — 有效期,通常取值为 3600;
  • Priority — 目标主机的优先级;值越低表示越优先;
  • Weight — 具有相同 priority 的条目的相对权重,值越高表示被选中的机会越大;
  • Port — 应查找该服务的 TCP 或 UDP 端口;
  • Target — 提供服务的机器的规范主机名:

验证 DNS record 添加情况

要确认域名 DNS zones 和 records 的添加与分配,请使用控制台中的 dig 工具,或通过在线工具进行检查,例如 Google's DNS Lookup 服务或 DNS Checker

通过 API 管理 DNS

可以使用 API calls 来添加、修改或删除 DNS zones 和 records,以及获取它们的当前值。

DNS record 类型

DNS records 是存储在权威 DNS 服务器上的指令。它们提供有关区域的信息,包括关联的 IP 地址以及如何处理查询。记录使用 DNS 语法,即一组命令 DNS 服务器的字符字符串。DNS records 具有 TTL(生存时间),这表示 DNS 服务器更新记录的频率。

每个 DNS zone 都应具备一组最小的 DNS records,以便用户能够使用域名访问其网站。其他记录可能用于其他用途。

主要的 DNS record 类型包括:

  • SOA record

    “起始授权”(SOA) DNS record 包含有关 DNS zone 的基本信息,包括管理员的电子邮件地址、区域最后一次更新的时间以及服务器在更新之间等待的间隔时间。

    为了符合 IETF 标准,所有 DNS zones 都需要一个 Start of Authority (SOA) record。该记录对于区域传输也至关重要,并将在创建 DNS zone 时自动添加。

  • NS record

    NSnameserver 的缩写。NS record 指定对 DNS zone 具有权威性的 DNS 服务器,即包含实际 DNS records 的服务器。NS records 通知互联网在哪里可以找到该 DNS zone 的 IP 地址。一个 DNS zone 通常有多个 NS records,指示该区域的主名称服务器和从名称服务器。正确配置的 NS records 对于用户访问网站或应用程序至关重要。

  • A record

    “A”代表地址记录 (address record),这是最基本的 DNS record 类型。它指定特定 DNS zone 的 IP 地址。

    A records 仅限于 IPv4 地址,而 AAAA records 用于具有 IPv6 地址的网站。

  • AAAA record

    AAAA records 将域名映射到 IPv6 地址。它们与 A records 类似,但存储的是 IPv6 地址而非 IPv4 地址。

  • CNAME record

    “规范名称”(CNAME) record 从域名别名指向一个“规范”域名。当域名或子域名是另一个域名的别名时,会使用 CNAME record 而不是 A record。所有 CNAME records 必须指向一个域名,而不是 IP 地址。

    假设 blog.example.com 有一个值为 example.com(不带 blog)的 CNAME record。这意味着当 DNS 服务器命中 blog.example.com 的 DNS record 时,它实际上会为 example.com 执行另一个 DNS 查询,并通过其 A record 返回 example.com 的 IP 地址。在这种情况下,我们会说 example.comblog.example.com 的规范(或真实)名称。

  • MX record

    “邮件交换”(MX) DNS record 将电子邮件重定向到邮件服务器。MX record 根据 SMTP(所有电子邮件的标准协议)指定应如何路由电子邮件消息。与 CNAME records 类似,MX record 必须始终指向一个不同的域名。

  • TXT record

    文本 (TXT) record 允许域名管理员在域名系统 (DNS) 中输入文本。TXT record 最初设计用于存储人类可读的备注。然而,现在的 TXT records 也可以包含一些机器可读的数据。单个域名可以有多个 TXT records。

  • DKIM record

    DomainKeys Identified Mail (DKIM) 是一种电子邮件身份验证方法,有助于防止垃圾邮件发送者和其他攻击者伪装成合法域名。

    所有电子邮件地址都有一个域名——即 @ 符号之后的地址部分。垃圾邮件发送者和攻击者在发送电子邮件进行网络钓鱼攻击或其他类型的欺诈时,可能会尝试冒充该域名。

  • SPF record

    “发件人策略框架”(SPF) record 是 TXT record 的一种,它列出了所有有权从特定域名发送电子邮件的服务器。

    最初创建 SPF records 是因为电子邮件使用的标准协议——简单邮件传输协议 (SMTP) 本身并不对电子邮件中的 from 地址进行身份验证。这意味着如果没有 SPF 或其他身份验证记录,攻击者可以轻松冒充发件人,并诱骗接收者采取行动或分享信息。

  • SRV record

    “服务”(SRV) record 指定特定服务(如 VoIP、即时通讯等)的主机和端口。大多数其他 DNS records 仅指定服务器或 IP 地址,但 SRV records 还包括该 IP 地址上的端口。某些互联网协议需要 SRV records 才能运行。

添加域名示例

添加 DNS Zone 和 Records

要在 Invapi 上设置域名,请遵循以下步骤。

  1. 登录您的 Invapi 账户。

    • 在您的账户菜单中导航至 DNS Hosting 部分。
    • 点击 Add DNS zone 按钮。
    • Add DNS zone 表单中,在 Name 字段中输入您的域名 (myowndomain.com)。
    • 点击 Add a new DNS zone 按钮以创建新的 DNS zone。
  2. 为该域名添加 A record。

    • 在 Invapi 的 DNS 设置中,点击 Add new DNS record 按钮并选择 A
    • 在出现的表单中,在 Name 字段中输入 @,并在 Data 字段中输入您的服务器 IP 地址。
    • 点击 Add Record 按钮。
  3. www. 子域名添加 CNAME record。

    • 在 Invapi 的 DNS 设置中,点击 Add new DNS record 按钮并选择 CNAME
    • 在出现的表单中,在 Name 字段中输入 www,并在 Data 字段中输入您的域名 (myowndomain.com)。
    • 点击 Add Record 按钮。

备注

或者,您可以添加第二个 A record,其值为 Name = wwwData = 服务器 IP 地址。

如果一切正确,您应该会看到您的 DNS zone 有类似的参数设置:

Name Type Data
@ SOA ns1.hostkey.com. johnhostkey@example.net. 2024050803 14400 3600 604800 3600
@ NS ns1.hostkey.com ns2.hostkey.com
@ A 176.222.34.23
www CNAME myowndomain.com

验证 DNS record 传播

等待 DNS records 在整个互联网中传播(这可能需要 2 到 24 小时不等)。 使用 dignslookup 命令来验证您的 DNS records 是否由 HOSTKEY 的 NS servers 提供服务:

dig myowndomain.com
dig www.myowndomain.com
nslookup myowndomain.com
nslookup www.myowndomain.com

用于自动获取 SSL 证书的标准 NGINX-Certbot

HOSTKEY 基础设施使用基于 NGINX 和 Certbot 的标准解决方案来管理 SSL 证书。该解决方案利用官方的 docker-nginx-certbot 镜像,并为所有客户端控制面板自动管理 SSL 证书。

部署 nginx-certbot 容器后,docker-compose 文件位于 /root/data/nginx 目录中,默认配置位于该目录下的 user_conf.d 子目录中。这种结构允许配置额外的参数,例如:

  • 修改 Let's Encrypt 的电子邮件地址;
  • 自定义 Nginx 配置;
  • 添加自定义域名。

为确保服务功能正常,需要满足以下前提条件:

  1. 为域名正确配置 DNS records;
  2. 为 Let's Encrypt 验证开放 80 端口;
  3. 为 HTTPS 连接开放 443 端口。

  1. 域名系统 (DNS) 是互联网的“电话簿”。当用户在浏览器中输入 google.comhostkey.com 等域名时,DNS 负责为这些网站找到正确的 IP 地址。随后,浏览器使用这些地址与源服务器或 CDN 边缘服务器进行通信,以访问网站信息。这一切都是通过 DNS 服务器实现的:即旨在响应 DNS 查询的机器。 

  2. 这是受特定组织或管理员管理的 DNS 命名空间的一部分。它是一个管理空间,可以对 DNS 组件(如权威名称服务器)进行更细粒度的控制。域名空间是一个层次树,顶端是 DNS 根域。一个 DNS zone 从树中的一个域名开始,并可以扩展到子域名,从而允许单个实体管理多个子域名。 

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×