Dnsmasq

De Banane Atomic
Révision datée du 8 septembre 2019 à 14:38 par Nicolas (discussion | contributions) (→‎Configuration DHCP)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Liens

Installation

Bash.svg
sudo pacman dnsmasq

Configuration DNS

/etc/dnsmasq.conf
# ip du serveur
listen-address=::1, 127.0.0.1, 192.168.0.x

# définit la route par défaut si ce n'est pas celle du serveur dnsmasq
dhcp-option=option:router,192.168.0.y

# Associer un domaine à une adresse IP
address=/mon-domaine.fr/192.168.0.10

# ignorer /etc/resolv.conf car il contient uniquement localhost
no-resolv
# Upstream DNS server addresses (serveur DNS de la box)
server=192.168.0.x
/etc/resolv.conf
nameserver ::1
nameserver 127.0.0.1
/etc/hosts
#<ip-address>	<hostname.domain.org>   <hostname>
127.0.0.1                               localhost
::1                                     localhost

192.168.0.x     mabox
192.168.0.y     site1.domaine.net site2.domaine.net
192.168.0.z     site3 site4
Après une modification, il faut redémarrer le service dnsmasq

DHCPCD

/etc/dhcpcd.conf
# dhcpcd, unfortunately, tends to overwrite /etc/resolv.conf by default,
# so if you use DHCP it is a good idea to protect /etc/resolv.conf. 
nohook resolv.conf

Configuration DHCP

/etc/dnsmasq.conf
interface=eth0
bind-interfaces

# allouer dynamique les ip 192.168.0.50 à 192.168.0.150
dhcp-range=192.168.0.50,192.168.0.150,12h
# pas d'allocations dynamique, seul les allocations statiques sont autorisées
dhcp-range=192.168.0.0,static

# Baux DHCP statiques
# donne un nom et une ip à l'adresse MAC correspondante
dhcp-host=xx:xx:xx:xx:xx:xx,Nom,192.168.x.x,infinite
# donne une ip à la machine dont le nom correspond
dhcp-host=Nom,192.168.x.x,infinite

# si unique serveur DHCP
dhcp-authoritative

Afficher les baux dhcp en cours

Bash.svg
cat /var/lib/misc/dnsmasq.leases

Mettre fin à un bail

Bash.svg
systemctl stop dnsmasq

# supprimer la ligne correspondant au bail
nano /var/lib/misc/dnsmasq.leases

systemctl start dnsmasq

VPN

/etc/dnsmasq.conf
interface=eth0
# ajouter l'interface tun
interface=tun0

# ajouter l'ip du serveur sur le réseau VPN
listen-address=127.0.0.1, 10.8.0.1

bind-interfaces

failed to create listening socket for 10.8.0.1: Cannot assign requested address

Dnsmasq démarre avant qu'OpenVPN n'ai eu le temp d'enregistrer l'ip 10.8.0.1
Étendre la configuration du service dnsmasq sans écraser la configuration par défaut: /usr/lib/systemd/system/dnsmasq.service

/etc/systemd/system/dnsmasq.service.d/openvpn.conf
[Unit]
After=openvpn@server.service

log

/var/log/messages.log

/etc/dnsmasq.conf
# For debugging purposes, log each DNS query as it passes through dnsmasq.
log-queries
# Log lots of extra information about DHCP transactions.
log-dhcp

Ne fonctionne pas avec Android

Android fait des requêtes DNS IPv6 et n'utilise donc pas DNSmasq.
Utiliser une application de changement d'adresse DNS.