CNAME (Canonical Name record) là bản ghi DNS đặt một tên miền làm bí danh của một tên miền khác: khi có người hỏi tên bí danh, DNS trả về tên đích và tiếp tục tra tên đó để lấy địa chỉ IP. Ví dụ tên www có CNAME trỏ về tên gốc thì hai tên luôn có cùng IP.
CNAME là một trong các loại bản ghi của DNS, khai báo trong trình quản lý DNS của tên miền. Phần dưới giải thích CNAME hoạt động thế nào, khi nào nên dùng thay bản ghi A, các quy tắc dễ sai và cách tạo, kiểm tra bản ghi CNAME.
CNAME là gì?
CNAME là bản ghi ánh xạ một tên (alias, bí danh) sang một tên khác (canonical name, tên chuẩn), được định nghĩa trong RFC 1034. Bản ghi CNAME không chứa IP; giá trị của nó luôn là một tên miền. IP được lấy từ bản ghi A hoặc AAAA của tên đích.
Trong trình quản lý DNS, một bản ghi CNAME thường có bốn ô:
Tên (Name / Host) Loại Giá trị (Target) TTL blog CNAME tenban.vn 3600 help CNAME tenban.helpdesk.example Tự động
TTL (Time to live) là số giây resolver được phép nhớ bản ghi. TTL lớn thì đỡ tốn truy vấn nhưng sửa bản ghi lâu có hiệu lực; TTL nhỏ thì ngược lại.
Bản ghi CNAME hoạt động như thế nào?
Khi resolver hỏi một tên có bản ghi CNAME, nameserver trả về tên đích; resolver tra tiếp tên đích đến lúc gặp bản ghi A hoặc AAAA rồi trả IP cho thiết bị. Người dùng không thấy bước trung gian này, thanh địa chỉ vẫn giữ tên họ đã nhập.

Bạn có thể xem một CNAME thật: tra www.tino.vn bằng Google Admin Toolbox Dig cho kết quả CNAME trỏ về tino.vn., TTL 1 giờ.

