Tôi đang chạy Ubuntu 10.04.2 LTS Desktop. Là một nhà phát triển web, tự nhiên tôi đã tạo một "me.com" trong /etc/hoststệp của mình . Thật không may, độ phân giải tên của tôi sẽ đi ra DNS trước khi kiểm tra đầu vào máy chủ cục bộ của tôi và tôi không thể hiểu tại sao.
Kết quả cuối cùng là nếu /etc/resolv.conf của tôi chứa nameserver 127.0.0.1trong đó trước, thì tôi sẽ nhận được phản hồi trong trình duyệt web của mình từ me.com (cục bộ) trong vòng chưa đến một giây. Nhưng nếu tôi không có mục đó, thì phản hồi của tôi đôi khi mất tới 5 giây nếu ISP của tôi chậm một chút.
Vấn đề rất rắc rối đến nỗi tôi thực sự phải gửi một câu hỏi ở đây (và ai đó đã giải quyết nó) về cách tự động chèn mục đó vào /etc/resolv.conf. Nhưng một trong những người dùng (@shellholic) ở đây rất khuyến khích (và nhận xét qua lại với tôi về điều đó) rằng tôi nên gửi câu hỏi này.
Bạn có biết tại sao độ phân giải tên máy trạm của tôi phải tấn công máy chủ DNS trước khi nhấn /etc/hostsmục nhập tệp của tôi không? Hiện tại, tôi đang sử dụng thủ thuật giải quyết .
cat /etc/nsswitch.confvà cat /etc/host.conf? Ngoài ra: làm thế nào để bạn kiểm tra điều này (thông qua ping, trình duyệt, đánh hơi gói vv)?
time getent hosts me.com; hostname --fqdn; grep 'me.com' /etc/hosts; grep hosts /etc/nsswitch.conf; netstat -uln | grep ':53'; cat /etc/host.conf; wc -l /etc/hosts. Đừng ngần ngại làm xáo trộn sự hợp lý.
/etc/nsswitch.conf. Các mục trên hệ thống của tôi hơi không rõ ràng, nhưng bạn có thể kiểm tra tra cứu chỉfilesvới một tùy chọn và xem điều đó có tạo ra sự khác biệt không.