Có lỗi gì đó với cài đặt Debian hiện tại của tôi. Hầu hết các chương trình như firefox, nslookup, dig, v.v. đều bỏ qua các mục trong /etc/hoststệp, thực sự tôi sử dụng tệp này để chặn Quảng cáo.
một ví dụ
một dòng trong /etc/hoststập tin
127.0.0.1 www.winaproduct.com
Khi tôi làm, dig +short www.winaproduct.comnó trả về địa chỉ IP tương ứng của máy chủ, không 127.0.0.1.
Mở www.winaproduct.comtrên firefox, nó hiển thị trang web tương ứng, nhưng điều này không được mong đợi.
Nhưng không có vấn đề với ping, busybox nslookup, busybox ping, resolveip, vv
Vì vậy, vấn đề là gì ? Và làm thế nào để khắc phục nó? Tôi nghĩ vấn đề là ở thư viện phân giải DNS.
Một sửa chữa tạm thời, thiết lập dnsmasqvà thay đổi nameserverthành 127.0.0.1trong /etc/resolv.conf.
cập nhật
vấn đề được giải quyết một cách kỳ diệu sau khi cài đặt libnss3, như một sự phụ thuộc củagoogle-chrome
/etc/nsswitch.conf trông giống như hosts: files dns
Làm thế nào để nói nslookup, digv.v. yêu cầu tập tin / etc / hosts trước thay vì hỏi trực tiếp DNS?
nhưng tại sao busybox nslookup, wget, resolveipvv được làm việc khác biệt so với nslookup, digvv?
hosts: files dns
hosts:mục trong/etc/nsswitch.conftrông như thế nào?