# DNS

> Quản lý DNS của khách hàng ngay trên máy chủ bằng PowerDNS: vùng và bản ghi, DNSSEC, nameserver riêng, cụm DNS chuyển vùng có ký TSIG và ghi nhận IP thật sau Cloudflare.

Source: https://zopanel.net/vi/docs/dns  
Updated: 2026-10-07

ZoPanel có thể chạy một máy chủ DNS authoritative (PowerDNS) để bạn và khách hàng quản lý vùng DNS ngay cạnh website sử dụng nó. Quản lý DNS tại đây là tuỳ chọn, nhưng bắt buộc nếu muốn dùng chứng chỉ SSL wildcard.

## Cài máy chủ DNS (quản trị viên)

1. Chọn tên nameserver, ví dụ `ns1.congty.com` và `ns2.congty.com`.
2. Tại nhà đăng ký của `congty.com`, tạo glue record (host record) cho các tên đó trỏ về IP máy chủ này.
3. Trong ZoPanel, mở **DNS**, nhập **Nameserver** (1 đến 6 tên, cách nhau bởi dấu phẩy) rồi bấm **Cài máy chủ DNS**. Bạn cũng có thể cài từ **Thành phần**.

Trình cài đặt mở cổng 53 (TCP và UDP) trên tường lửa. Nếu máy chủ DNS ngừng trả lời, trang DNS hiển thị **Máy chủ DNS không phản hồi**.

## Tạo vùng DNS

1. Ở trang **DNS**, trong thẻ **Vùng DNS**, **Chọn tên miền** trong số website của bạn rồi bấm **Thêm vùng**. Chỉ tạo được vùng cho tên miền đã có website trong tài khoản.
2. Tại nhà đăng ký tên miền, khai báo các nameserver hiển thị ở mục **Nameserver cần khai báo ở nhà đăng ký**.

Vùng mới có sẵn:

| Tên | Loại | Giá trị |
| --- | --- | --- |
| `@` | A | IP máy chủ (hoặc IP riêng của tài khoản) |
| `www` | A | cùng IP |
| `@` | CAA | `0 issue "letsencrypt.org"` |
| MX, SPF, DKIM, DMARC | | được thêm nếu tên miền đã bật email |

Bản ghi CAA chỉ cho phép Let's Encrypt cấp chứng chỉ cho tên miền. Nếu bạn mua chứng chỉ của nhà cấp khác, hãy thêm bản ghi CAA cho nhà cấp đó trước.

## Sửa bản ghi

Mở vùng để sửa bản ghi dạng bảng: **Tên**, **Loại**, **Ưu tiên**, **Giá trị** và **TTL**. Bấm **Thêm bản ghi**, sau đó **Lưu** để áp dụng mọi thay đổi cùng lúc.

| Loại | Định dạng giá trị | Ví dụ |
| --- | --- | --- |
| A | địa chỉ IPv4 | `203.0.113.10` |
| AAAA | địa chỉ IPv6 | `2001:db8::10` |
| CNAME | tên máy | `shop.example.net` |
| MX | tên máy, kèm **Ưu tiên** | `mail.example.com`, ưu tiên `10` |
| TXT | văn bản | `v=spf1 mx a ~all` |
| SRV | `weight port target`, kèm **Ưu tiên** | `5 5060 sip.example.com` |
| CAA | `flags tag "value"` (tag `issue`, `issuewild` hoặc `iodef`) | `0 issue "letsencrypt.org"` |
| NS | tên máy (uỷ quyền một subdomain) | `ns1.dns-khac.com` |

Quy tắc:

- Dùng `@` cho gốc vùng và tên tương đối (`www`, `mail`) cho phần còn lại.
- Không được đặt bản ghi NS và CNAME ở gốc vùng.
- TTL từ 60 đến 604800 giây; mặc định 3600.

Bản ghi SOA và bản ghi NS của chính vùng do ZoPanel quản lý và không hiển thị.

## DNSSEC

DNSSEC ký số vùng để resolver phát hiện câu trả lời giả mạo.

1. Mở vùng và bật **DNSSEC**.
2. Sao chép **Bản ghi DS cho nhà đăng ký** hiển thị bên dưới công tắc.
3. Thêm chúng tại nhà đăng ký tên miền (thường ở mục "DNSSEC" hoặc "DS records").

