nslookup, ขุด, firefox ละเว้นรายการไฟล์ / etc / hosts


10

มีบางอย่างผิดปกติกับการติดตั้ง Debian ปัจจุบันของฉัน โปรแกรมส่วนใหญ่เช่น firefox, nslookup, dig เป็นต้นกำลังมองข้ามรายการใน/etc/hostsไฟล์จริง ๆ แล้วฉันใช้ไฟล์นี้เพื่อปิดกั้นโฆษณา

ตัวอย่าง

บรรทัดใน/etc/hostsไฟล์

127.0.0.1 www.winaproduct.com

เมื่อฉันทำdig +short www.winaproduct.comมันกลับที่อยู่ IP 127.0.0.1ที่เกี่ยวข้องของเซิร์ฟเวอร์ไม่ได้

เปิดwww.winaproduct.comใน firefox จะแสดงเว็บไซต์ที่เกี่ยวข้อง แต่ไม่คาดว่าจะเป็น

แต่มีปัญหาใด ๆ กับping, busybox nslookup, busybox ping, resolveipฯลฯ

ดังนั้นปัญหาคืออะไร และจะแก้ไขได้อย่างไรฉันคิดว่าปัญหาอยู่ที่ไลบรารีการแก้ไข DNS

แก้ไขชั่วคราวขึ้นการติดตั้งdnsmasqและการเปลี่ยนแปลงnameserverไปใน127.0.0.1/etc/resolv.conf

ปรับปรุง

ปัญหาได้รับการแก้ไขอย่างน่าอัศจรรย์หลังจากการติดตั้งlibnss3ซึ่งขึ้นอยู่กับgoogle-chrome

default /etc/nsswitch.conf ดูเหมือนว่า hosts: files dns

จะบอกได้nslookupอย่างไรdigฯลฯ ถามไฟล์ / etc / hosts ก่อนแทนที่จะถามโดยตรงกับ DNS

แต่ทำไมbusybox nslookup, wget, resolveipฯลฯ มีการทำงานที่แตกต่างกว่าnslookup, digฯลฯ ?


สิ่งที่ไม่hosts:รายการใน/etc/nsswitch.confลักษณะ?
casey

@ casey, /etc/nsswitch.conf ดูเหมือนhosts: files dns
Arnab

โปรดเพิ่มข้อมูลสำคัญนี้ภายใน OQ ของคุณ
แดน

เห็นได้ชัดว่าไม่ใช่ปัญหา DNS กรุณาดูที่คำถามที่คล้ายกันอย่างนี้: unix.stackexchange.com/q/158419/31707
แดน

คำตอบ:


16

nslookup, digและhostเป็นเครื่องมือสำหรับการสอบถามเซิร์ฟเวอร์ชื่อ DNS

หากการกำหนดค่าของคุณไม่ได้ระบุไว้โดยเนมเซิร์ฟเวอร์ (เช่นข้อมูลที่ให้ไว้ใน/etc/hosts) เครื่องมือเหล่านั้นจะไม่แสดงเพราะพวกเขาถามชื่อเซิร์ฟเวอร์โดยตรง

หากคุณต้องการตรวจสอบว่าความละเอียด "ปกติ" ทำงาน (เช่นวิธีที่ระบุใน/etc/nsswitch.conf) คุณสามารถใช้getent:

getent hosts www.winaproduct.com

getent hosts www.winaproduct.comทำงานได้อย่างสมบูรณ์ แต่nslookup, dig, hostฯลฯ จะเป็นเพียงตัวอย่างเช่นผมต้องการมันในFirefox
Arnab

1
หากทำงานกับ getent ก็ควรทำงานกับ firefox (ทั้งคู่ใช้กลไกการแก้ไขปัญหาเดียวกัน) หากไม่ได้ผลให้ตรวจสอบการกำหนดค่า "ผิดปกติ" ใน firefox บางทีคุณอาจตั้งค่าประเภทของพร็อกซีหรืออะไรแบบนี้
michas

ขอบคุณสำหรับความคิดเห็นฉันไม่ได้ใช้การกำหนดค่า Firefox ที่ผิดปกติใด ๆ มันไม่ทำงานกับ Firefox (38.0.1)
Arnab

3
ฉันแน่ใจว่ามันเป็นปัญหาของเบราว์เซอร์ ลองwgetหรือเบราว์เซอร์อื่น ๆ เช่น Chrome หากgetentให้ผลลัพธ์ที่คาดหวังพวกเขาทั้งหมดควร
michas

1
@ Daniel Azuelos มีอะไรผิดปกติกับการตั้งค่า Firefox No Proxyก็ใช้อยู่แล้ว ดังนั้นจะบอกได้nslookupอย่างไรdigฯลฯ ถาม/etc/hostsไฟล์ก่อนแทนที่จะถามโดยตรงกับ DNS ขอบคุณสำหรับความคิดเห็นที่มีค่าของคุณ
Arnab

4

คุณสามารถติดตั้ง DNSmasq ซึ่งจะอ่านรายการ / etc / hosts ของคุณและนำเข้าลงในแคช DNS จากนั้นเครื่องมือ DNS และแอปพลิเคชันสอบถาม DNS ทั้งหมดของคุณเช่น dig, host และ nslookup จะได้รับคำตอบที่มาจากไฟล์ / etc / hosts

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.