DNS Leak Khi Dùng Proxy: Cách Kiểm Tra Và Khắc Phục
DNS leak khi dùng proxy là tình trạng địa chỉ IP đã đổi nhưng các truy vấn tên miền vẫn đi qua máy chủ của nhà mạng. Trang đích và nhà mạng vì thế vẫn biết anh em đang ở đâu và truy cập những tên miền nào. Bài viết của ProxyVN giải thích nguyên nhân, cách kiểm tra và cách khắc phục trên trình duyệt, dòng lệnh và mã nguồn.
DNS leak khi dùng proxy là gì
Để hiểu rò rỉ, anh em cần biết một kết nối web gồm hai bước tách biệt.

Truy vấn tên miền đi đường nào
Hai bước của một kết nối
Bước thứ nhất là phân giải tên miền. Thiết bị hỏi một máy chủ DNS để đổi tên miền thành địa chỉ IP. Bài viết của IPRoyal ví DNS như một cuốn danh bạ điện thoại bản số.
Bước thứ hai là gửi dữ liệu tới địa chỉ IP vừa tìm được. Proxy thường được cấu hình cho bước này.
Rò rỉ xảy ra ở đâu
Nếu chỉ bước thứ hai đi qua proxy, còn bước thứ nhất vẫn do máy chủ DNS của nhà mạng xử lý, anh em bị rò rỉ DNS. Dữ liệu đi một đường, câu hỏi về tên miền đi đường khác.
Ai nhìn thấy gì
Bên quan sát |
Khi không rò rỉ |
Khi rò rỉ DNS |
|---|---|---|
Nhà mạng |
Chỉ thấy kết nối tới proxy |
Thấy từng tên miền anh em truy cập |
Trang đích |
Thấy IP và máy chủ DNS cùng khu vực với proxy |
Có thể thấy máy chủ DNS ở quốc gia khác với IP |
Chủ mạng Wi-Fi |
Chỉ thấy kết nối tới proxy |
Thấy truy vấn tên miền |
Vì sao trang đích biết
Một số trang nhúng các tên miền con duy nhất để xem máy chủ DNS nào tới hỏi. IP hiển thị ở Mỹ nhưng máy chủ phân giải thuộc nhà mạng Việt Nam là dấu hiệu rõ ràng của proxy.
Với anh em quản lý tài khoản, sự lệch pha này đủ để hệ thống chống gian lận tăng mức nghi ngờ.
Vai trò của DNS proxy
Theo định nghĩa của Decodo, DNS proxy là thành phần trung gian chặn bắt yêu cầu DNS từ máy khách, chuyển tới một máy chủ DNS được chỉ định rồi trả kết quả về. Nó có thể lưu đệm, lọc hoặc chuyển hướng theo quy tắc.
Đây là cơ chế mà nhiều công cụ dùng để đưa truy vấn tên miền vào đúng tuyến.
Hiểu hai bước của kết nối là nền tảng để xử lý mọi tình huống rò rỉ ở các phần sau.
Nguyên nhân gây DNS leak khi dùng proxy
Rò rỉ không phải lỗi của proxy mà thường do cách máy khách được cấu hình. Dưới đây là các nguyên nhân phổ biến.
Loại proxy và nơi phân giải tên miền
Loại proxy |
Tên miền được phân giải ở đâu |
Nguy cơ rò rỉ |
|---|---|---|
HTTP, HTTPS |
Máy khách gửi tên miền cho proxy, proxy phân giải |
Thấp với lưu lượng đi qua proxy |
SOCKS4 |
Máy khách tự phân giải rồi gửi IP |
Cao |
SOCKS5 phân giải cục bộ |
Máy khách tự phân giải |
Cao |
SOCKS5 phân giải từ xa |
Proxy phân giải |
Thấp |
Với proxy HTTP, trình duyệt gửi nguyên tên miền trong yêu cầu, nên proxy là bên phân giải. SOCKS5 thì cho phép cả hai cách, và nhiều công cụ mặc định chọn cách phân giải cục bộ.
Ứng dụng không đi qua proxy
Proxy đặt trong trình duyệt chỉ áp dụng cho trình duyệt đó. Các ứng dụng khác, dịch vụ nền và chính hệ điều hành vẫn gửi truy vấn DNS thẳng tới nhà mạng.
Đây là nguyên nhân phổ biến nhất khiến công cụ kiểm tra vẫn thấy máy chủ của nhà mạng.
Tính năng tải trước của trình duyệt
Trình duyệt phân giải sẵn tên miền của các liên kết trên trang để tăng tốc. Trong một số cấu hình, các truy vấn tải trước này đi thẳng thay vì qua proxy.
DNS mã hóa cấu hình riêng
Trình duyệt hiện đại có tính năng DNS bảo mật, gửi truy vấn tới một nhà cung cấp DNS qua kết nối mã hóa. Tính năng này che truy vấn khỏi nhà mạng, nhưng máy chủ phân giải vẫn nhìn thấy IP thật của anh em nếu kết nối đó không đi qua proxy.
Quy tắc định tuyến thiếu phần DNS
Khi dùng ứng dụng quản lý proxy theo quy tắc, anh em có thể đã đưa lưu lượng web vào proxy nhưng quên phần truy vấn tên miền. Bài proxy tunnel là gì giải thích cơ chế đường hầm liên quan.
Hệ điều hành hỏi nhiều máy chủ cùng lúc
Một số hệ điều hành gửi truy vấn qua mọi giao diện mạng đang hoạt động và lấy câu trả lời nhanh nhất. Truy vấn vì thế có thể thoát ra ngoài tuyến mong muốn.
Proxy đổi được nơi dữ liệu đi ra. Việc câu hỏi về tên miền đi đường nào lại do máy khách quyết định.
Xác định đúng nguyên nhân giúp anh em chọn cách sửa phù hợp thay vì thử mọi thứ.
Cách kiểm tra DNS leak khi dùng proxy
Kiểm tra mất chưa tới một phút và nên làm mỗi khi đổi cấu hình.