Muốn tắt DNSSEC về sau, hãy xoá bản ghi DS ở nhà đăng ký trước và chờ hết TTL, rồi mới tắt công tắc. Nếu không, resolver sẽ coi tên miền là lỗi.

## SSL wildcard

Khi vùng được quản lý và trỏ nameserver về đây, website có thể nhận chứng chỉ `*.example.com`: chọn **Thêm \*.example.com (wildcard)** trong tab **SSL** của website. Xem [Chứng chỉ SSL](/vi/docs/ssl).

## Cụm DNS (quản trị viên)

Phục vụ vùng DNS từ nhiều máy chủ ZoPanel để DNS vẫn trả lời khi một máy chủ gặp sự cố. Thẻ **Cụm DNS** trong trang DNS có ba thiết lập:

| Thiết lập | Ý nghĩa |
| --- | --- |
| **Máy chủ phụ (IP)** | Các máy chủ được phép chuyển mọi vùng của máy này. Chúng nhận thông báo (NOTIFY) mỗi khi có thay đổi. |
| **Máy chủ chính** | Mỗi dòng một máy chính: IP và tên nameserver của máy này trong vùng của nó, ví dụ `203.0.113.10 ns2.example.com`. Vùng của máy chính được nhận tự động. |
| **Khoá cluster (TSIG)** | Khoá dùng chung (HMAC-SHA256) để ký việc chuyển vùng. |

Cách thiết lập khuyên dùng cho hai máy chủ:

1. Trên máy chính, bấm **Tạo khoá** cạnh **Khoá cluster (TSIG)** và sao chép khoá: khoá không hiển thị lại.
2. Trên máy chính, thêm IP máy phụ vào **Máy chủ phụ (IP)** rồi **Lưu**.
3. Trên máy phụ, dán cùng khoá đó, thêm máy chính vào **Máy chủ chính** rồi **Lưu**.
4. Đảm bảo tên nameserver của máy phụ (tên bạn đã nhập trên máy phụ, ví dụ `ns2.example.com`) có trong danh sách nameserver khai báo ở nhà đăng ký của từng tên miền, kèm glue record trỏ về máy phụ.

Khi có khoá, máy chính chỉ chuyển vùng cho bên giữ khoá, và máy phụ chỉ nhận vùng được ký bằng khoá đó, nên không ai trên đường truyền sửa được dữ liệu. Không có khoá (**Không có khoá: cho phép chuyển zone theo địa chỉ IP**), việc chuyển vùng chỉ dựa vào địa chỉ IP.

Xoá vùng trên máy chính không xoá ngay trên máy phụ. Máy phụ chỉ gỡ vùng mà máy chính không còn phục vụ sau ba lần kiểm tra hằng ngày liên tiếp; máy chính không liên lạc được thì không có gì thay đổi. Thẻ liệt kê các vùng đã nhận từ máy chính.

## Nhập vùng DNS

Khi bạn chuyển tài khoản từ cPanel hoặc DirectAdmin bằng **Chuyển đến**, vùng DNS cũng được nhập theo nếu máy chủ này đã cài DNS. Bản ghi web, mail (MX, SPF) và CAA của ZoPanel được ưu tiên, các bản ghi khác của vùng cũ được giữ lại, còn vùng đã tồn tại trên máy chủ thì được để nguyên. Nếu chưa cài DNS, vùng vẫn ở nhà cung cấp cũ và nhật ký nhập ghi rõ điều đó.

Muốn chép vùng từ nhà cung cấp khác, hãy tạo vùng tại đây và thêm bản ghi trong trình sửa trước khi đổi nameserver.

## Website đứng sau Cloudflare

ZoPanel không quản lý DNS của Cloudflare. Nếu bạn cho website đi qua proxy của Cloudflare, hãy bật **Website đứng sau Cloudflare** trong **Bảo mật**: ZoPanel lấy IP của khách từ header `CF-Connecting-IP` (chỉ tin dải IP của Cloudflare), để log, thống kê, giới hạn tốc độ và Fail2ban thấy đúng khách thật.

SSL tự động chỉ chạy khi tên miền phân giải duy nhất về máy chủ này, nên tên miền đang đi qua proxy Cloudflare không được tự cấp. Hãy bấm **Cấp chứng chỉ** trong tab **SSL** của website, hoặc cài chứng chỉ ở **Chứng chỉ riêng** (ví dụ Cloudflare Origin certificate).
