Có gì mới?
Việt Game - NET

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Lưu ý trước khi đăng ký thành viên.! Đọc kỹ quy định của forum, nếu thành viên thường có thể sử dụng mọi tính năng như chatbox, đăng bài, bình luận được hết. Nhưng một số link đính kèm sẽ bị ẩn, nếu VIP mới thấy.

Vietboot Forum

Chia sẻ Lỗi DNS thường gặp và cách khắc phục

ngdcnam

Năng động
Tham gia ngày
04/07/2014
Bài viết
395
Reaction score
182
Điểm
42
8.jpg


Chủ net thường gặp hiện tượng mạng kiểm tra vẫn có nhưng có web thì vào được, có web không, mặc dù vẫn ping đến server 8.8.8.8 hay 1.1.1.1, vào 1 số web thường báo lỗi có chữ ERROR ...RESOLVER, và đau khổ nhất là load vào các menu hay launcher game (như liên minh huyền thoại) rất chậm, thậm chí không vào được, Lỗi VAN xxx xảy ra liên tục do Riot Vanguard.....

1-Err-Name-Not-Resolved-Error-in-Chrome.jpg


Hình dưới là công cụ chống hack Riot Vanguard đang kết nối đến 16-18 server thuộc cụm CDN của Amazon đặt ở Hongkong và Singapore, ngoài kết nối kém đến các ip như 108.107.32.12, nếu DNS máy tính không phân giải được sub domain cloudfront.net thì nó không thể kết nối đến 18 server tương tự như ip 108.107.32.12

Đây là nguyên nhân gây ra nhiều lỗi VAN xxx trên game của Riot mà nhiều chủ nét dính phải trên Liên mình huyền thoại và nhiều nhất là Valorant

2-vgtray.jpg



Khi đã đăng nhập rồi load vào menu hay launcher game Liên minh huyền thoại, trước lúc tìm trận, nó kết nối đến các hàng chục server của Cloudflare và Amazon, bị khung hình game Liên minh huyền thoại "đen thui" hay load rất chậm là ở các server này

Cũng như trên nếu DNS máy tính không phân giải được sub domain amazonaws.com thì nó không thể kết nối đến các ip như 52.74.72.6

3-LMHT.jpg


Hình bên dưới rất nhiều người nhầm lẫn thấy file RiotClientService.exe giống như nó chèn IP cho kết nối đến trực tiếp đến các server Cloudflare thì làm gì cần đến DNS để phân giải tên miền

Thật ra nếu không có DNS resolver (công cộng như 8.8.8.8 hay 1.1.1.1) thì PC không thể kết nối đến các IP của Cloudflare như 104.17.174.5, 104.17.173.5

Bởi các cụm CDN chứa dữ liệu của Riot họ sợ bị tấn công nên sử dụng dịch vụ Cloudflare, Ví dụ các IP cụm CDN Riot họ add vào các sub domain của Cloudflare rồi họ dùng A record trỏ đến 104.17.174.5, 104.17.173.5

Quá trình này của Riot nằm trên server DNS lưu trữ dữ liệu gốc (nameserver authoritative) mà máy chơi game không có quyền truy vấn trên server này, nên bắt buộc phải thông qua DNS resolver công cộng như 8.8.8.8 hay 1.1.1.1

Hình ảnh bên dưới mình dùng công cụ truy vấn được trên nameserver authoritative khi cụm CDN Riot trỏ vào IP Cloudflare

4-riot-cloudfaflare.jpg


CÁCH KHẮC PHỤC

A>DNS bị redirect sang trang lạ : Bị malware thay đổi file hosts
Quét malware, kiểm tra file C:\Windows\System32\drivers\etc\hosts



B>Tên miền không phân giải được (Could not resolve hostname)

Thường do cache DNS resolver hệ điều hành windows bị lỗi ( Ứng dụng này vào services.msc sẻ thấy nó chạy thường trú trên windows)

Xoá cache DNS, vào Run -> gõ chữ : ipconfig /flushdns

