fazendo o dnsmasq escutar em apenas uma interface

fazendo o dnsmasq escutar em apenas uma interface

Eu tenho o dnsmasq rodando em um raspberry pi com Raspbian. O pi possui um stick wifi no wlan0 e está conectado à rede local/internet na eth0. Meu objetivo é fazer com que o dnsmasq resolva todos os hosts para o IP estático do pi apenas para conexões wifi. Este é o meu dnsmasq.conf

address=/#/192.168.42.1
interface=wlan0

Agora, no entanto, quando eu ssh para o pi através de eth0 e faço ping em google.com, ele também resolve 192.168.42.1. Talvez seja por causa disso (na página de manual):

Dnsmasq adiciona automaticamente a interface de loopback (local) à lista de interfaces a serem usadas quando a opção --interface é usada

Em caso afirmativo, como posso fazer com que o dnsmasq escute apenas as conexões wifi?

Solução alternativa

Para meus propósitos, a lógica era: "Se um cabo Ethernet estiver conectado, desligue dnsmasq. Se um cabo Ethernet estiver desconectado, ligue-o novamente".

Portanto, eu costumava ifplugdgerenciar o processo. No arquivo /etc/ifplugd/ifplud.actionadicionei service dnsmasq stopao caso "up" e service dnsmasq startao caso "down". Sucesso total!

Responder1

tente em vez disso

except-interface=eth0

para evitar que o dnsmasq ouça eth0

Responder2

Você está fazendo isso da maneira errada. dnsmasq não tem culpa alguma.

A maioria dos resolvedores de DNS no Linux usa arquivos /etc/resolv.conf. O que está definido lá é independente da interface. Na verdade, tem que ser: você não sabe qual interface e rota seguir, a menos que tenha o endereço IP numérico.

Então, basicamente, o que você quer não pode ser feito.

A menos, é claro, que não seja realmente destinado ao host dnsmasq, mas aos clientes WiFi ou algo assim. Nesse caso, você precisa remover o respondedor DNS local resolv.confe fazê-lo usar o upstream (seu roteador, ISP, Google DNS, OpenDNS, ...) diretamente.

Um exemplo típico resolv.confpoderia ser assim ao usar o DNS do Google:

nameserver 8.8.8.8
nameserver 8.8.4.4

informação relacionada