# Dnsmasq : configuration particulière pour certains appareils

**URL:** <https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397>\
**Category:** Support Debian\
**Created:** [Septembre 24, 2021, 9:08 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397 "2021-09-24T09:08:31Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 24, 2021, 9:08 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/1 "2021-09-24T09:08:31Z")

</div>

Bonjour,

Dans le cadre de mon travail, j’ai un serveur DHCP opéré par dnsmasq.  
Nous avons plusieurs réseaux et chaque réseau est équipé d’un relais DHCP qui transfère les requêtes vers ce serveur DHCP.  
Dans les réseaux qui ne sont pas sur le siège, nous avons deux routeurs : un qui permet d’accéder aux réseaux internes et l’autre à Internet. J’ai donc mis en place des routes statiques poussées par l’option DHCP idoine :

```nohighlight
dhcp-range=ant1, 10.33.57.1, 10.33.57.149, 255.255.255.0, 30m
dhcp-option=ant1, option:router, 10.33.57.250
dhcp-option=ant1, option:classless-static-route, 10.33.50.0/24, 10.33.57.252, 10.33.51.0/24, 10.33.57.252, 10.33.52.0/24, 10.33.57.252, 10.33.53.0/24, 10.33.57.252, 10.33.54.0/24, 10.33.57.252, 10.33.59.0/24, 10.33.57.252, 10.33.60.0/24, 10.33.57.252, 10.200.20.0/24, 10.33.57.252
dhcp-option=ant1, 252, "\n"

```

Le problème, c’est que certains périphériques ne prennent pas en charge l’option `classless-static-route`. J’ai donc mis en place une exception pour l’imprimante :

```nohighlight
dhcp-option=ant1-prt, option:router, 10.33.57.252
dhcp-option=ant1-prt, 252, "\n"

dhcp-host=set:ant1-prt, prt-ant1, 10.33.57.151

```

C’est une imprimante qui n’a pas besoin d’accéder à Internet, sa route par défaut est donc le routeur du réseau interne.

Cette configuration fonctionne très bien, mais nous avons acheté de nouveaux matériels qui ne gèrent pas non plus l’option `classless-static-route` et qui ont également besoin d’accéder au réseau interne, mais pas à Internet. Ce sont des Wyses de Dell.  
Ces appareils sont facilement identifiables car il sont un identifiant constructeur dans leur adresse matérielle et et une classe de vendeur : `wyse-1000`.  
Pour le moment, j’ai réussi à faire correspondre des paramètres différents en mettant les adresses matérielles des machines concernées :

```nohighlight
dhcp-option=ant1-wyse, option:router, 10.33.57.252
dhcp-option=ant1-wyse, 165, "wms.example.com:443"
dhcp-option=ant1-wyse, 166, "wms.example.com:1883"
dhcp-option=ant1-wyse, 167, "TRUE"
dhcp-option=ant1-wyse, 199, "iden-wyse-wms-ant1"
dhcp-option=ant1-wyse, 252, "\n"

dhcp-host=set:ant1-wyse, b0:7b:25:00:00:01,b0:7b:2500:00:02,64:bc:58:00:00:01,b0:7b:25:00:00:03

```

Mais, comme vous pouvez le remarquer, c’est un peu chiant (et je n’en ai que quatre là, en vrai, il y en a une cinquantaine et les utilisateur n’ont pour interdiction de connecter leur machine où ils veulent, et ces machines ont des stations d’accueil et une carte Wifi, ce que j’ai fait, en vrai, trois adresses par machine).

J’ai déjà essayé plusieurs itérations pour prendre globalement tous les matériels concernés, mais soit aucun appareil ne se retrouve avec la configuation pour les Wyses, soit tous l’ont. J’ai même eu une itération où tous les appareils de tous les réseaux avaient les paramètres des Wyses de cette antennes.  
La configuration évidente

```nohighlight
dhcp-host=set:ant1-wyse, b0:7b:25:*

```

ne fonctionne pas sans que je ne sache vraiment pourquoi.

Quelqu’un a une idée ?

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 24, 2021, 10:34 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/2 "2021-09-24T10:34:28Z")

</div>

Bonjour,  
Pourquoi fait tu faire du routage global complexe pour les postes de travail, imprimantes etc…  
Peut etre pourrait tu metrre ton routeur interne comme routeur par défaut, puis c’est le routeur interne qui ensuite se charge de router vers internet ou de router en central.

Un host doit toujrosu avoir un routage le plus simple possible, et laisser faire le routage complexe par un routeur. L’avantage, ça te simplifie la configuration des postes d’une part, et tu n’as qu’un seul endroit ou les routages complexes sont déployés, et c’est ainsi plus simple à maintenir.  
Et ça donne une meilleure résilience aux évolutions.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 24, 2021, 10:51 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/3 "2021-09-24T10:51:26Z")

</div>

> [@Zargos](#):
>
> Peut etre pourrait tu metrre ton routeur interne comme routeur par défaut

Non, car je n’ai pas la main sur ce routeur, je ne peux pas lui indiquer quoi faire des paquets à destination de l’Internet. C’est à cause de ça que je me retrouve avec deux routeurs sur ces antennes.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 24, 2021, 10:59 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/4 "2021-09-24T10:59:42Z")

</div>

