Tôi có dnsmasq chạy trên mâm xôi pi w / Raspbian. Pi có một thanh wifi trên wlan0 và được kết nối với mạng / internet cục bộ trên eth0. Mục tiêu của tôi là để dnsmasq giải quyết tất cả các máy chủ thành IP tĩnh của pi chỉ cho các kết nối wifi. Đây là dnsmasq.conf của tôi
address=/#/192.168.42.1
interface=wlan0
Tuy nhiên, bây giờ, khi tôi ssh đến pi qua eth0 và ping google.com, nó cũng phân giải thành 192.168.42.1. Có lẽ đó là vì điều này (từ trang người đàn ông):
Dnsmasq tự động thêm giao diện loopback (cục bộ) vào danh sách các giao diện sẽ sử dụng khi sử dụng tùy chọn --interface
Nếu vậy, làm thế nào tôi có thể làm cho nó để dnsmasq chỉ nghe các kết nối wifi?
Giải pháp khắc phục
Đối với mục đích của tôi, logic là ổn: "Nếu cáp ethernet được cắm, hãy tắt dnsmasq
. Nếu rút cáp ethernet, hãy bật lại ".
Do đó, tôi đã sử dụng ifplugd
để quản lý quá trình. Trong file /etc/ifplugd/ifplud.action
Tôi đã thêm service dnsmasq stop
đến trường hợp "lên" và service dnsmasq start
đến trường hợp "xuống". Thành công trọn vẹn!
dnsmasq
bởi vì khi nó chạy/etc/resolv.conf
được đặt thànhnameserver 127.0.0.1
bởiresolvconf
và khi nó không chạy dòng đó đọcnameserver 192.168.1.254
. Không nên dnsmasq biết yêu cầu đến từ giao diện nào?