Mua tên miền xong, bạn cần "trỏ" nó về nơi chứa website và email. Việc này làm qua các bản ghi DNS. Sai một bản ghi có thể khiến web không vào được hoặc email bị mất. Bài này giải thích ngắn gọn các bản ghi A, AAAA, CNAME, MX, TXT, cách khai báo đúng và cách kiểm tra DNS đã lan truyền chưa.

Bạn cần chuẩn bị:

  • Quyền quản trị tên miền example.com tại nơi đăng ký, hoặc tại dịch vụ DNS đang dùng.
  • Địa chỉ IP của hosting hoặc VPS, ví dụ 203.0.113.10.
  • Thông tin bản ghi MX, TXT từ nhà cung cấp email (nếu dùng email theo tên miền).
  • Máy có lệnh dig (Linux, macOS) hoặc nslookup (Windows).

Bước 1: Xác định ai đang quản lý DNS

Bản ghi DNS chỉ có tác dụng khi bạn sửa ở đúng nơi đang giữ nameserver. Kiểm tra:

dig +short NS example.com

Trên Windows:

nslookup -type=NS example.com

Kết quả cho biết nameserver hiện tại. Nếu là nameserver của nơi đăng ký, bạn sửa bản ghi ở đó. Nếu là của dịch vụ DNS khác, như Cloudflare, bạn phải sửa trong tài khoản dịch vụ đó. Sửa nhầm chỗ là lỗi rất phổ biến.

Bước 2: Hạ TTL trước khi thay đổi

TTL (Time To Live) là số giây resolver được giữ bản ghi trong cache. Nếu TTL đang là 86400 (1 ngày), thay đổi có thể mất tới một ngày mới đến hết người dùng. Khi sắp chuyển hosting, hãy hạ TTL xuống 300 giây trước ít nhất bằng thời gian TTL cũ.

dig example.com A +noall +answer

Con số ở cột thứ hai là TTL còn lại. Sau khi chuyển xong và ổn định, bạn có thể nâng TTL lên 3600 hoặc cao hơn.

Bước 3: Tạo bản ghi A và AAAA cho website

Bản ghi A ánh xạ tên miền tới địa chỉ IPv4. AAAA ánh xạ tới IPv6. Ký hiệu @ nghĩa là tên miền gốc.

LoạiTên (Host)Giá trịTTL
A@203.0.113.10300
Awww203.0.113.10300
AAAA@2001:db8::10300

Chỉ thêm AAAA khi máy chủ thật sự có IPv6 và web server đã lắng nghe trên IPv6. Bản ghi AAAA sai khiến một phần người dùng không vào được web và làm Let's Encrypt cấp chứng chỉ thất bại.

Bước 4: Dùng CNAME cho tên phụ

CNAME cho biết một tên là bí danh của tên khác. Ví dụ www trỏ về tên miền gốc, hoặc shop trỏ về một dịch vụ bên ngoài.

LoạiTênGiá trị
CNAMEwwwexample.com.
CNAMEshopshops.dichvu-ngoai.example.net.

Ba quy tắc cần nhớ:

  • Một tên đã có CNAME thì không được có bản ghi nào khác (A, MX, TXT). Nếu dùng CNAME cho www, hãy xóa bản ghi A của www.
  • Không đặt CNAME cho tên miền gốc @, trừ khi nhà cung cấp DNS hỗ trợ CNAME flattening hoặc ALIAS.
  • Bản ghi MX không được trỏ tới một tên là CNAME.

Bước 5: Khai báo MX cho email

MX chỉ định máy chủ nhận email cho tên miền. Giá trị ưu tiên (priority) nhỏ hơn được dùng trước. Giá trị MX phải là tên máy chủ, không phải IP.

LoạiTênƯu tiênGiá trị
MX@10mx1.mailprovider.example.net.
MX@20mx2.mailprovider.example.net.

Nếu email chạy trên chính VPS, tạo bản ghi A mail trỏ về IP VPS, rồi đặt MX là mail.example.com.. Khi chuyển hosting web, đừng xóa MX nếu email vẫn đang dùng dịch vụ cũ.

Bước 6: Thêm bản ghi TXT

TXT chứa văn bản tự do, dùng cho xác minh quyền sở hữu tên miền và chính sách email:

@        TXT  "v=spf1 include:_spf.mailprovider.example.net ~all"
_dmarc   TXT  "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
@        TXT  "google-site-verification=chuoi-xac-minh"

Một tên miền chỉ được có một bản ghi SPF (TXT bắt đầu bằng v=spf1). Nếu dùng nhiều dịch vụ gửi mail, gộp chúng vào cùng một bản ghi. Các bản ghi TXT xác minh khác thì có thể tồn tại song song.

Bước 7: Đổi nameserver (nếu chuyển DNS sang nơi khác)

Khi muốn quản lý DNS tại nhà cung cấp khác, bạn đổi nameserver ở trang quản lý của nơi đăng ký tên miền. Trước khi đổi:

  1. Tạo đầy đủ bản ghi (A, CNAME, MX, TXT) tại nơi DNS mới.
  2. So sánh với bản ghi cũ để không thiếu bản ghi nào, đặc biệt là MX và TXT.
  3. Đổi nameserver, sau đó kiểm tra bằng dig NS example.com @8.8.8.8.

Nếu tên miền đang bật DNSSEC, hãy tắt DNSSEC hoặc cập nhật bản ghi DS cho khớp nhà cung cấp mới trước khi đổi. DS cũ không khớp sẽ làm tên miền không phân giải được với resolver có kiểm tra DNSSEC.

Kiểm tra lan truyền DNS

Hỏi thẳng nameserver có thẩm quyền để biết bản ghi đã đúng ở nguồn chưa:

dig +short A example.com @$(dig +short NS example.com | head -n1)

Sau đó hỏi các resolver công cộng để xem cache bên ngoài:

dig +short A example.com @1.1.1.1
dig +short A example.com @8.8.8.8
dig +short MX example.com @1.1.1.1
dig +short TXT example.com @8.8.8.8

Trên Windows:

nslookup example.com 1.1.1.1
nslookup -type=MX example.com 8.8.8.8

Nếu máy bạn vẫn thấy IP cũ, xóa cache DNS cục bộ. Windows: ipconfig /flushdns. macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Trình duyệt Chrome có cache riêng tại chrome://net-internals/#dns.

Lỗi thường gặp và cách xử lý

Sửa bản ghi nhưng không thấy thay đổi

Bạn đang sửa ở nơi không giữ nameserver. Chạy lại lệnh ở bước 1 và sửa đúng chỗ.

Tên bản ghi bị nhân đôi thành www.example.com.example.com

Nhiều trang quản lý tự thêm tên miền vào sau. Ở ô Tên, chỉ nhập www, không nhập www.example.com. Kiểm tra bằng dig www.example.com.

Có web nhưng mất email sau khi đổi nameserver

Thiếu bản ghi MX hoặc TXT ở nơi DNS mới. Thêm lại theo thông tin từ nhà cung cấp email. Email gửi tới trong thời gian lỗi có thể được máy chủ gửi thử lại trong vài ngày, nhưng không đảm bảo.

Báo lỗi "CNAME and other data"

Một tên vừa có CNAME vừa có bản ghi khác. Xóa một trong hai. Với tên miền gốc, dùng bản ghi A thay cho CNAME.

Một số người dùng vào được, số khác không

Thường do bản ghi AAAA sai, hoặc còn bản ghi A cũ trùng tên (DNS sẽ luân phiên trả về cả hai IP). Liệt kê toàn bộ bằng dig example.com A +short và xóa IP thừa.