DNS Records trong Windows Server: Nền tảng cốt lõi của hạ tầng doanh nghiệp
Trong thế giới hạ tầng CNTT, có những dịch vụ hoạt động âm thầm đến mức khi mọi thứ bình thường, gần như không ai để ý đến chúng. Nhưng chỉ cần chúng gặp sự cố, cả hệ thống có thể rối loạn ngay lập tức. DNS là một trong những dịch vụ như vậy.
Nhiều người mới học thường nghĩ DNS chỉ đơn giản là cơ chế chuyển đổi tên miền thành địa chỉ IP. Cách hiểu này đúng, nhưng chưa đủ. Trong môi trường doanh nghiệp, DNS thực chất là một thành phần hạ tầng cực kỳ quan trọng, ảnh hưởng trực tiếp đến Active Directory, đăng nhập domain, Group Policy, email, web application, hybrid cloud, thậm chí cả các hệ thống giám sát và bảo mật.
Bài viết này sẽ giúp chúng ta hiểu rõ các loại DNS records, cách DNS hoạt động trong Windows Server, và vì sao System Engineer cần nắm thật chắc dịch vụ này.
DNS Records là gì?
DNS Record là các bản ghi được lưu trữ trong DNS zone để ánh xạ thông tin mạng.
Tùy theo loại record, DNS có thể thực hiện nhiều nhiệm vụ khác nhau:
Hiểu đơn giản, nếu DNS zone là một cơ sở dữ liệu, thì DNS record chính là các entry bên trong cơ sở dữ liệu đó.
Hai loại DNS Zone cơ bản
Trong Windows DNS, chúng ta thường gặp hai loại zone chính:
Forward Lookup Zone
Dùng để phân giải:
Tên máy → Địa chỉ IP
Ví dụ:
dc01.vnpro.local → 192.168.10.10
Đây là loại truy vấn phổ biến nhất.
Khi người dùng mở:
portal.company.local
DNS sẽ tra cứu forward lookup zone để tìm IP tương ứng.
Reverse Lookup Zone
Loại này hoạt động ngược lại:
Địa chỉ IP → Tên máy
Ví dụ:
192.168.10.10 → dc01.vnpro.local
Reverse lookup thường được dùng trong troubleshooting, SIEM correlation, mail validation và security investigation.
SOA Record – “Giấy khai sinh” của DNS Zone
Một trong những record quan trọng nhất là SOA (Start of Authority).
Đây là bản ghi xác định ai là chủ sở hữu authoritative của zone DNS.
SOA chứa các thông tin quan trọng như:
Ví dụ:
Primary DNS: dc01.vnpro.local
Serial: 2026051001
Refresh: 900
Retry: 600
Expire: 86400
Serial number đặc biệt quan trọng trong DNS replication.
Khi secondary DNS server kiểm tra zone transfer, nó sẽ dựa vào serial number để xác định dữ liệu có mới hơn hay không.
Nếu SOA sai, replication có thể thất bại.
NS Record – Xác định ai trả lời DNS Query
NS (Name Server) record dùng để xác định DNS server nào có quyền authoritative cho zone.
Ví dụ:
vnpro.local NS dc01.vnpro.local
vnpro.local NS dc02.vnpro.local
Điều này có nghĩa:
Trong enterprise, triển khai nhiều DNS server là điều gần như bắt buộc để đảm bảo high availability.
Nếu chỉ có một DNS server và server đó down, toàn bộ hệ thống có thể bị ảnh hưởng.
A Record – Bản ghi phổ biến nhất
A record là loại DNS record được sử dụng nhiều nhất.
Nó ánh xạ:
Hostname → IPv4 Address
Ví dụ:
fileserver A 192.168.1.20
Khi client hỏi:
fileserver.vnpro.local
DNS trả về:
192.168.1.20
Nếu A record bị sai:
Trong troubleshooting thực tế, rất nhiều lỗi “server không truy cập được” thực ra chỉ là A record cấu hình sai.
AAAA Record – Phiên bản IPv6 của A Record
AAAA record hoạt động giống A record nhưng dành cho IPv6.
Ví dụ:
app01 AAAA 2001:db8:10::5
Query:
app01.vnpro.local
Response:
2001:db8:10::5
Trong môi trường IPv6 enterprise hoặc hybrid cloud, record này rất quan trọng.
CNAME Record – Bí danh cho dịch vụ
CNAME (Canonical Name) cho phép tạo alias.
Ví dụ:
mail.vnpro.local → exchange01.vnpro.local
Người dùng chỉ cần nhớ:
mail.vnpro.local
Trong khi backend server thực sự là:
exchange01.vnpro.local
Điểm mạnh của CNAME là abstraction.
Nếu đổi server backend:
Từ:
exchange01
sang:
exchange02
chỉ cần sửa CNAME thay vì yêu cầu người dùng đổi URL.
Đây là kỹ thuật rất phổ biến trong migration.
SRV Record – Xương sống của Active Directory
Nếu bạn làm System Engineer và triển khai Active Directory, SRV record là thứ bắt buộc phải hiểu.
SRV (Service Location Record) cho phép client tìm dịch vụ mạng.
Ví dụ:
_ldap._tcp.dc._msdcs.vnpro.local
Client sẽ hỏi:
“LDAP service nằm ở đâu?”
DNS trả lời:
dc01.vnpro.local port 389
Tương tự:
Kerberos:
_kerberos._tcp
Global Catalog:
_gc._tcp
Nếu SRV record lỗi, hậu quả rất nghiêm trọng:
Nhiều kỹ sư mới thường debug sai hướng vì nghĩ vấn đề nằm ở network hoặc firewall, trong khi nguyên nhân thật sự là DNS.
PTR Record – Reverse DNS
PTR (Pointer Record) được dùng trong reverse lookup.
Ví dụ:
192.168.10.10
sẽ ánh xạ thành:
dc01.vnpro.local
Kiểm tra:
nslookup 192.168.10.10
Ứng dụng thực tế:
Mail server anti-spam thường kiểm tra PTR.
SIEM dùng PTR để correlation logs.
SOC analyst thường dùng reverse lookup để xác định host.
Nếu reverse DNS thiếu, troubleshooting sẽ khó hơn đáng kể.
TTL – DNS Cache hoạt động bao lâu?
TTL (Time To Live) quy định record được cache trong bao lâu.
Ví dụ:
TTL = 3600
nghĩa là:
cache trong 1 giờ
TTL thấp giúp thay đổi DNS nhanh hơn.
TTL cao giúp giảm tải DNS server.
Ví dụ migration web:
Trước cutover:
TTL = 300
Sau ổn định:
TTL = 86400
Đây là best practice rất phổ biến.
Cài đặt DNS Server trên Windows Server
Windows Server cho phép cài DNS rất đơn giản.
PowerShell:
Install-WindowsFeature DNS -IncludeManagementTools
Sau khi cài xong, có thể tạo primary zone:
Add-DnsServerPrimaryZone -Name "vnpro.local" -ZoneFile "vnpro.local.dns"
Tạo A record:
Add-DnsServerResourceRecordA -Name "server01" -ZoneName "vnpro.local" -IPv4Address "192.168.10.50"
Kiểm tra:
nslookup server01.vnpro.local
Dynamic DNS – Tự động cập nhật DNS
Trong doanh nghiệp, tạo record thủ công cho từng client là bất khả thi.
Dynamic DNS giải quyết bài toán này.
Quy trình thường là:
Client nhận IP từ DHCP.
DHCP Client Service gửi yêu cầu update DNS.
DNS server cập nhật record.
Nếu thiết bị không hỗ trợ dynamic update, DHCP server có thể đăng ký thay.
Điều này cực kỳ hữu ích với:
Aging và Scavenging – Dọn rác DNS
Dynamic DNS tạo ra một vấn đề mới:
stale records.
Ví dụ:
Laptop cũ đổi IP nhiều lần.
Máy đã bị decommission nhưng record vẫn tồn tại.
Kết quả:
DNS database bị “rác”.
Windows DNS giải quyết bằng Aging và Scavenging.
Cơ chế này tự động dọn record cũ không còn hợp lệ.
Lưu ý:
Nó chỉ áp dụng cho dynamic records.
Không áp dụng cho static records.
Logging và Troubleshooting
Windows DNS hỗ trợ nhiều dạng logging.
Event Viewer logs phù hợp troubleshooting cơ bản.
Debug logs cho packet-level analysis.
Analytic logs hỗ trợ deep troubleshooting.
Khi DNS gặp sự cố, những triệu chứng thường rất đánh lừa:
“Internet không vào được.”
“Domain join bị lỗi.”
“Login rất chậm.”
“Group Policy không apply.”
“Application timeout.”
Nhưng root cause đôi khi chỉ là một DNS record sai.
Góc nhìn thực tế của System Engineer
Một câu nói quen thuộc trong giới hạ tầng:
It’s always DNS.
Nghe vui nhưng không hoàn toàn sai.
DNS là dịch vụ nền tảng cho:
Active Directory.
Kerberos.
Exchange.
Web apps.
Hybrid cloud.
Load balancers.
Service discovery.
Monitoring systems.
Security tools.
Nếu bạn là System Engineer, DNS không phải chủ đề “cơ bản”.
DNS là một trong những dịch vụ quan trọng nhất cần hiểu sâu.
Trong thế giới hạ tầng CNTT, có những dịch vụ hoạt động âm thầm đến mức khi mọi thứ bình thường, gần như không ai để ý đến chúng. Nhưng chỉ cần chúng gặp sự cố, cả hệ thống có thể rối loạn ngay lập tức. DNS là một trong những dịch vụ như vậy.
Nhiều người mới học thường nghĩ DNS chỉ đơn giản là cơ chế chuyển đổi tên miền thành địa chỉ IP. Cách hiểu này đúng, nhưng chưa đủ. Trong môi trường doanh nghiệp, DNS thực chất là một thành phần hạ tầng cực kỳ quan trọng, ảnh hưởng trực tiếp đến Active Directory, đăng nhập domain, Group Policy, email, web application, hybrid cloud, thậm chí cả các hệ thống giám sát và bảo mật.
Bài viết này sẽ giúp chúng ta hiểu rõ các loại DNS records, cách DNS hoạt động trong Windows Server, và vì sao System Engineer cần nắm thật chắc dịch vụ này.
DNS Records là gì?
DNS Record là các bản ghi được lưu trữ trong DNS zone để ánh xạ thông tin mạng.
Tùy theo loại record, DNS có thể thực hiện nhiều nhiệm vụ khác nhau:
- Chuyển hostname thành IP address
- Chuyển IP address thành hostname
- Xác định DNS server authoritative
- Xác định vị trí dịch vụ mạng
- Tạo bí danh cho dịch vụ
- Hỗ trợ service discovery trong Active Directory
Hiểu đơn giản, nếu DNS zone là một cơ sở dữ liệu, thì DNS record chính là các entry bên trong cơ sở dữ liệu đó.
Hai loại DNS Zone cơ bản
Trong Windows DNS, chúng ta thường gặp hai loại zone chính:
Forward Lookup Zone
Dùng để phân giải:
Tên máy → Địa chỉ IP
Ví dụ:
dc01.vnpro.local → 192.168.10.10
Đây là loại truy vấn phổ biến nhất.
Khi người dùng mở:
portal.company.local
DNS sẽ tra cứu forward lookup zone để tìm IP tương ứng.
Reverse Lookup Zone
Loại này hoạt động ngược lại:
Địa chỉ IP → Tên máy
Ví dụ:
192.168.10.10 → dc01.vnpro.local
Reverse lookup thường được dùng trong troubleshooting, SIEM correlation, mail validation và security investigation.
SOA Record – “Giấy khai sinh” của DNS Zone
Một trong những record quan trọng nhất là SOA (Start of Authority).
Đây là bản ghi xác định ai là chủ sở hữu authoritative của zone DNS.
SOA chứa các thông tin quan trọng như:
- Primary DNS server
- Email quản trị viên
- Serial number
- Refresh interval
- Retry interval
- Expire interval
- Default TTL
Ví dụ:
Primary DNS: dc01.vnpro.local
Serial: 2026051001
Refresh: 900
Retry: 600
Expire: 86400
Serial number đặc biệt quan trọng trong DNS replication.
Khi secondary DNS server kiểm tra zone transfer, nó sẽ dựa vào serial number để xác định dữ liệu có mới hơn hay không.
Nếu SOA sai, replication có thể thất bại.
NS Record – Xác định ai trả lời DNS Query
NS (Name Server) record dùng để xác định DNS server nào có quyền authoritative cho zone.
Ví dụ:
vnpro.local NS dc01.vnpro.local
vnpro.local NS dc02.vnpro.local
Điều này có nghĩa:
- dc01 có thể trả lời truy vấn
- dc02 cũng có thể trả lời truy vấn
Trong enterprise, triển khai nhiều DNS server là điều gần như bắt buộc để đảm bảo high availability.
Nếu chỉ có một DNS server và server đó down, toàn bộ hệ thống có thể bị ảnh hưởng.
A Record – Bản ghi phổ biến nhất
A record là loại DNS record được sử dụng nhiều nhất.
Nó ánh xạ:
Hostname → IPv4 Address
Ví dụ:
fileserver A 192.168.1.20
Khi client hỏi:
fileserver.vnpro.local
DNS trả về:
192.168.1.20
Nếu A record bị sai:
- User không truy cập được server
- Application lỗi
- Service discovery thất bại
Trong troubleshooting thực tế, rất nhiều lỗi “server không truy cập được” thực ra chỉ là A record cấu hình sai.
AAAA Record – Phiên bản IPv6 của A Record
AAAA record hoạt động giống A record nhưng dành cho IPv6.
Ví dụ:
app01 AAAA 2001:db8:10::5
Query:
app01.vnpro.local
Response:
2001:db8:10::5
Trong môi trường IPv6 enterprise hoặc hybrid cloud, record này rất quan trọng.
CNAME Record – Bí danh cho dịch vụ
CNAME (Canonical Name) cho phép tạo alias.
Ví dụ:
mail.vnpro.local → exchange01.vnpro.local
Người dùng chỉ cần nhớ:
mail.vnpro.local
Trong khi backend server thực sự là:
exchange01.vnpro.local
Điểm mạnh của CNAME là abstraction.
Nếu đổi server backend:
Từ:
exchange01
sang:
exchange02
chỉ cần sửa CNAME thay vì yêu cầu người dùng đổi URL.
Đây là kỹ thuật rất phổ biến trong migration.
SRV Record – Xương sống của Active Directory
Nếu bạn làm System Engineer và triển khai Active Directory, SRV record là thứ bắt buộc phải hiểu.
SRV (Service Location Record) cho phép client tìm dịch vụ mạng.
Ví dụ:
_ldap._tcp.dc._msdcs.vnpro.local
Client sẽ hỏi:
“LDAP service nằm ở đâu?”
DNS trả lời:
dc01.vnpro.local port 389
Tương tự:
Kerberos:
_kerberos._tcp
Global Catalog:
_gc._tcp
Nếu SRV record lỗi, hậu quả rất nghiêm trọng:
- Domain join thất bại
- User login chậm
- Group Policy không áp dụng
- AD replication lỗi
- Exchange discovery lỗi
Nhiều kỹ sư mới thường debug sai hướng vì nghĩ vấn đề nằm ở network hoặc firewall, trong khi nguyên nhân thật sự là DNS.
PTR Record – Reverse DNS
PTR (Pointer Record) được dùng trong reverse lookup.
Ví dụ:
192.168.10.10
sẽ ánh xạ thành:
dc01.vnpro.local
Kiểm tra:
nslookup 192.168.10.10
Ứng dụng thực tế:
Mail server anti-spam thường kiểm tra PTR.
SIEM dùng PTR để correlation logs.
SOC analyst thường dùng reverse lookup để xác định host.
Nếu reverse DNS thiếu, troubleshooting sẽ khó hơn đáng kể.
TTL – DNS Cache hoạt động bao lâu?
TTL (Time To Live) quy định record được cache trong bao lâu.
Ví dụ:
TTL = 3600
nghĩa là:
cache trong 1 giờ
TTL thấp giúp thay đổi DNS nhanh hơn.
TTL cao giúp giảm tải DNS server.
Ví dụ migration web:
Trước cutover:
TTL = 300
Sau ổn định:
TTL = 86400
Đây là best practice rất phổ biến.
Cài đặt DNS Server trên Windows Server
Windows Server cho phép cài DNS rất đơn giản.
PowerShell:
Install-WindowsFeature DNS -IncludeManagementTools
Sau khi cài xong, có thể tạo primary zone:
Add-DnsServerPrimaryZone -Name "vnpro.local" -ZoneFile "vnpro.local.dns"
Tạo A record:
Add-DnsServerResourceRecordA -Name "server01" -ZoneName "vnpro.local" -IPv4Address "192.168.10.50"
Kiểm tra:
nslookup server01.vnpro.local
Dynamic DNS – Tự động cập nhật DNS
Trong doanh nghiệp, tạo record thủ công cho từng client là bất khả thi.
Dynamic DNS giải quyết bài toán này.
Quy trình thường là:
Client nhận IP từ DHCP.
DHCP Client Service gửi yêu cầu update DNS.
DNS server cập nhật record.
Nếu thiết bị không hỗ trợ dynamic update, DHCP server có thể đăng ký thay.
Điều này cực kỳ hữu ích với:
- PC
- laptop
- printer
- IoT
- thiết bị legacy
Aging và Scavenging – Dọn rác DNS
Dynamic DNS tạo ra một vấn đề mới:
stale records.
Ví dụ:
Laptop cũ đổi IP nhiều lần.
Máy đã bị decommission nhưng record vẫn tồn tại.
Kết quả:
DNS database bị “rác”.
Windows DNS giải quyết bằng Aging và Scavenging.
Cơ chế này tự động dọn record cũ không còn hợp lệ.
Lưu ý:
Nó chỉ áp dụng cho dynamic records.
Không áp dụng cho static records.
Logging và Troubleshooting
Windows DNS hỗ trợ nhiều dạng logging.
Event Viewer logs phù hợp troubleshooting cơ bản.
Debug logs cho packet-level analysis.
Analytic logs hỗ trợ deep troubleshooting.
Khi DNS gặp sự cố, những triệu chứng thường rất đánh lừa:
“Internet không vào được.”
“Domain join bị lỗi.”
“Login rất chậm.”
“Group Policy không apply.”
“Application timeout.”
Nhưng root cause đôi khi chỉ là một DNS record sai.
Góc nhìn thực tế của System Engineer
Một câu nói quen thuộc trong giới hạ tầng:
It’s always DNS.
Nghe vui nhưng không hoàn toàn sai.
DNS là dịch vụ nền tảng cho:
Active Directory.
Kerberos.
Exchange.
Web apps.
Hybrid cloud.
Load balancers.
Service discovery.
Monitoring systems.
Security tools.
Nếu bạn là System Engineer, DNS không phải chủ đề “cơ bản”.
DNS là một trong những dịch vụ quan trọng nhất cần hiểu sâu.