วิธีล้างแคช DNS ใน Ubuntu


45

ฉันมีปัญหาเกี่ยวกับการแก้ไข DNS ใน Ubuntu 9.10 ของฉัน
ก่อนบ่นกับ ISP ของฉันฉันอยากจะรีเฟรชแคช DNS ของท้องถิ่นเช่นใน Windows ipconfig /flushdnsที่เราทำ

ฉันจะทำสิ่งนั้นใน Ubuntu ได้อย่างไร

คำตอบ:


54

Øhh, Ubuntu ไม่แคช DNS ต่อค่าเริ่มต้น ดังนั้นจึงไม่มีอะไรจะล้าง! (แต่เราเตอร์ของคุณอาจเป็น SOHO) การติดตั้ง nscd จะทำให้ ubuntu cache DNS หลังจากที่คุณสามารถล้างแคชของคุณ - แต่นี่คือนอกเหนือจากจุดเมื่อคุณยังไม่ได้ติดตั้ง!


3
จากความอยากรู้ฉันอยู่ 14.04 และทำงานบอกฉันว่าการตอบสนองมาจากเซิร์ฟเวอร์nslookup 127.0.0.1แต่ - เพื่อความรู้ของฉัน - ฉันไม่มีแคช DNS ติดตั้ง (ค่าnscdมิได้dnsmasq) ฉันใช้ Kubuntu อยู่นี่อาจเป็นสิ่งจัดการเครือข่าย KDE หรือไม่
exhuma

@ exhuma เหมือนกันที่นี่บน Ubuntu 14.04 ดังนั้นมันจึงไม่ใช่สิ่งที่ kubuntu
LJ_1102

2
@ LJ_1102 @ exhuma นั่นจะเป็นตัวจัดการเครือข่ายของ Ubuntu มันฟังเซิร์ฟเวอร์ DNS ในเครื่อง แต่ส่งต่อคำขอทั้งหมดไปยังสิ่งที่กำหนดไว้ ในฐานะที่เป็นผลข้างเคียง (หรือตามการออกแบบ) สิ่งนี้ช่วยให้คุณสามารถเปลี่ยนเซิร์ฟเวอร์ DNS ได้ทันทีจากอินเทอร์เฟซโดยไม่จำเป็นต้องมีสิทธิ์รูท ดูตัวอย่างคำถามนี้: unix.stackexchange.com/questions/59414/…
Raghd Hamzeh

19

Ubuntu 12.04 เป็นต้นไปใช้ dnsmasq สำหรับแคชในเครื่อง การส่ง SIGHUP (sudo killall -HUP dnsmasq) จะอ่านแคชอีกครั้ง

หมายเหตุ
เมื่อได้รับ SIGHUP, dnsmasq จะล้างแคชและจากนั้นโหลด / etc / hosts และ / etc / ethers และไฟล์ใด ๆ ที่ได้รับจาก --dhcp-hostsfile, - dhcp-optsfile หรือ --addn-hosts สคริปต์การเปลี่ยนแปลงการเช่า dhcp ถูกเรียกสำหรับสัญญาเช่า DHCP ที่มีอยู่ทั้งหมด ถ้า - ไม่มีการตั้งค่าโพล SIGHUP จะอ่าน /etc/resolv.conf อีกครั้ง SIGHUP ไม่อ่านไฟล์การกำหนดค่าอีกครั้ง


มันดูสมเหตุสมผล แม้ว่าฉันต้องค้นหาปัญหาอื่นที่ฉันเคยมี (ที่เกี่ยวข้องกับไซต์ใหม่ใน / etc / hosts และ Opera) เพื่อทดสอบและทำเครื่องหมายว่ายอมรับได้แทนที่จะเป็นอย่างอื่น: P
igorsantos07

ไม่เป็นไร. ฉันเจอสิ่งนี้จริง ๆ เพื่อล้างรายการแคช DNS ของฉันเอง เมื่อฉันพบวิธีแก้ปัญหาแล้วฉันรู้สึกว่าฉันควรเพิ่มสิ่งที่ฉันค้นพบที่นี่ ฉันไม่รู้ว่า Ubuntu รุ่นใดเริ่มใช้ dnsmasq
ytjohn