Kiểm tra rò rỉ trên trình duyệt
Kiểm tra trên trình duyệt
- Tắt proxy, mở một trang kiểm tra rò rỉ DNS như BrowserLeaks hoặc IPLeak, ghi lại tên nhà mạng và quốc gia của các máy chủ DNS hiển thị.
- Bật proxy và tải lại trang.
- So sánh danh sách máy chủ DNS mới với danh sách cũ.
Nếu vẫn thấy máy chủ của nhà mạng mình, anh em đang bị rò rỉ. Kết quả tốt là các máy chủ thuộc cùng quốc gia với IP của proxy và không có máy chủ nào của nhà mạng gốc.
Đọc kết quả
Kết quả |
Ý nghĩa |
|---|---|
Máy chủ DNS thuộc nhà mạng của anh em |
Rò rỉ, truy vấn đi thẳng |
Máy chủ DNS công cộng, vị trí gần anh em |
Truy vấn không qua proxy, dù không phải của nhà mạng |
Máy chủ DNS cùng quốc gia với IP proxy |
Truy vấn được phân giải phía proxy |
Nhiều máy chủ ở nhiều nước khác nhau |
Có nhiều tuyến phân giải, cần xem lại cấu hình |
Kiểm tra bằng dòng lệnh
Lệnh curl có hai cách gọi qua SOCKS5 cho kết quả khác nhau. Các lệnh dưới đây là ví dụ triển khai chung của ProxyVN.
curl --socks5 proxy-host:1080 https://example.com
curl --socks5-hostname proxy-host:1080 https://example.com
Lệnh thứ nhất phân giải tên miền trên máy của anh em rồi mới gửi IP cho proxy. Lệnh thứ hai gửi nguyên tên miền để proxy phân giải.
Cách viết tương đương bằng tiền tố giao thức:
curl -x socks5://USER:PASS@proxy-host:1080 https://example.com
curl -x socks5h://USER:PASS@proxy-host:1080 https://example.com
Chữ h trong socks5h là viết tắt của hostname, nghĩa là giao việc phân giải cho proxy.
Quan sát truy vấn trên máy
Người dùng nâng cao có thể bắt gói tin trên cổng 53 trong lúc duyệt web qua proxy. Nếu thấy truy vấn tới các tên miền đang truy cập, rò rỉ đang xảy ra.
Kiểm tra cả WebRTC
Cùng trang kiểm tra thường báo luôn rò rỉ qua kết nối thời gian thực. Theo tài liệu của Decodo, anh em so IP hiển thị với IP thật đã ghi: trùng nhau là rò rỉ, khác hoặc không có IP là an toàn.
Kiểm tra định kỳ là thói quen rẻ nhất để giữ an toàn cho tài khoản.
Khắc phục DNS leak khi dùng proxy trên trình duyệt
Mỗi trình duyệt có cách xử lý riêng. Phần này đi qua các trường hợp phổ biến.