Le second routeur (i.e.: internet) est dans ton périmètre? tu as la main dessus?  
Auquel cas, c’est lui que tu utilise comme routeur par défaut dans ce cas ou tu es obligé de passer par l’interne avant d’aller sur internet?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 24, 2021, 11:04 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/5 "2021-09-24T11:04:12Z")

</div>

Ben, en fait, oui, mais c’est un peu plus compliqué.  
Ce routeur est en place pour donner un accès à Internet. Pour ce faire, il passe par le routeur qui donne accès au réseau interne.  
En vrai, les Wyses sont actuellement en production et leur connexion passe par ce routeur, ce qui pose problème quand celui-ci ne fonctionne pas.

De tout façon, ma question ne concerne pas l’infrastructure du réseau, mais la configuration de dnsmasq.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 24, 2021, 12:32 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/6 "2021-09-24T12:32:42Z")

</div>

> [@Almtesh](#):
>
> De tout façon, ma question ne concerne pas l’infrastructure du réseau, mais la configuration de dnsmasq.

Ce qui est en fait le moyen de contourner le fait que tu ne peux pas faire le travail normalement au niveau de la couche fonctionnelle réseau.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 24, 2021, 1:14 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/7 "2021-09-24T13:14:47Z")

</div>

À la base, j’ai accepté ce boulot parce que l’infra réseau était une plaie, et j’adore les défis.  
Aujourd’hui, le réseau est un peu plus classique, il y a des petites bizarreries de genre qui traînent encore ça et là et avec lesquelles le service informatique doit composer.

Là, le but, c’est d’éviter qu’un routeur qui utilise un autre routeur qui sert à autre chose ne serve de routeur pour ce qui est déjà fait par l’autre routeur. Plus c’est simple, moins ça déconne.  
Avec ce que j’ai à disposition, les configurations que je veux faire sont les plus simples et évitent d’avoir un SPoF totalement inutile (et qui pose déjà problème).

Voilà où j’en suis.

---

<div class="post-metadata">

**Author:** ![AnonymousCoward](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f9ae1b/32.png) [@AnonymousCoward](https://www.debian-fr.org/u/AnonymousCoward)\
**Post date:** [Septembre 24, 2021, 3:18 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/8 "2021-09-24T15:18:22Z")

</div>

Bonjour,

Le fichier de configuration exemple pour dnsmasq.conf semble montrer la mise en place d’un jeu / set de machines selon l’option vendorclass fournie par le client :

[dnsmasq.conf.example](https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=blob_plain;f=dnsmasq.conf.example;hb=HEAD)  
( chercher «&nbsp;dhcp-vendorclass=set:red,Linux&nbsp;» )

Est-ce que c’est quelque-chose que tu pourrais utiliser ?

Le [serveur DHCP de l’ISC](https://packages.debian.org/bullseye/isc-dhcp-server) semble plus flexible que dnsmasq pour faire ce genre de choses mais je suis confiant sur le fait que cela reste possible avec dnsmasq.

Question pour la curiosité : il y a un serveur DHCP sur chaque site géographique ou est-ce qu’il y a un serveur DHCP principal sur un seul site géographique vers lequel les requêtes des clients sont toutes poussées au travers de VPN ?

–  
AnonymousCoward

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 27, 2021, 8:59 UTC](https://www.debian-fr.org/t/dnsmasq-configuration-particuliere-pour-certains-appareils/85397/9 "2021-09-27T08:59:44Z")

</div>

> [@AnonymousCoward](#):
>
> ( chercher « dhcp-vendorclass=set:red,Linux » )

Ben, en fait, je ne pensais pas que c’était une bonne idée, mais je viens de comprendre comment fonctionne dnsmasq en lisant un peu plus le manuel.  
Voici donc la configuration que je fais maintenant.  
En global, en haut du fichier de configuration, je définis

```plaintext
dhcp-vendorclass=set:wyse,	wyse-1000

```

et pour l’antenne en particulier

```plaintext
dhcp-range=ant1, 10.33.57.1, 10.33.57.149, 255.255.255.0, 30m
dhcp-option=ant1, option:router, 10.33.57.250
dhcp-option=ant1, option:classless-static-route, 10.33.50.0/24, 10.33.57.252, 10.33.51.0/24, 10.33.57.252, 10.33.52.0/24, 10.33.57.252, 10.33.53.0/24, 10.33.57.252, 10.33.54.0/24, 10.33.57.252, 10.33.59.0/24, 10.33.57.252, 10.33.60.0/24, 10.33.57.252, 10.200.20.0/24, 10.33.57.252
dhcp-option=ant1-intonly, option:router, 10.33.57.252
dhcp-option=ant1-wyse, 165, "wms.example.com:443"
dhcp-option=ant1-wyse, 166, "wms.example.com:1883"
dhcp-option=ant1-wyse, 167, "TRUE"
dhcp-option=ant1-wyse, 199, "iden-wyse-wms-ant1"

dhcp-host=set:ant1-intonly, prt-ant1, 10.33.57.151

tag-if=set:ant1-wyse, set:ant1-intonly, tag:wyse, tag:ant1

```

En fait, les Wyses ont une étiquette `wyse`, et celles de l’antenne `ant1` se retrouvent avec la route en interne seule avec l’étiquette `ant1-intonly` et la configuration Wyse avec l’étiquette `ant1-wyse`.

Merci à @Zargos et @AnonymousCoward pour leur aide.