Trong boot rom khi làm gì đó mở băng image cũng nên làm thao tác này rồi đóng băng image, để loại trừ cache DNS resolver windows đã quá cũ

5a-DNS-windows.jpg


Sử dụng lệnh "nslookup" có sẵn của hđh windows kiểm tra tên miền được phân giải ra ip

5b.jpg



C>DNS không phản hồi (DNS not responding) hoặc phản hồi quá chậm

DNS resolver công cộng (như 8.8.8.8 hay 1.1.1.1) bị quá tải hoặc ngõ quốc tế kết nối kém, các ứng dụng khác như web, download... chiếm dụng hết băng thông ngõ quốc tế, làm PC khó kết nối với DNS resolver công cộng

CÁC CÁCH KHẮC PHỤC TUỲ KHẢ NĂNG KỸ THUẬT CHO HIỆU SUẤT KHÁC NHAU RẤT LỚN:

1. Hoán đổi thay thế các DNS resolver công cộng như Google (8.8.8.8 / 8.8.4.4) hoặc Cloudflare (1.1.1.1/1.0.0.1) hoặc Cisco ( 208.67.220.220/208.67.222.222)
Cái này chủ nét không cần biết hiểu biết về kỹ thuật có thể tự làm, còn 2 mục dưới phải nhờ kỹ thuật

2. Cấu hình QoS trên router ưu tiên băng thông DNS resolver công cộng, theo mặc định port DNS là UDP 53, chưa thấy dịch vụ nào ngoài DNS sử dụng port UDP 53 để truyền tải dữ liệu nên không cần gán thêm IP đích.
Hình dưới ví dụ với router pfsense cấu hình ưu tiên băng thông cho DNS chạy nhiều wan

6-Qo-S-DNS.jpg



7-Qo-S-DNS-2.jpg


3. Thiết lập cài đặt DNS resolver nội bộ trên máy tính tiền hoặc server boot rom hoặc trên PC router.... có nghĩa là chúng ta tạo 1 hệ thống phân giải tên miền tại phòng game cho mạng nội bộ tương tự như các DNS resolver công cộng của Google (8.8.8.8) hoặc Cloudflare(1.1.1.1)

Lúc này tốc độ phân giải tên miền của các máy chơi game tăng lên hàng trăm lần, điển hình ta ping đến DNS resolver nội bộ chỉ còn 0,2 -0,5 ms chứ không còn 30 ms đến hàng trăm ms như các DNS resolver công cộng Google hoặc Cloudflare, và tốc độ phân giải tên miền của các máy chơi game không phụ thuộc vào internet nửa

8.jpg
 
Chỉnh sửa cuối:
E cài unbound chạy thẳng về root dns, tốc độ phân giải chậm hơn hẳn so với dns công cộng (trung bình là 200ms, so với 30ms của google), phải để nó tự cache 1 thời gian mới nhanh được, nhưng nó lưu cache cũng chỉ vài ngày ah.
 
E cài unbound chạy thẳng về root dns, tốc độ phân giải chậm hơn hẳn so với dns công cộng (trung bình là 200ms, so với 30ms của google), phải để nó tự cache 1 thời gian mới nhanh được, nhưng nó lưu cache cũng chỉ vài ngày ah.
Bạn tạo DNS resolve trên nền là của hđh windows hay trên pfsense
 
Bạn tạo DNS resolve trên nền là của hđh windows hay trên pfsense
  • e dùng proxmox, chạy mickrotik chr, unbound (nó là dns recursive), và 1 số ứng dụng trên đấy, mỉktoik thì passthroug luôn 1 cái card lan intel vào chạy cho hiệu quả
  • Client => dns mikrotik => unbound
 
  • e dùng proxmox, chạy mickrotik chr, unbound (nó là dns recursive), và 1 số ứng dụng trên đấy, mỉktoik thì passthroug luôn 1 cái card lan intel vào chạy cho hiệu quả
  • Client => dns mikrotik => unbound