Khi nào nên dùng bản ghi CNAME?
Nên dùng CNAME khi một tên phải luôn đi theo một tên khác, đặc biệt khi IP của tên đích do người khác quản lý và có thể đổi. Bạn chỉ khai một lần; bên kia đổi máy chủ thì bản ghi của bạn vẫn đúng.
- www và tên gốc là cùng một website: www CNAME tenban.vn, chỉ cần sửa bản ghi A của tên gốc khi đổi hosting.
- Subdomain đặt ở dịch vụ của bên thứ ba: landing page, cửa hàng, help desk thường yêu cầu CNAME tới tên của họ, ví dụ khi gắn tên miền riêng cho LadiPage.
- CDN: trỏ static.tenban.vn về tên do CDN cấp để phân phối ảnh, tệp tĩnh.
- Xác minh dịch vụ: Google Search Console cho phép xác minh tên miền bằng bản ghi TXT hoặc CNAME (hướng dẫn của Google); cách làm bằng TXT có ở bài xác minh quyền sở hữu tên miền bằng DNS.
Nếu subdomain chạy trên chính hosting của bạn thì thường dùng bản ghi A hoặc để cPanel tự tạo, xem subdomain là gì, cách tạo subdomain trên cPanel và cài WordPress trên subdomain.
CNAME khác bản ghi A thế nào?
Bản ghi A trỏ thẳng một tên tới địa chỉ IPv4, còn CNAME trỏ một tên tới một tên khác. A dùng khi bạn biết và tự quản IP của máy chủ; CNAME dùng khi muốn đi theo tên của một dịch vụ. Tên gốc (apex) chỉ dùng được A, AAAA hoặc CNAME flattening.
Bản ghi A Bản ghi CNAME CNAME flattening / ALIAS Giá trị Địa chỉ IPv4 Một tên miền khác Một tên miền khác Đặt ở tên gốc tenban.vn Được Không Được (nhà cung cấp DNS tự đổi thành A khi trả lời) Đi chung bản ghi khác cùng tên Được (MX, TXT…) Không Được Khi IP đích đổi Phải sửa tay Tự theo tên đích Tự theo tên đích Số lần tra 1 Thêm ít nhất 1 lần tra tên đích Nhà cung cấp tra hộ
Những quy tắc dễ sai khi dùng CNAME
Bản ghi CNAME có ràng buộc chặt hơn các bản ghi khác: một tên đã có CNAME thì không được có thêm bất kỳ bản ghi nào khác. Từ ràng buộc này sinh ra các lỗi hay gặp như đặt CNAME ở tên gốc, trỏ MX vào tên có CNAME hay ghi URL vào ô giá trị.
- Không đặt CNAME ở tên gốc (@): tên gốc luôn có SOA và NS, mà RFC 1912 ghi CNAME “không được tồn tại cùng dữ liệu khác”.
- Không tạo CNAME trùng tên với bản ghi khác: đã có www kiểu CNAME thì không thêm www kiểu A, TXT hay MX.
- MX và NS không trỏ vào tên có CNAME: RFC 2181 §10.3 yêu cầu MX, NS trỏ tới tên có bản ghi A/AAAA. Máy chủ nhận mail khai bằng tên thật như mx.tenban.vn.
- Giá trị là tên miền, không phải URL hay IP: ghi tenban.example.net, không ghi https://tenban.example.net/trang hay 203.0.113.10.
- Tránh chuỗi CNAME dài: CNAME trỏ sang một CNAME khác vẫn chạy, nhưng mỗi tầng thêm một lần tra và thêm một điểm có thể lỗi.
Cách tạo bản ghi CNAME
Tạo bản ghi CNAME ở trình quản lý DNS của nơi đang giữ nameserver cho tên miền: trang quản lý tên miền của nhà đăng ký, Zone Editor của cPanel hoặc mục DNS của Cloudflare. Tạo ở nơi khác sẽ không có tác dụng, nên hãy kiểm tra nameserver trước.
- Kiểm tra nameserver đang dùng để biết vào đâu sửa, xem name server là gì.
- Mở trình quản lý DNS, chọn thêm bản ghi (Add record), loại CNAME.
- Ô Tên: nhập phần bí danh, ví dụ
wwwhoặcshop. - Ô Giá trị: nhập tên đích do nhà cung cấp đưa, ví dụ
tenban.example.net. - TTL: để mặc định, hoặc 300 giây nếu sắp đổi qua lại nhiều lần.
- Lưu, chờ hết TTL cũ (nếu trước đó tên này đã có bản ghi khác) rồi kiểm tra.
Trên Cloudflare, bản ghi CNAME bật được chế độ Proxied (đám mây cam) hoặc DNS only (đám mây xám); dịch vụ bên ngoài yêu cầu xác minh tên miền thường cần để DNS only. Xem thêm Cloudflare là gì.
Cách kiểm tra bản ghi CNAME
Kiểm tra CNAME bằng lệnh nslookup trên Windows, dig trên Linux, macOS, hoặc Google Admin Toolbox Dig như ảnh ở trên. Kết quả đúng phải hiện tên đích bạn đã khai; nếu thấy địa chỉ IP thay vì tên, tên đó đang có bản ghi A chứ không phải CNAME.
nslookup -type=cname www.tenban.vn 8.8.8.8
dig CNAME www.tenban.vn +short
Nếu kết quả còn giá trị cũ, có thể resolver đang giữ cache; thử với resolver khác (1.1.1.1, 8.8.8.8) hoặc chờ hết TTL.
Cần tên miền cho website? Đăng ký tên miền tại Tino: kiểm tra tên miền còn trống, đăng ký .vn và quốc tế, quản lý DNS trong một tài khoản. Xem giá trên trang sản phẩm.
Câu hỏi thường gặp
CNAME có phải là chuyển hướng (redirect) không?
Không. CNAME chỉ hoạt động ở tầng DNS, cho biết tên này dùng chung IP với tên kia; trình duyệt vẫn giữ nguyên địa chỉ người dùng gõ. Muốn chuyển www.tenban.vn sang tenban.vn trên thanh địa chỉ thì cần chuyển hướng HTTP 301 ở máy chủ web, xem redirect là gì.
TTL của bản ghi CNAME nên đặt bao nhiêu?
Không có con số bắt buộc. Bản ghi ổn định thường để mặc định của nhà cung cấp (thường 1 giờ hoặc “Tự động”). Trước khi đổi đích, hạ TTL xuống 300 giây khoảng một ngày để thay đổi có hiệu lực nhanh, đổi xong tăng lại.
Một tên có thể có hai bản ghi CNAME không?
Không. Mỗi tên chỉ có tối đa một bản ghi CNAME. Muốn phân tải sang nhiều máy chủ thì dùng nhiều bản ghi A, AAAA, hoặc tính năng cân bằng tải của nhà cung cấp DNS.
