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 ifplugd
den Prozess verwaltet. In der Datei habe /etc/ifplugd/ifplud.action
ich service dnsmasq stop
den "up" -Fall und service dnsmasq start
den "down" -Fall hinzugefügt . Voller Erfolg!
quelle
dnsmasq
denn wenn es läuft, wird my/etc/resolv.conf
aufnameserver 127.0.0.1
by gesetztresolvconf
und wenn es nicht läuft, liest diese Zeilenameserver 192.168.1.254
. Sollte dnsmasq nicht wissen, von welcher Schnittstelle die Anfrage kommt?lo
bei der Verwendung kommtnameserver 127.0.0.1
.