Ich habe Dnsmasq auf einem Himbeer-Pi w / Raspbian ausgeführt. Das pi hat einen WLAN-Stick auf wlan0 und ist mit dem lokalen Netzwerk / Internet auf eth0 verbunden. Mein Ziel ist es, dass dnsmasq alle Hosts auf die statische IP des PIS auflöst, nur für WiFi-Verbindungen. Das ist meine dnsmasq.conf
address=/#/192.168.42.1
interface=wlan0
Jetzt aber, wenn ich über eth0 und google.com nach pi ssh, wird es auch zu 192.168.42.1 aufgelöst. Vielleicht liegt das daran (von der Manpage):
Dnsmasq fügt die Loopback-Schnittstelle (lokale Schnittstelle) automatisch zur Liste der Schnittstellen hinzu, die verwendet werden sollen, wenn die Option --interface verwendet wird
Wenn ja, wie kann ich es so machen, dass dnsmasq nur die WLAN-Verbindungen abhört?
Umgehungslösung
Für meine Zwecke war es in Ordnung, dass die Logik lautete: "Wenn ein Ethernet-Kabel eingesteckt ist, schalten Sie es aus dnsmasq. Wenn ein Ethernet-Kabel ausgesteckt ist, schalten Sie es wieder ein."
Daher habe ich ifplugdden Prozess verwaltet. In der Datei habe /etc/ifplugd/ifplud.actionich service dnsmasq stopden "up" -Fall und service dnsmasq startden "down" -Fall hinzugefügt . Voller Erfolg!
dnsmasqdenn wenn es läuft, wird my/etc/resolv.confaufnameserver 127.0.0.1by gesetztresolvconfund wenn es nicht läuft, liest diese Zeilenameserver 192.168.1.254. Sollte dnsmasq nicht wissen, von welcher Schnittstelle die Anfrage kommt?