# Civo DNS 和域名，在一个 Mac 窗口里改。

Canonical URL: <https://civo-cloud-manager.app/zh/civo-dns-manager-mac/>

1.  [首页](https://civo-cloud-manager.app/zh/)
3.  Mac 上的 Civo DNS

最后更新 2026年10月18日  作者： [Marcel R. G. Berger](https://marcelrgberger.com/)

把域名指向 Civo 的 nameserver，之后把这个 zone 放在原生应用里管，而不是一个浏览器标签页。

Civo 为你在别处注册的域名托管 DNS。配置很短：在注册商那边改 nameserver，在 Civo 里创建域名，然后加记录。真正难受的是之后的维护，因为需要动手的那一刻通常是某个尴尬时间点的证书校验，而你正在一个网页控制台里点到第三层，试着把一个 TXT 值粘对。CivoCloudManager 管的是同一个 zone、同一套 Civo REST API v2，只不过那个窗口已经开着了。

## 把域名指向 Civo，从头到尾

1.  01
    
    域名在别处注册
    
    Civo 不卖域名注册。它自己的文档写得很清楚：DNS 服务纯粹用来托管 zone。域名留在你买它的那家注册商，搬走的只有 nameserver 委派。
    
2.  02
    
    把 nameserver 设成 ns0.civo.com 和 ns1.civo.com
    
    在注册商的控制面板里，把当前的 nameserver 换成 `ns0.civo.com` 和 `ns1.civo.com`。这两个主机名就是 Civo 文档里写的。改动多久生效，由旧委派的 TTL 和你的注册商决定，不由 Civo 决定，所以下面加的东西要过一阵子外界才看得到。
    
3.  03
    
    在 Civo 里创建域名，让 zone 存在
    
    光把 nameserver 委派过去没有用，Civo 得有一个 zone 来应答。在 CivoCloudManager 里这是 Domains 视图：工具栏上的加号创建域名。应用把它 POST 到 Civo REST API v2 的 /dns 端点。域名是账户级的，不绑定某个区域，所以你在初始设置时选的区域不会把一个 zone 圈起来。
    
4.  04
    
    添加记录
    
    在列表里展开一个域名，它的记录就出现在下面，每条显示类型、名称、值和 TTL。“添加记录”打开一个编辑器，里面有类型选择器、名称输入框（www、mail，顶点用 @）、值输入框、初始为 600 的 TTL，以及只在你选 MX 或 SRV 时才出现的优先级字段。
    
5.  05
    
    对着 API 验证，别只对着你的解析器
    
    在应用里重新加载域名，确认 Civo 存下来的就是你发过去的。如果之后查询还是失败，原因通常是委派或缓存，而不是记录写错了。应用的“API 健康状况”视图一屏就告诉你 Civo 的 DNS 端点到底还应不应答，在你开始猜之前，先把 Civo 的问题和解析器的问题分开。
    

## 应用能写哪些记录类型

类型选择器提供 A、AAAA、CNAME、MX、TXT、SRV 和 NS。只有 MX 和 SRV 会问优先级，因为带优先级的就这两种。TTL 预填 600，这也是 Civo 自己文档里的默认值。Civo 的 CLI 文档只点名了 A、CNAME、TXT、SRV 和 MX，所以你写 AAAA 或 NS 记录时，读一下应用回显给你的响应，别默认它已经落下了。删除记录是故意做慢的：确认面板要求你把记录标签一字不差地敲一遍，删除按钮才会变成可用。

## 证书校验的时候，原生编辑器为什么更好用

一次 ACME DNS-01 校验会给你一长串随机字符和一个很短的窗口。在应用里，域名就地展开，已有记录在你操作时一直看得见，对某条记录选 Edit 会打开一个已经填好当前类型、名称、值和 TTL 的面板，所以改一个 TXT 值就是选中、粘贴、保存。没有页面跳走，没有重新加载，你正在比对的那条记录还在屏幕上。每次保存都把页面重置一遍的网页表单，恰好消耗掉你那一刻最缺的东西：注意力。

## 反向 DNS 在实例上，不在 zone 里

反向 DNS 是 Civo 一个文档很薄、但确实存在的功能，而且它根本不属于 DNS zone。它是实例的一个属性，所以在实例详情页里设置：Reverse DNS 那一行要么显示当前主机名，要么显示 Not set，点一下这一行就变成输入框。保存会写入实例上的 `reverse_dns` 字段，改动会带时间戳记进应用本地的活动日志。这对任何要发邮件的东西最要紧，因为收信服务器通常会检查一个 IP 能不能反查回一个说得通的主机名。

## 它不是什么：它不替代 external-dns

external-dns 是一个 Kubernetes 控制器，内置 Civo provider，用 `CIVO_TOKEN` 认证，根据 Service 和 Ingress 自动创建记录。CivoCloudManager 这些事一件都不做。它没有集群侧组件，不对任何东西做出反应，也永远不会因为出现了一个 Service 就去建一条记录。如果你的记录应该跟着工作负载走，那就跑 external-dns，而且继续跑。只要你别去碰 external-dns 管理的那些名称，两者在同一个域名上共存不会冲突：人管的记录用应用，比如顶点、邮件、验证字符串和委派，其余的交给控制器。

## 记录不生效时，先排除 API

DNS 端点是应用在“账户”版块里健康检查的十六个 Civo REST 端点之一。每个端点依次调用，十秒超时，你会看到 HTTP 状态码加上以毫秒计的往返时间，低于 200 ms 绿色，低于 500 ms 橙色，更高红色。标题栏把这一轮总结成“All Systems Operational”，或者一个不可用端点的计数。这是件小事，但能省下一类很具体的浪费：刚写的记录没出现时，你可以先看看 Civo 到底有没有接受这次写入，再去刷缓存、怪解析器。

## 凭据放在哪里

这一切由一把 Civo API key 驱动，它存在 macOS Keychain 里，应用在显示它之前要先过 Touch ID。Mac 和 Civo 之间没有发行方的服务器，也没有遥测。应用是沙盒化的，只申请四项权限，需要 macOS 15 或更新版本，Apple silicon 或 Intel 都可以；源代码在 github.com/marcelrgberger/civo-cloud-manager，比起看一段描述，你可以直接读请求代码。

## 改一条 Civo 记录的三种方式

与其说是竞争关系，不如说是不同的活。老实的划分是：其中一个为自动化而生，另外两个为人而生。

| 能力  | Civo 控制台（浏览器） | external-dns | CivoCloudManager |
| --- | --- | --- | --- |
| 手动改一条记录 | 支持  | 不是它的用途 | 支持，编辑器已预填 |
| 根据 Kubernetes Service 和 Ingress 自动创建记录 | 不支持 | 支持，这就是它的意义 | 不支持，以后也不会 |
| 需要一个运行中的 Kubernetes 集群 | 不需要 | 需要  | 不需要 |
| 实例上的反向 DNS | 支持  | 不支持 | 支持，在实例上就地编辑 |
| API key 存在哪里 | 浏览器会话 | 集群里的 Kubernetes Secret | macOS Keychain，查看要过 Touch ID |
| Civo API 端点的健康状况 | 不支持 | 不支持 | 十六个端点，带状态和延迟 |

## Civo DNS 问题，逐个回答

### 怎么把域名指向 Civo？

在注册商那里把 nameserver 改成 `ns0.civo.com` 和 `ns1.civo.com`，然后在 Civo 里创建这个域名，让它有一个 zone 来应答。Civo 托管 DNS，但不做域名注册，域名本身还留在你买它的地方。两半都不能少：有委派没有 zone，查询什么也拿不到；有 zone 没有委派，则根本没人来问它。

### CivoCloudManager 里能编辑哪些 DNS 记录类型？

类型选择器提供 A、AAAA、CNAME、MX、TXT、SRV 和 NS。优先级字段只在 MX 和 SRV 出现，TTL 预填 600，也就是 Civo 文档里的默认值。Civo 自己的 CLI 文档列出的是 A、CNAME、TXT、SRV 和 MX，所以写下第一条 AAAA 或 NS 记录之后，检查一下响应。

### 不用浏览器也能改 Civo DNS 吗？

可以。Civo CLI 在终端里做这件事，CivoCloudManager 在原生 macOS 窗口里做，用的是同一套 Civo REST API v2。在应用里，域名就地展开显示记录，Edit 打开一个预填当前值的面板，删除则需要敲一遍记录标签来确认。

### CivoCloudManager 会取代 external-dns 吗？

不会。external-dns 是一个 Kubernetes 控制器，内置 Civo provider，随着 Service 和 Ingress 的变化自动创建和删除记录。CivoCloudManager 没有集群侧组件，自己不会创建任何东西。在同一个域名上两个一起跑就行：控制器管它负责的那些名称，剩下的归你。

### 反向 DNS 是干什么的，在 Civo 上哪里设置？

反向 DNS 把实例 IP 映射回一个主机名，邮件接收方在收信之前经常会检查它。在 Civo 上它是实例的属性，不是 zone 里的一条记录，所以在 CivoCloudManager 里到实例详情页设置：点 Reverse DNS 那一行，输入主机名，保存。

指南

## 一步一步，以及诚实的对比。

-   [01 连接 Civo API Key 在 Civo 控制台生成密钥，粘贴一次，之后交给 macOS Keychain 保管。](https://civo-cloud-manager.app/zh/connect-civo-api-key-mac/)
-   [02 为你的 IP 开防火墙 手动流程、它留下的动态 IP 隐患，以及一条免费的菜单栏路径：到点自动关掉规则。](https://civo-cloud-manager.app/zh/open-civo-firewall-for-your-ip/)
-   [03 对比 Lens、OpenLens 和 k9s 三个与集群无关的工具，一个只认 Civo 的。差别决定了你想开着哪一个。](https://civo-cloud-manager.app/zh/civo-kubernetes-gui-vs-lens-k9s/)
-   [04 通过 S3 使用 Civo Object Storage 区域 endpoint，s3cmd、rclone 和 AWS CLI 的可用配置，以及原生客户端有什么不一样。](https://civo-cloud-manager.app/zh/civo-object-storage-s3-macos/)
-   [05 更新日志 每一个已发布的版本，最新的在前，附带商店更新说明装不下的细节。](https://civo-cloud-manager.app/zh/changelog/)

深入了解

## 按 Civo 产品拆开细说。

CivoCloudManager 覆盖的每个 Civo 领域都有单独一页，讲清细节、取舍和架构。挑一个离你日常最近的。

-   [01 Mac 上的 Civo CLI 替代方案 图形界面在哪些地方赢过 CLI，哪些地方不如，以及两者怎么共存。](https://civo-cloud-manager.app/zh/civo-cli-alternative/)
-   [02 Mac 上的 Civo Kubernetes 图形界面 实时集群仪表盘、实时 pod 日志，不需要 kubectl。](https://civo-cloud-manager.app/zh/civo-kubernetes-gui/)
-   [03 Mac 上的 Civo Object Storage 浏览器 原生的 S3 兼容浏览器。闲置 bucket 可暂停到中央保险库。](https://civo-cloud-manager.app/zh/civo-object-storage-browser/)
-   [04 在 Mac 菜单栏管理 Civo 防火墙 每个防火墙一键开关，自动识别 IP，支持自动关闭定时器。](https://civo-cloud-manager.app/zh/civo-firewall-mac/)
-   [05 Mac 上的 Civo 费用仪表盘 来自 Civo charges API 的真实费用。周期选择器和月末预测。](https://civo-cloud-manager.app/zh/civo-cost-dashboard/)
-   [06 Civo 区域 哪些 Civo 产品在哪个区域运行，GPU 在哪里，以及 CivoCloudManager 如何把四个区域放进一个窗口。](https://civo-cloud-manager.app/zh/civo-regions/)

## 把 zone 放在你手已经在的地方。

CivoCloudManager 在 Mac App Store 一次性买断，从首次启动起有七天完整功能，之后菜单栏防火墙档位依然免费。

[在 Mac App Store 下载](https://apps.apple.com/cn/app/civocloudmanager-kubernetes/id6760776010?mt=12)

需要 macOS 15 (Sequoia) 或更新版本。

[返回 CivoCloudManager 概览](https://civo-cloud-manager.app/zh/)
