
Sur Asus-Merlin (et sans doute d'autres distributions non discutées ici), des attributions DHCP personnalisées peuvent être ajoutées sans modifier la configuration principale. Trois méthodes sont disponibles :
- Basée sur le nom de l’appareil
- Basée sur la MAC address avec un tag optionnel
- Plusieurs adresses MAC pour une même machine (par exemple, un portable avec deux connections possible Wi-Fi ou Ethernet)
Configuration
Pour cela, il suffit de modifier ou créer un fichier dnsmasq.conf.add qui sera automatiquement fusionné avec dnsmasq.conf au démarrage.
Le fichier se trouve dans /jffs/configs/ :
vi /jffs/configs/dnsmasq.conf.addAprès l’enregistrement, redémarrez le service dnsmasq pour appliquer immédiatement les changements (aucun redémarrage du routeur n’est nécessaire) :
service restart_dnsmasqExemples
Attribuer une IP fixe / nom d’appareil
dhcp-host=mon-laptop,192.168.0.10
dhcp-host=mon-mobile,192.168.0.11Le nom doit correspondre au hostname que l'appareil transmet dans sa requête DHCP.
Note : Cette méthode ne fonctionne que si l'appareil fournit effectivement un hostname stable. Si l'appareil n'envoie pas de hostname, utilisez plutôt son adresse MAC ou son DHCP client identifier. Attention également aux appareils utilisant une MAC address randomization : si leur adresse MAC change régulièrement, une réservation DHCP basée sur la MAC ne sera pas fiable.
Une IP fixe / adresse MAC
dhcp-host=AA:BB:CC:DD:EE:FF,192.168.0.20,mon-desktop,12hFormat : MAC,IP,hostname,durée-du-bail
Une IP fixe / appareil sur un VLAN spécifique (avec un tag)
dhcp-host=BB:CC:DD:EE:FF:AA,set:guest1,192.168.2.100,tapo-cam,12hset:guest1 attribue l’appareil au tag guest1 — il s’agit d'un tag interne à dnsmasq, pas d'un VLAN réseau (802.1Q). C’est dnsmasq qui utilise ce tag pour appliquer des options DHCP spécifiques à un groupe d'appareils. L'isolation réseau réelle est gérée par le firewall du routeur, pas par le tag lui-même.
Par exemple, on peut forcer l’utilisation d’un DNS alternatif pour tous les appareils tagués guest1 :
# Cloudflare avec protection malwares
dhcp-option=tag:guest1,6,1.1.1.2,1.0.0.2
# Cloudflare avec protection malwares + contenus adultes
dhcp-option=tag:guest1,6,1.1.1.3,1.0.0.3
# Forcer les appareils IoT vers un DNS filtrant (Pi-hole, NextDNS) :
dhcp-option=tag:iot,6,192.168.0.5Le deuxième paramètre (l’option 6) correspond au DNS (primaire + secondaire).
Plusieurs adresses MAC pour une même machine
Utile lorsqu’un appareil possède une interface filaire et une interface sans fil et que vous souhaitez qu’elles obtiennent toujours la même IP :
dhcp-host=AA:BB:CC:DD:EE:FF,11:22:33:44:55:66,192.168.0.50Les deux adresses MAC seront associées à 192.168.0.50.
⚠️ Attention : Avec cette configuration, il n'est pas permis d'activer Wi-Fi et Ethernet simultanément sur la même machine. dnsmasq attribue l'IP à la première interface qui fait une requête DHCP — si les deux interfaces sont actives en même temps, le routeur ne peut pas garantir que les deux obtiennent la même IP, ce qui peut provoquer des conflits réseau.
Exemple complet
# IP fixe par hostname
dhcp-host=Mon-Mobile,192.168.0.7
dhcp-host=DESKTOP001,192.168.0.121
# IP fixe par MAC + tag VLAN
dhcp-host=BB:CC:DD:EE:FF:AA,set:guest1,192.168.2.100,tapo-garden,12h
dhcp-host=CC:DD:EE:FF:AA:BB,set:guest1,192.168.2.101,tapo-kitchen,12h
# Plusieurs MAC → même IP
dhcp-host=AA:BB:CC:DD:EE:FF,11:22:33:44:55:66,192.168.1.50Conseils
- Les changements prennent effet immédiatement après
service restart_dnsmasq— aucun redémarrage nécessaire - La durée du bail (
12h,24h,infinite) est facultative — omettez-la pour utiliser la valeur par défaut du routeur - Utilisez
cat /var/lib/misc/dnsmasq.leasespour voir les baux DHCP actifs
cat /var/lib/misc/dnsmasq.leases- Utilisez
nslookupoucat /var/lib/misc/dnsmasq.leasespour tester la résolution DNS locale
nslookup nas.home 192.168.0.1