DNS không thể giải quyết tên máy chủ; nslookup có thể


9

Tôi có một người dùng trên Windows 7 đang cố gắng truy cập máy chủ cục bộ với tên DNS của windows.cs. Chúng tôi có hai máy chủ DNS nội bộ. Máy chủ DHCP gán cho người dùng hai máy chủ DNS nội bộ là chính và phụ và sau đó là ISP ISP của chúng tôi làm máy chủ DNS cấp ba.

Thỉnh thoảng, người dùng không thể truy cập trang web tại windows.cs. Nếu tôi ping nó, nó nói rằng nó không thể giải quyết tên máy chủ. Tôi xóa bộ đệm DNS và sau đó khi tôi hiển thị bộ đệm dns, nó có các mục sau:

windows.cs - Tên không tồn tại

Tuy nhiên, nếu tôi sử dụng nslookup, theo mặc định truy vấn máy chủ DNS chính (máy chủ nội bộ của chúng tôi) và tôi truy vấn windows.cs, nó sẽ trả về địa chỉ IP chính xác.

Vậy tại sao Windows không thể giải quyết tên máy chủ bằng ping, nhưng nó có thể khi sử dụng công cụ nslookup? Và làm thế nào để tôi sửa lỗi này?


1
+1, tôi gặp vấn đề này thường xuyên ... ngay cả với tên máy chủ tôi mới sử dụng 5 phút trước!
Brad

Câu trả lời:


12

Nó xuất hiện từ những gì bạn nói rằng yêu cầu cho windows.cs sẽ đến máy chủ DNS của ISP ngay bây giờ và một lần nữa. Kết quả nxdomain sau đó được lưu trữ bởi máy khách DNS của Windows và do đó được sử dụng cho mọi lần thử lại với trình duyệt web, ping, v.v ... Xóa bộ đệm (ipconfig / flushdns) sẽ buộc máy khách DNS của Windows thử lại truy vấn, nhưng không có gì đảm bảo sẽ không đến máy chủ ISP ISP một lần nữa.

Lý do ping không thể giải quyết tên máy chủ nhưng nslookup có thể là do nslookup một công cụ cấp thấp bỏ qua máy khách DNS của Windows. Nó sử dụng bất kỳ máy chủ DNS nào mà bạn nói với nó (máy chủ đầu tiên theo mặc định) và thực hiện truy vấn nhanh chóng. Bạn có thể thay đổi máy chủ DNS mà nó truy vấn bằng cách nhập server <host>từ dấu nhắc nslookup, trong đó máy chủ là IP hoặc FQDN.

Tuy nhiên, máy khách DNS của Windows sẽ chỉ thực hiện các truy vấn cho các mục không có trong bộ đệm (hoặc đã hết hạn). Nếu không, nó trả về kết quả lưu trữ.

Không rõ ngay tại sao máy khách Windows đang sử dụng máy chủ ISP ISP. Có lẽ gần đây nó không thể giải quyết máy chủ cục bộ (có lẽ do nằm trên một mạng khác), có lẽ máy chủ cục bộ đã trả về lỗi. Hoặc, có lẽ nó không được sắp xếp chính xác trong cài đặt TCP / IP nâng cao> DNS.

Cá nhân tôi thích chỉ sử dụng địa chỉ máy chủ DNS cục bộ trên các máy trạm (được truyền bá bởi DHCP), để đơn giản hóa cấu hình và tránh các vấn đề như thế này. Tôi tò mò muốn biết lý do đằng sau việc thiết lập máy chủ DNS của ISP trên máy tính để bàn. Tôi không thể tưởng tượng được có bất kỳ lý do hiệu suất hợp lệ nào và cho đến khi dư thừa đi hai là đủ trên hầu hết các mạng (nếu không thêm một phần ba).


Bạn đưa ra một điểm tốt. Không có lý do cụ thể tại sao chúng tôi có máy chủ DHCP gán nó làm đại học. Và đó có vẻ là một lời giải thích hợp lý cho lý do tại sao nó không giải quyết (nhưng tại sao nó lại đến máy chủ DNS thứ 3 ?? ai biết ..). Cảm ơn đã chỉ đạo. Tôi sẽ xóa máy chủ DNS công cộng khỏi máy chủ DNS được chỉ định thông qua DHCP và xem liệu có giải quyết được sự cố không. Các máy chủ DNS nội bộ sẽ vượt qua mọi truy vấn mà họ không thể trả lời cho máy chủ DNS đó, vì vậy đây không phải là vấn đề.
Safado

Cập nhật: Điều này dường như đã khắc phục vấn đề của chúng tôi. Cám ơn vì sự gợi ý!
Safado

0

Các kết quả nslookupkhác nhau từ đó là pingdo nslookupidiosyncracies và lỗi . Tuy nhiên, chúng không thực sự liên quan đến vấn đề chính của bạn, đó là bạn đã vi phạm quy tắc rằng các máy chủ DNS proxy dự phòng của bạn phải cung cấp cùng một chế độ xem không gian tên DNS như chính của bạn . Máy chủ DNS proxy của ISP của bạn không cung cấp cùng chế độ xem không gian tên DNS như máy chủ DNS proxy của riêng bạn trên mạng LAN.

Có vẻ như một quản trị viên hệ thống khác đã phạm lỗi với ISP của tôi cung cấp và ghi lại nó, vì vậy tôi phải sử dụng nó. lối ngụy biện. ☺


Vì vậy, theo thuật ngữ laymans, bạn đang nói đừng gán máy chủ DNS cho người dùng của mình trừ khi tôi biết rằng các máy chủ DNS đó có cùng thông tin? Liên kết của bạn không hoạt động.
Safado

0

Phiên bản TL; DR: IPv6 gây ra sự cố truy vấn DNS trong trường hợp của tôi, việc tắt nó đã giải quyết vấn đề truy vấn DNS.

Tôi đã có cùng một vấn đề trên máy phát triển của tôi. Bất cứ khi nào tôi đăng nhập vào mạng công ty của chúng tôi, tôi không thể giải quyết tên máy chủ nội bộ, tất cả tên máy chủ / URI bên ngoài có thể được giải quyết. Tôi đã kiểm tra các máy chủ DNS đã được chỉ định trên kết nối VPN và chúng cho thấy các máy chủ DNS của công ty được định cấu hình là chính và phụ. Tôi cũng có thể sử dụng nslookupnhưng phải thay đổi máy chủ theo cách thủ công server X.X.X.Xđể có độ phân giải DNS.

Cuối cùng, tôi thấy rằng IPv6 đã gây ra vấn đề với độ phân giải tên: trên mỗi truy vấn DNS, DNS DNS được truy vấn thay vì các máy chủ DNS của công ty IPv4. Sau khi tắt IPv6, bạn ipconfig /flushdnsvẫn phải giải quyết các địa chỉ đã truy vấn trước đó.


0

Tôi đã có thể giải quyết vấn đề đơn giản bằng cách xóa bản ghi DNS và chạy các lệnh flushdns và registerdns và khắc phục nó. lý do tại sao là agein trên chính DNS. DNS đã không xóa bản ghi sau khi hợp đồng thuê đã hết hạn và không được gia hạn mà không thể giải quyết tên này vì nó đã được sử dụng. Tôi hy vọng rằng sẽ giúp bạn khắc phục vấn đề của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.