nslookup, gali, entri file firefox mengabaikan / etc / hosts


10

Ada sesuatu yang sangat salah dengan instalasi Debian saya saat ini. Sebagian besar program seperti firefox, nslookup, menggali dll mengabaikan entri dalam /etc/hostsfile, sebenarnya saya menggunakan file ini untuk pemblokiran iklan.

sebuah contoh

satu baris dalam /etc/hostsfile

127.0.0.1 www.winaproduct.com

ketika saya melakukannya dig +short www.winaproduct.commengembalikan alamat IP masing-masing server, tidak 127.0.0.1.

Buka www.winaproduct.comdi firefox, ini menunjukkan situs web masing-masing, tetapi ini tidak diharapkan.

Tetapi tidak ada masalah dengan ping, busybox nslookup, busybox ping, resolveipdll

Jadi apa masalahnya ? Dan bagaimana cara memperbaikinya? Saya pikir masalahnya adalah dengan perpustakaan penyelesaian DNS.

Perbaikan sementara, pengaturan, dnsmasqdan ubah nameserverke 127.0.0.1dalam /etc/resolv.conf.

memperbarui

masalah diselesaikan secara ajaib setelah menginstal libnss3, sebagai ketergantungangoogle-chrome

/etc/nsswitch.conf default tampak seperti hosts: files dns

bagaimana cara mengetahui nslookup, digdll. minta / etc / hosts file terlebih dahulu alih-alih bertanya langsung ke DNS?

tapi mengapa busybox nslookup, wget, resolveipdll bekerja berbeda dari nslookup, digdll?


seperti apa hosts:entri itu /etc/nsswitch.conf?
— Casey

@ casey, /etc/nsswitch.conf sepertihosts: files dns
— Arnab

Silakan tambahkan informasi kunci ini dalam OQ Anda.
— dan

Ini jelas bukan masalah DNS. Silakan lihat pertanyaan yang sangat mirip ini: unix.stackexchange.com/q/158419/31707 .
— dan

Jawaban:


16

nslookup,, digdan hostalat untuk menanyakan server nama DNS.

Jika konfigurasi Anda tidak disediakan oleh server nama (seperti informasi yang diberikan dalam /etc/hosts) alat-alat itu tidak akan menunjukkannya, karena mereka langsung menanyakan server nama.

Jika Anda ingin memeriksa apakah resolusi "biasa" berfungsi (yaitu cara yang ditentukan /etc/nsswitch.conf), Anda dapat menggunakan getent:

getent hosts www.winaproduct.com

getent hosts www.winaproduct.combekerja dengan sempurna, tapi nslookup, dig, hostdll hanya sebagai contoh, saya ingin di firefox .
— Arnab

1
Jika berfungsi dengan getent, ia juga harus bekerja dengan firefox. (Keduanya menggunakan mekanisme resolusi yang sama.) Jika benar-benar tidak berfungsi, periksa konfigurasi "tidak biasa" di firefox. Mungkin Anda mengatur semacam proxy atau sesuatu seperti ini.
— michas

terima kasih atas komentarnya, saya tidak menggunakan konfigurasi firefox yang tidak biasa, tidak itu tidak bekerja dengan firefox (38.0.1).
— Arnab

3
Saya sangat yakin ini adalah masalah browser. Coba wgetatau browser lain seperti chrome. Jika getentmemberikan hasil yang diharapkan, semuanya harus.
— michas

1
@daniel Azuelos, tidak ada yang salah dengan pengaturan firefox, sudah menggunakan No Proxy. Jadi bagaimana cara mengetahui nslookup, digdll. Meminta /etc/hostsfile terlebih dahulu alih-alih bertanya langsung ke DNS? Terima kasih atas komentar Anda yang berharga.
— Arnab

4

Anda dapat menginstal DNSmasq yang akan membaca entri / etc / hosts Anda dan mengimpornya ke cache DNS-nya. Kemudian, semua alat DNS Anda dan aplikasi permintaan DNS seperti dig, host dan nslookup akan menerima jawaban yang berasal dari file / etc / hosts.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.