Bật phân giải tên miền phía proxy
Firefox
Firefox có phần cài đặt proxy riêng, không phụ thuộc hệ thống.
- Vào Settings, kéo xuống Network Settings và bấm Settings.
- Chọn Manual proxy configuration, nhập máy chủ SOCKS và cổng.
- Chọn SOCKS v5.
- Đánh dấu Proxy DNS when using SOCKS v5.
- Bấm OK.
Tùy chọn cuối tương ứng với khóa cấu hình sau trong trang about:config:
network.proxy.socks_remote_dns = true
Khi bật, Firefox gửi tên miền cho proxy phân giải thay vì tự hỏi máy chủ DNS cục bộ.
Chrome, Edge và Brave
Ba trình duyệt nền Chromium gửi tên miền cho proxy khi dùng SOCKS5, nên truy vấn của các trang đi qua proxy được phân giải từ xa. Với proxy HTTP, tên miền cũng nằm trong yêu cầu gửi tới proxy.
Điểm cần chú ý là tính năng DNS bảo mật. Anh em vào phần cài đặt quyền riêng tư và bảo mật, tìm mục dùng DNS bảo mật và cân nhắc tắt khi làm việc với proxy, để mọi truy vấn đi theo một tuyến duy nhất.
Bài cách cài đặt proxy cho Google Chrome hướng dẫn cách cài proxy cho nhóm trình duyệt này.
Dùng proxy HTTP thay cho SOCKS5 cục bộ
Nếu công cụ của anh em không có tùy chọn phân giải từ xa cho SOCKS5, chuyển sang proxy HTTP hoặc HTTPS là cách đơn giản nhất. Tên miền luôn được gửi cho proxy.
Tắt tải trước
Trong phần cài đặt hiệu năng hoặc quyền riêng tư, anh em tắt tùy chọn tải trước trang. Việc này loại bỏ các truy vấn phát sinh ngoài ý muốn.
Dùng hồ sơ riêng
Mỗi hồ sơ trình duyệt nên có cấu hình proxy và DNS thống nhất. Trộn tiện ích quản lý proxy với cài đặt hệ thống khác nhau dễ sinh ra tuyến phân giải thứ hai.
Cấu hình đúng một lần cho mỗi hồ sơ, anh em không phải lo lại mỗi lần mở trình duyệt.
Khắc phục DNS leak khi dùng proxy trong mã và dòng lệnh
Công cụ tự động cũng rò rỉ nếu khai báo proxy chưa đúng. Các ví dụ dưới đây do ProxyVN viết theo cú pháp chuẩn của từng thư viện.
Python với requests
pip install "requests[socks]"
import requests
# Phan giai cuc bo: co ro ri
leaky = {"http": "socks5://USER:PASS@proxy-host:1080",
"https": "socks5://USER:PASS@proxy-host:1080"}
# Phan giai phia proxy: khong ro ri
safe = {"http": "socks5h://USER:PASS@proxy-host:1080",
"https": "socks5h://USER:PASS@proxy-host:1080"}
r = requests.get("https://example.com", proxies=safe, timeout=30)
print(r.status_code)
Chỉ một chữ h quyết định truy vấn tên miền đi đường nào. Đây là lỗi rất hay gặp trong các công cụ thu thập dữ liệu.
Biến môi trường
export ALL_PROXY="socks5h://USER:PASS@proxy-host:1080"
export HTTPS_PROXY="http://USER:PASS@proxy-host:8080"
Nhiều công cụ dòng lệnh đọc các biến này. Anh em dùng tiền tố socks5h cho SOCKS5 hoặc dùng proxy HTTP.
Trình duyệt tự động
Playwright và Puppeteer khởi chạy trình duyệt thật, nên áp dụng quy tắc của nền Chromium. Anh em khai báo proxy khi khởi chạy và kiểm tra bằng một trang kiểm tra rò rỉ ngay trong phiên tự động.
Bài proxy Playwright hướng dẫn cách khai báo.
Ứng dụng quản lý proxy theo quy tắc
Với Clash ở chế độ TUN, phần cấu hình sau bắt mọi truy vấn trên cổng 53 và xử lý bên trong ứng dụng:
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
Thiếu dòng dns-hijack, truy vấn của các ứng dụng vẫn có thể thoát ra ngoài.
Bảng tóm tắt cách khai báo
Công cụ |
Cách khai báo dễ rò rỉ |
Cách khai báo an toàn |
|---|---|---|
curl |
--socks5 |
--socks5-hostname hoặc socks5h |
Python requests |
socks5:// |
socks5h:// |
Firefox |
SOCKS v5 không đánh dấu Proxy DNS |
Đánh dấu Proxy DNS when using SOCKS v5 |
Clash chế độ TUN |
Không có dns-hijack |
Có dns-hijack |
Rà lại cách khai báo trong mọi tệp lệnh là việc nên làm một lần cho cả dự án.
Xử lý DNS leak khi dùng proxy ở cấp hệ thống
Khi cần mọi ứng dụng trên máy đều kín, anh em phải xử lý ở tầng hệ điều hành.
Đưa toàn bộ lưu lượng qua một điểm
Ứng dụng quản lý proxy có chế độ bắt toàn bộ lưu lượng tạo ra một bộ điều hợp mạng ảo. Mọi gói tin, kể cả truy vấn DNS, đều đi qua đó.
Đây là cách triệt để nhất cho máy làm việc chuyên dùng với proxy.
Đổi máy chủ DNS của hệ thống
Thay máy chủ DNS của nhà mạng bằng một dịch vụ DNS công cộng giúp nhà mạng không còn trực tiếp trả lời truy vấn. Tuy vậy, cách này không làm truy vấn đi qua proxy.
Trang đích vẫn có thể thấy máy chủ phân giải ở gần vị trí thật của anh em. Vì vậy đổi DNS chỉ là biện pháp bổ trợ.
Xử lý ở router
Decodo nêu mạng doanh nghiệp và router gia đình là nơi thường dùng DNS proxy để kiểm soát và tối ưu lưu lượng DNS. Khi đặt proxy ở router, anh em cũng cần cấu hình để truy vấn tên miền của cả mạng đi cùng tuyến.
Bài proxy transparent là gì giải thích nguyên lý chuyển hướng ở tầng mạng.
IPv6
Nhiều thiết lập proxy chỉ xử lý IPv4. Nếu mạng của anh em có IPv6, truy vấn và kết nối qua IPv6 có thể đi thẳng.
Anh em tắt IPv6 trên giao diện mạng khi làm việc với proxy chỉ hỗ trợ IPv4, hoặc chọn dịch vụ xử lý được cả hai.
Hạn chế của DNS proxy
Decodo liệt kê ba hạn chế: nó là điểm lỗi duy nhất, cấu hình lọc phức tạp làm tăng công quản lý, và việc ghi nhật ký truy vấn có thể ảnh hưởng quyền riêng tư nếu không được giám sát.
Anh em chọn máy chủ phân giải từ đơn vị đáng tin cậy vì họ thấy toàn bộ tên miền mình truy cập.
Xử lý ở cấp hệ thống phức tạp hơn nhưng phủ được cả những ứng dụng không có cài đặt proxy.
Rò rỉ WebRTC và các kiểu lộ thông tin đi kèm DNS leak khi dùng proxy
Sửa xong DNS chưa phải là kín. Còn một kênh rò rỉ khác mà anh em nên xử lý cùng lúc.

