Nếu bạn khởi chạy nslookup và bật gỡ lỗi, bạn sẽ thấy Windows luôn cố gắng thêm hậu tố của nó trước.
C:\>nslookup
Default Server: itads.example.com
Address: 0.0.0.0
> set debug=true
> www.yahoo.com
Server: itads.example.com
Address: 0.0.0.0
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NXDOMAIN
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
www.yahoo.com.example.com, type = A, class = IN
AUTHORITY RECORDS:
-> example.com
ttl = 3600 (1 hour)
primary name server = itads.example.com
responsible mail addr = itads.example.com
serial = 12532170
refresh = 1200 (20 mins)
retry = 600 (10 mins)
expire = 1209600 (14 days)
default TTL = 3600 (1 hour)
------------
------------
Got answer:
HEADER:
opcode = QUERY, id = 3, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 4, authority records = 0, additional = 0
QUESTIONS:
www.yahoo.com, type = A, class = IN
ANSWERS:
-> www.yahoo.com
canonical name = www.wa1.b.yahoo.com
ttl = 241 (4 mins 1 sec)
-> www.wa1.b.yahoo.com
canonical name = www-real.wa1.b.yahoo.com
ttl = 30 (30 secs)
-> www-real.wa1.b.yahoo.com
internet address = 209.131.36.158
ttl = 30 (30 secs)
-> www-real.wa1.b.yahoo.com
internet address = 209.191.93.52
ttl = 30 (30 secs)
------------
Non-authoritative answer:
Name: www-real.wa1.b.yahoo.com
Addresses: 209.131.36.158, 209.191.93.52
Aliases: www.yahoo.com, www.wa1.b.yahoo.com
Như bạn có thể thấy ở trên, máy của tôi đã cố gắng tìm www.yahoo.com.example.com trước và máy chủ DNS đã phản hồi NXDOMAIN
(không tìm thấy mục nhập). Bạn có thể xác nhận điều này bằng cách chạy nslookup www.yahoo.com.
(lưu ý dấu chấm ở cuối .com!) Và bạn sẽ thấy rằng nó được giải quyết bình thường.
Điều đang xảy ra là máy chủ DNS bên ngoài của bạn đang phản hồi rằng họ có một mục nhập cho "www.yahoo.com.example.com" và đang trả lại địa chỉ IP của bạn cho thư mục gốc của trang web của bạn. Tôi không chắc bạn sử dụng dịch vụ nào nhưng tôi đoán rằng bạn có ánh xạ ký tự đại diện cho máy chủ của bạn trả lời bất kỳ truy vấn không xác định nào bằng phản hồi hợp lệ, thay vì trả về NXDOMAIN
. Bạn sẽ cần phải kiểm tra cài đặt cho máy chủ và xác nhận tăng gấp đôi rằng nó chỉ được thiết lập để đáp ứng với các truy vấn cho các mục nó thực sự có ( example.com
, www.example.com
, mail.example.com
, vv).
Hãy nhớ rằng DNS hoạt động bằng cách kiểm tra máy chủ được cấu hình và làm việc theo cách đó. Truy vấn DNS có thể có một đường dẫn như mẫu sau (tất nhiên đây chỉ là một ví dụ, có thể sai): Máy -> DNS bộ định tuyến cục bộ (linksys) -> DNS DNS -> (DNS ISP thứ 2?) -> Root DNS máy chủ -> DNS TLD -> Máy chủ DNS bên ngoài của bạn. Ai đó dọc theo con đường đó đang nói rằng www.yahoo.com.example.com
tồn tại. Có thể đó là máy chủ DNS bên ngoài của bạn.
CHỈNH SỬA
Tôi hình dung tôi sẽ đưa thêm một mẩu tin về sự ngẫu nhiên mà bạn đề cập. Nếu điều này thực sự xảy ra không thường xuyên, bạn có thể có một máy chủ DNS bên ngoài được định cấu hình sai hoặc ISP của họ có thể đang cung cấp dịch vụ chiếm quyền điều khiển DNS. Thật không may, tôi đã thấy ngày càng nhiều ISP dân cư cung cấp một "dịch vụ tìm kiếm" cho các tên miền không hợp lệ. Vì hầu hết tất cả người dùng cuối đều sử dụng máy chủ DNS ISP của họ, các ISP hiện đang bắt đầu chuyển hướng các mục nhập tên miền không hợp lệ sang trang tìm kiếm - một trang thường chứa đầy quảng cáo, liên kết không liên quan và một câu "Ý bạn là www.example.com?" với một số kết quả có thể có hoặc không liên quan đến tên miền. Tôi biết rằng Verizon và Comcast đang bắt đầu làm điều này, tôi tin rằng Quest cũng đang bắt đầu. Một khả năng khác là OpenDNS, vì họ cung cấp cùng một "tìm kiếm tên miền liên quan" nếu nó không '
Tuy nhiên, vấn đề của tôi khi đề xuất rằng vấn đề là ở chỗ, thực tế là bạn nói rằng nó sẽ trả lại địa chỉ của hồ sơ gốc của bạn, điều mà không ai trong số họ sẽ làm nếu họ đang cố gắng tìm kiếm nó, họ sẽ cung cấp cho bạn IP của một của các máy chủ web của họ để xử lý việc tìm kiếm.