Restringindo o servidor DHCP do dnsmasq para uma interface

11

Como eu configuro dnsmasqpara atribuir apenas endereços eth0, não wlan0?

Delan Azabani
fonte

Respostas:

13

A página do manual explica muito bem. Se for apenas DHCP, você não deseja executar, wlan0então você pode usá-lo --no-dhcp-interface=wlan0. Se você não deseja que o dnsmasq ouça nada wlan0, use-o --except-interface=wlan0.

Se você quiser apenas ouvir o dnsmasq eth0, poderá usá-lo --interface=eth0.

WheresAlice
fonte
12

Para quem gosta de mim, é confuso o motivo pelo qual a porta 53 ainda está aberta para todas as interfaces, independentemente da opção que você coloca para limitá-la. Há mais uma opção que precisa ser ativada.

-z, --bind-interfaces On systems which support it, dnsmasq binds the wildcard address, even when it is listening on only some interfaces. It then discards requests that it shouldn't reply to. This has the advantage of working even when interfaces come and go and change address. This option forces dnsmasq to really bind only the interfaces it is listening on. About the only time when this is useful is when running another nameserver (or another instance of dnsmasq) on the same machine. Setting this option also enables multiple instances of dnsmasq which provide DHCP service to run in the same machine.

Jin Chen
fonte
Esse é exatamente o tipo de coisa que é fácil ignorar, mas é fundamental para fazê-lo funcionar com outras soluções DHCP (como no meu caso, nos serviços internos da QNAP). Alguém deve pegar as três respostas principais e fundi-las. Isto salvou meu dia, graças
Danielo515
11

Isso também é possível no arquivo de configuração dnsmasq e está documentado no arquivo de exemplo de Simon Kelley em http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example :

# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=
# Or you can specify which interface _not_ to listen on
#except-interface=
Stefan Lasiewski
fonte