DNS resolver của bạn mình chưa cấu hình nên không biết nguyên nhân gì mà cache chậm vậy, bạn thử tìm mục Status hoặc logfile DNS tìm nguyên nhân

Bạn phải xác định lại yếu tố này để tìm nguyên nhân các DNS resolver công cộng như 8.8.8.8 hay 1.1.1.1 nó là các cụm tương tự cụm server CDN của web, nó cache kiểu "CHỦ ĐỘNG" có nghĩa là nó tự động truy vấn hết tất cả các sub domain và domain ở các ROOT SERVER để cache sẵn

Còn DNS resolver mà cài "tại gia" là kiểu cache "BỊ ĐỘNG", khi có user nào đó gởi yêu cầu domain nào đó lên DNS resolver thì nó mới truy vấn lên các root server, rồi mới bắt đầu cache

Giả sử trong phòng game máy mở lên đầu tiên truy vấn DNS thì phân giải chậm, nhưng bắt đầu mở máy sau mới được hưởng thụ cache DNS

Thực ra nó có đến "2 cache" cho DNS resolver
1> Lưu trạng thái tên các domain và sub domain ( không liên quan gì trạng thái nó đang trỏ đến hosting nào) các tập lệnh, các mã bảo mật của DNSSEC ( chống giả mạo chuyển hướng domain).... cái này cache lâu 1 ngày trở lên

2> Cache trạng thái các domain đã trỏ về các hosting gọi là Time-to-live-TTL
Theo tiêu chuẩn của Cloudflare đưa ra DNS resolver công cộng (như 1.1.1.1) thời gian tồn Time-to-live-TTL của bên họ tồn tại chỉ 30s, còn DNS resolver "tại gia" thì tối đa 1 ngày

-----------------------------------------
Còn 1 kiểu nửa bạn tìm thử trên mikrotik chắc chắn sẻ có, về lý thuyết nó cho tốc độ hơn kiểu trên, nhưng mình lại không thích, thích đi trực tiếp đến các root server không bị chặn 1 domain nào hết, khi có domain mới nó cập nhật cũng nhanh
DNS QUERY FORWARDING: Kiểu này thì DNS resolver "tại gia" nó không truy vấn đến các root server mà nó chỉ truy vấn đến các DNS resolver công cộng như 8.8.8.8 hay 1.1.1.1 rồi cache
 
Tỷ lệ truy vấn từ cache trên unbound rất hiệu quả, chỉ là lúc đầu khi chưa có máy nào load thì hơi chậm, so với cache công cộng thôi, chứ nó cache rồi là thời gian phản hồi = 0.02ms
  • Kết quả sau 4 ngày dùng unbound, cho mấy máy ở nhà, wifi quán cf.
  • tổng lượt truy vấn dns => 104799
  • lượt truy vấn từ cache => 94839
  • lượt truy vấn ko từ cache => 9960
  • lượt cache domain được tự động gia hạn => 44308
 
Chỉnh sửa cuối:
Bạn để mặc định hay chỉnh thêm ?

Cache 4 ngày nhiều quá theo tiêu chuẩn của các DNS resolver "tại gia", cài DNS trên windows server và Ubuntu server cache lâu nhất là 3600s (1 giờ) --> 86400s (24 giờ), thấp 300s (5 phút)--> 600s (10 phút)

Bạn kiểm tra lại bằng dòng lệnh bên dưới thử

Mình kiểm tra TTL thời gian cache ví dụ đến domain riotgames.com bằng cmd, dòng lệnh này phải gõ liên tục cho TTL nó về 0, mới biết chính xác:
#nslookup -type=A -debug www.riotgames.com

1.jpg


Tốc độ phản hồi đơn vị mili giây (0,002s) bằng porwershell:
#powershell "Measure-Command { nslookup www.riotgames.com }" | FINDSTR "^Milliseconds"

2.jpg
 
- cái unbound trên docker, tích hợp vào mikrotik container á bác, nó cho phép tự gia hạn cache dns, khi 1 địa chỉ hết hạn.
 

Top Bottom