1
งานนี้และควรถูกทำเครื่องหมายเป็นคำตอบจริง ๆ !
HDave

1
หากการแก้ไขชนกลุ่มน้อยที่ไม่ได้ถูกห้ามและขมวดคิ้วผมจะแก้ไข“SIGUP” เพื่อSIGHUP
James Haigh

@Igoru: คุณสามารถใช้digสำหรับการทดสอบว่าแคชได้รับการล้างจริง ๆ หรือไม่ ฉันต้องการล้างแคชในหนึ่งในเราเตอร์ OpenWrt ที่ฉันพยายามdig @192.168.0.3 nixos.orgหลายครั้ง (โดเมนใด ๆ ที่มีอยู่จะทำ) ในขณะที่แคชก็มักจะมีเวลาสอบถาม 1ms แต่หลังจากแต่ละครั้งที่ฉันออกkillall -HUP dnsmasq(เป็น root) ในเราเตอร์ฉันได้ประมาณ 27ms หลังจากทุกครั้งที่ฉันเคลียร์
James Haigh

13

ลองทำสิ่งต่อไปนี้:

sudo /etc/init.d/dns-clean start

มันใช้งานได้สำหรับฉัน


1
ฉันเดาว่าสิ่งต่าง ๆ มีการเปลี่ยนแปลงตั้งแต่คำตอบนี้เนื่องจากดูเหมือนว่าจะไม่ทำงานอีกต่อไปใน 14.04 สวัสดีอูบุนตูมันคงจะดีถ้ามีอินเทอร์เฟซสำหรับสิ่งนี้ซึ่งไม่ได้เชื่อมโยงกับระบบการจำแนกชื่อที่เฉพาะเจาะจงและเวอร์ชั่นของระบบปฏิบัติการ (และอาจจะเป็นระบบปฏิบัติการในภายหลัง ... )
Croad Langshan

ทำงานใน 15.04
Milan Simek

ทำงานใน Ubuntu 14.04.5 สคริปต์นี้ให้บริการโดยแพคเกจ pppconfig ฉันคิดว่ามันไม่ได้รวมอยู่ในการกระจาย
ssoto

1

ฉันเพิ่งมีปัญหากับเว็บไซต์ที่ฉันเปลี่ยน DNS และ googling สำหรับวิธีการแก้ปัญหาฉันพบหน้านี้

จากประสบการณ์ของฉัน Firefox บางครั้งเก็บแคช DNS ของตัวเองและไม่ล้างมันในเวลา ดังนั้นหากคุณกำลังดูเว็บไซต์ใน Firefox และดูเว็บไซต์เก่าต่อไปการลองใช้ Chrome อาจช่วยแก้ปัญหาได้ หากใช้งานได้คุณสามารถล้างแคชใน Firefox สิ่งนี้เกิดขึ้นใน Ubuntu ฉันไม่รู้ว่าสิ่งนี้เกิดขึ้นกับ Windows หรือ OSX หรือไม่

ฉันไม่ได้ติดตั้ง nscd ฉันสังเกตเห็นว่าในเทอร์มินัลพบ DNS ใหม่หลังจากนั้นไม่กี่นาทีดังนั้นปัญหาจึงได้รับการแก้ไข


1

คุณอาจต้องล้างแคชของเว็บเบราว์เซอร์ทั้งนี้ขึ้นอยู่กับบริบทของคำถามของคุณ

ใน Firefox สิ่งนี้ทำได้โดย: การตั้งค่า -> ความเป็นส่วนตัว -> ล้างประวัติล่าสุดของคุณ [เพียงทำเครื่องหมายในช่องทำเครื่องหมาย "แคช" ที่นั่น]

ใน Chrome: ไปที่ chrome: // net-internals / # dns แล้วกดปุ่ม "ล้างโฮสต์แคช" (ดูคำตอบอื่น )

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