Rò rỉ WebRTC đi kèm
WebRTC lộ IP thế nào
Decodo giải thích WebRTC là giao thức cho phép trình duyệt giao tiếp thời gian thực mà không cần phần mềm bổ sung. Nó dùng cơ chế thiết lập kết nối ở tầng mạng của hệ điều hành và có thể làm lộ IP công cộng thật thông qua máy chủ STUN.
Cơ chế này hoạt động độc lập với cài đặt proxy của trình duyệt. Hệ thống phát hiện so sánh IP proxy với IP thật bị lộ và coi sự lệch nhau là tín hiệu cảnh báo.
Cách tắt theo từng trình duyệt
Các bước theo tài liệu của Decodo:
- Firefox: mở about:config, tìm media.peerconnection.enabled và đổi thành false, sau đó khởi động lại.
- Chrome: không có công tắc sẵn, phải dùng tiện ích như WebRTC Network Limiter hoặc WebRTC Control.
- Edge: mở edge://flags, tìm Anonymize local IPs exposed by WebRTC và đặt Enabled.
- Brave: mở brave://settings/privacy, ở mục WebRTC IP handling policy chọn Disable non-proxied UDP.
- Safari: bật tính năng dành cho nhà phát triển, vào trình đơn Develop, mục WebRTC để bỏ các tùy chọn.
Tắt hẳn WebRTC làm các dịch vụ gọi video như Google Meet, Discord và Zoom ngừng hoạt động cho tới khi bật lại. Chế độ giới hạn giữ được chức năng này.
Bài cách tắt WebRTC và WebRTC proxy là gì của ProxyVN hướng dẫn chi tiết.
Tắt WebRTC không sửa được gì
Vấn đề |
Tắt WebRTC có giải quyết không |
|---|---|
Rò rỉ IP qua WebRTC |
Có |
Rò rỉ DNS |
Không |
Dấu vân tay Canvas, WebGL |
Không |
Rò rỉ qua tiêu đề HTTP |
Không |
Bị chặn IP, giới hạn tần suất |
Không |
Decodo nhấn mạnh tắt WebRTC chỉ xử lý một kênh rò rỉ. Quyền riêng tư đầy đủ cần thêm phòng chống rò rỉ DNS, tách biệt trình duyệt và proxy chất lượng.
Các tín hiệu lệch khác
- Múi giờ của trình duyệt khác với múi giờ của IP.
- Ngôn ngữ trình duyệt không khớp quốc gia của IP.
- Tiêu đề do proxy thêm vào tiết lộ IP gốc.
Bài cách dùng fingerprint browser và proxy nuôi tài khoản trình bày cách đồng bộ các tín hiệu này.
Xử lý đồng thời DNS, WebRTC và các tín hiệu môi trường mới cho kết quả nhất quán.
Muốn có proxy ổn định để áp dụng danh sách kiểm tra DNS leak ở trên, anh em có thể mua proxy Việt Nam tại ProxyVN, proxy được cấp kèm user và password, dùng được trên trình duyệt, tool và antidetect browser.
Danh sách kiểm tra và tiêu chí chọn dịch vụ để tránh DNS leak khi dùng proxy
Phần cuối gom lại thành các bước anh em áp dụng được ngay.
Danh sách kiểm tra nhanh
- Chạy phép kiểm tra rò rỉ DNS trước và sau khi bật proxy.
- Dùng proxy HTTP hoặc SOCKS5 phân giải từ xa.
- Đánh dấu Proxy DNS trong Firefox.
- Dùng socks5h trong curl và mã nguồn.
- Xem lại tính năng DNS bảo mật của trình duyệt.
- Xử lý WebRTC theo trình duyệt đang dùng.
- Tắt IPv6 nếu proxy chỉ hỗ trợ IPv4.
- Kiểm tra lại sau mỗi lần cập nhật trình duyệt hoặc đổi cấu hình.
So với các công cụ khác
IPRoyal tổng hợp những gì từng công cụ che được:
Công nghệ |
Che IP |
Che DNS |
Mã hóa lưu lượng |
|---|---|---|---|
Proxy |
Có |
Có, khi cấu hình đúng |
Không theo mặc định |
VPN |
Có |
Có |
Có |
Smart DNS |
Không |
Có |
Không |
Proxy che được truy vấn tên miền khi anh em để proxy phân giải. Bài proxy và VPN khác gì nhau so sánh kỹ hơn.
Tiêu chí chọn dịch vụ
- Hỗ trợ SOCKS5 phân giải từ xa và HTTP, HTTPS.
- Máy chủ phân giải cùng khu vực với IP đầu ra.
- Không thêm tiêu đề tiết lộ IP gốc.
- IP riêng, sạch.
- Hỗ trợ kỹ thuật liên tục.
ProxyVN cung cấp proxy với kết nối ổn định, hạn chế mất kết nối giữa phiên. Đội kỹ thuật hỗ trợ 24/24 khi anh em cần kiểm tra cấu hình.
Tóm lại, anh em để proxy phân giải tên miền bằng proxy HTTP hoặc socks5h, kiểm tra bằng trang đo rò rỉ sau mỗi lần đổi cấu hình và xử lý luôn WebRTC. Cần tư vấn, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để được hướng dẫn tránh DNS leak khi dùng proxy.