วิธีล้างแคช DNS บน DD-WRT


27

ฉันจะล้างแคช DNS ใน DD-WRT บนเราเตอร์ของฉันได้อย่างไร

DD-WRT ใช้ dnsmasq daemon


นอกจากนี้คำตอบที่ถูกต้องในทางเทคนิคด้านล่างนี้คุณสามารถวงจรไฟฟ้ามัน ...
เฮย์เดน Thring

คำตอบ:


21

ตามล้างแคช dnsmasq dns :

dnsmasq เป็นเซิร์ฟเวอร์ DNS, TFTP และ DHCP ที่มีน้ำหนักเบา มีวัตถุประสงค์เพื่อให้บริการ DNS และ DHCP ควบคู่กับ LAN Dnsmasq ยอมรับการสืบค้น DNS และตอบคำถามจากแคชขนาดเล็กโลคอลหรือส่งต่อไปยังเซิร์ฟเวอร์ DNS ที่เรียกซ้ำได้จริง ซอฟต์แวร์นี้ติดตั้งเราเตอร์ราคาถูกจำนวนมากเพื่อแคชคิวรี DNS เพียงรีสตาร์ทเพื่อล้างแคช dns:

# stopservice dnsmasq
# startservice dnsmasq

ไม่มี "sudo" บน dd-wrt ไม่มี /etc/init.d บน dd-wrt หรือสิ่งใดที่เทียบเท่า
WhyNotHugo

อืม ... รหัสเป็นเพียงตัวอย่างด่วน บางทีฉันควรลบมัน หรือคุณรู้จักคำสั่งที่ถูกต้องสำหรับ env นี้
Justin Ethier

คำตอบอื่นมีวิธีเดียวที่ฉันรู้สำหรับการเริ่มบริการบน dd-wrt ไม่สะอาดเกินไป แต่ฉันไม่รู้วิธีอื่น
WhyNotHugo

1
วิธีการเกี่ยวกับstopservice dnsmasqตามมาด้วยstartservice dnsmasq? ดูbarrymorrison.com/tag/dd-wrt
Justin Ethier

ไม่เคยได้ยินเกี่ยวกับมัน ไม่พบหลังจากใช้ google อย่างรวดเร็ว เยี่ยมมาก :)
WhyNotHugo

18
killall -1 dnsmasq

ส่งสัญญาณ HUP เพื่อบอกให้ล้างแคชเพื่ออ่านการกำหนดค่าใหม่ดังนั้นจึงเริ่มต้นด้วยกระดานชนวนใหม่ทั้งหมด


1
ฉันคิดว่าการใช้ SIGHUP เป็นวิธีที่สะอาดที่สุดเพราะ manpage บันทึกไว้และdnsmasqอาจไม่ล้างแคชเมื่อรีสตาร์ท แม้ว่าฉันจะใส่# killall -HUP dnsmasqมากกว่า# killall -1 dnsmasqเพราะมันง่ายต่อการจดจำ / เข้าใจ
James Haigh

1
ที่จริงแล้วมันไม่ได้ทำให้มันอ่านซ้ำการกำหนดค่า - ส่วนนั้นไม่ถูกต้อง - แต่นั่นไม่สำคัญสำหรับคำถามเพราะการกำหนดค่าไม่จำเป็นต้องอ่านซ้ำเพื่อล้างแคช
James Haigh

7

เนื่องจากไม่มีสคริปต์เริ่มต้นใน DD-WRT ฉันคิดว่านี่จะเป็นวิธีที่ง่ายที่สุดในการรีสตาร์ท dnsmasq:

  1. ฆ่า dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. เริ่ม dnsmasq:

    root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf 
    

3

ฉันเคยใช้:

killall -1 dnsmasq

ซึ่งทำงานได้ดีสำหรับฉัน ฉันใช้ DD-WRT เวอร์ชันใหม่กว่าและ

stopservice dnsmasq
startservice dnsmasq

ดูเหมือนว่าจะทำงานโดยไม่มีข้อผิดพลาดหรือต้องการ sudo ...


1

รีสตาร์ทเซอร์วิส dnsmasq ทั้งจากส่วนติดต่อผู้ใช้

หรือจากอินเตอร์เฟสบรรทัดคำสั่งผ่าน

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