Restreindre le serveur DHCP de dnsmasq à une seule interface


11

Comment est-ce que je configure dnsmasqpour assigner seulement des adresses dessus eth0, pas wlan0?

Réponses:


13

La page de manuel l' explique très bien. Si c'est juste DHCP que vous ne voulez pas utiliser, wlan0vous pouvez l'utiliser --no-dhcp-interface=wlan0. Si vous ne voulez pas que dnsmasq écoute du tout, wlan0vous pouvez utiliser --except-interface=wlan0.

Si vous voulez que dnsmasq écoute, eth0vous pouvez utiliser --interface=eth0.


12

Pour ceux qui, comme moi, ne savent pas pourquoi le port 53 est toujours ouvert pour toutes les interfaces, quelle que soit l'option que vous mettez pour le limiter. Il existe une autre option qui doit être activée.

-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.


C'est exactement le genre de chose qu'il est facile d'oublier, mais il est essentiel pour le faire fonctionner avec d'autres solutions DHCP (comme dans mon cas un service interne QNAP). Quelqu'un devrait prendre les trois réponses principales et les fusionner. Cela m'a sauvé la journée, merci
Danielo515

11

Ceci est également possible à partir du fichier de configuration dnsmasq, et est documenté dans le fichier d'exemple de Simon Kelley à 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=
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.