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/hosts
tệ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/hosts
tập tin
127.0.0.1 www.winaproduct.com
Khi tôi làm, dig +short www.winaproduct.com
nó trả về địa chỉ IP tương ứng của máy chủ, không 127.0.0.1
.
Mở www.winaproduct.com
trê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 dnsmasq
và thay đổi nameserver
thành 127.0.0.1
trong /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
, dig
v.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
, resolveip
vv được làm việc khác biệt so với nslookup
, dig
vv?
hosts: files dns
hosts:
mục trong/etc/nsswitch.conf
trông như thế nào?