Cách xóa bộ đệm DNS trên DD-WRT


27

Làm cách nào để xóa bộ đệm DNS trong DD-WRT trên bộ định tuyến của tôi?

DD-WRT sử dụng daemon dnsmasq.


Bên cạnh các câu trả lời đúng về mặt kỹ thuật dưới đây, bạn có thể cung cấp năng lượng cho nó ...
Hayden Thring

Câu trả lời:


21

Theo Flush bộ nhớ cache dnsmasq dns :

dnsmasq là một máy chủ DNS, TFTP và DHCP nhẹ. Dự định cung cấp dịch vụ DNS và DHCP được ghép nối cho mạng LAN. Dnsmasq chấp nhận các truy vấn DNS và trả lời chúng từ một máy chủ nhỏ, cục bộ, bộ đệm hoặc chuyển tiếp chúng đến một máy chủ DNS thực, đệ quy. Phần mềm này cũng được cài đặt nhiều bộ định tuyến giá rẻ để lưu trữ các truy vấn dns. Chỉ cần khởi động lại để xóa bộ nhớ cache dns:

# stopservice dnsmasq
# startservice dnsmasq

Không có "sudo" trên dd-wrt. Không có /etc/init.d trên dd-wrt, cũng không có bất kỳ tương đương.
WhyNotHugo

Hmm ... Mã chỉ là một ví dụ nhanh. Có lẽ tôi nên xóa nó đi. Ngoài ra, bạn có biết lệnh chính xác cho env này?
Justin Ethier

Câu trả lời khác có cách duy nhất mà tôi biết để khởi động lại dịch vụ trên dd-wrt. Không quá sạch sẽ, nhưng tôi không biết cách nào khác.
WhyNotHugo

1
Làm thế nào về stopservice dnsmasqtiếp theo startservice dnsmasq? Xem barrymorrison.com/tag/dd-wrt
Justin Ethier

Chưa từng nghe về nó. Không tìm thấy nó sau khi google nhanh chóng. Công việc tuyệt vời :)
WhyNotHugo

18
killall -1 dnsmasq

Gửi tín hiệu HUP để báo cho nó xóa bộ nhớ cache đọc lại cấu hình của nó, do đó bắt đầu lại với một bản rõ ràng.


1
Tôi nghĩ rằng sử dụng SIGHUP là phương pháp sạch nhất vì manpage lưu ý nó và dnsmasqcó thể không xóa bộ nhớ cache khi khởi động lại. Mặc dù tôi đã đặt # killall -HUP dnsmasqhơn là # killall -1 dnsmasqvì nó dễ nhớ / dễ hiểu hơn.
James Haigh

1
Trên thực tế, nó không khiến nó đọc lại cấu hình của nó - phần đó không chính xác - nhưng điều đó không quan trọng đối với câu hỏi vì cấu hình không cần phải đọc lại để xóa bộ đệm.
James Haigh

7

Vì không có tập lệnh init trên DD-WRT, tôi đoán đây sẽ là cách dễ nhất để khởi động lại dnsmasq:

  1. Giết dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. Bắt đầu dnsmasq:

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

3

Tôi đã luôn sử dụng:

killall -1 dnsmasq

mà đã làm việc tốt cho tôi. Tôi đang chạy một số phiên bản mới hơn của DD-WRT và

stopservice dnsmasq
startservice dnsmasq

dường như cũng hoạt động mà không có lỗi hoặc cần sudo ...


1

Khởi động lại dịch vụ dnsmasq, từ giao diện người dùng.

Hoặc từ giao diện dòng lệnh thông qua

/init.d/dnsmasq restart
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.