# Présentation
Dans certaines situations, il peut être nécessaire d'utiliser un serveur DNS différent de celui automatiquement attribué par le serveur DHCP. On peut par exemple utiliser cette méthode si l'on souhaite :
- **Cas 1** : Remplacer le DNS obtenu depuis le serveur DHCP par un DNS personnalisé.
- **Cas 2** : Utiliser un DNS primaire personnalisé et les DNS du DHCP en secondaire (solution de secours).
> [!info] À savoir !<span style="font-weight: normal; color: black"> Le client DHCP par défaut sous Debian (**dhclient**) propose des directives qui permettent d’ajouter avant (**prepend**), après (**append**), ou de remplacer (**supersede**) des options DHCP reçues par le client.</span>
## Prérequis
Avant de poursuivre cette procédure, vous devez disposer des connaissances de base pour la configuration des interfaces réseau sous Debian. Consultez l'article [[kb-lnx-network-config-ip|KB-LNX : Configuration IP sous Debian]] pour apprendre à vérifier et à configurer vos interfaces Ethernet sous Debian.
## Environnement de démonstration
Pour la démonstration, j'utilise une machine Debian 12, connectée sur un réseau local et configurée en mode dynamique (dhcp). Ci-dessous, nous partirons du principe que la configuration DNS actuelle sur ma machine de démonstration est la suivante :
![[_img-kb-lnx-network-config-ip.png]]
On peut donc constater que le serveur DHCP de mon réseau local m'a fourni l'adresse IP d'un serveur DNS local en 10.0.2.3.
# Configurer un DNS statique en client DHCP
Dans certaines situations, il peut être nécessaire d'utiliser un serveur DNS différent de celui automatiquement attribué par le serveur DHCP. On peut par exemple utiliser cette méthode si l'on souhaite :
- **Cas 1** : Remplacer le DNS obtenu depuis le serveur DHCP par un DNS personnalisé.
- **Cas 2** : Utiliser un DNS primaire personnalisé et les DNS du DHCP en secondaire (solution de secours).
## Cas 1 : Remplacer le DNS obtenu par un DNS personnalisé
Cette solution peut être utile dans différentes situations, par exemple :
- Si l'option `domain-name-server` n'est pas configurée dans l'étendue DHCP.
- Si l'on souhaite configurer un DNS statique tout en conservant une adresse IP dynamique.
Dans notre cas, nous décidons de remplacer le serveur DNS "*10.0.2.3*" obtenu dans les options DHCP par les serveurs OpenDNS "*208.67.222.222*" et "*208.67.220.220*".
Pour appliquer ces configurations éditer le fichier `dhclient.conf` :
```
sudo nano /etc/dhcp/dhclient.conf
```
La directive `supersede` permet de remplacer complètement les DNS obtenus via DHCP par les serveurs DNS personnalisés. Ci-dessous, nous utiliserons les serveurs OpenDNS :
```
supersede domain-name-servers 208.67.222.222, 208.67.220.220;
```
Pour finir, renouvelez votre bail DHCP et constater la prise en compte des modifications dans le fichier `resolv.conf` :
```
sudo dhclient -r && sudo dhclient
```
La configuration DNS active n'utilise plus le serveur DNS fourni par le DHCP, mais uniquement les serveurs OpenDNS. La sortie de commande `cat /etc/resolv.conf` devrait à présent ressembler à cela :
![[_img-kb-lnx-network-config-ip-1.png]]
## Cas 2 : Utiliser un DNS statique primaire personnalisé et les DNS du DHCP en secondaire
Cette solution peut être utile pour utiliser un serveur DNS primaire personnalisé tout en conservant le serveur DNS obtenus par DHCP en secondaire.
Dans notre cas, nous décidons d'utiliser les serveurs OpenDNS "*208.67.222.222*" (primaire), "*208.67.220.220*" (secondaire), et de conserver le serveur DNS obtenu par DHCP "*10.0.2.3*" 3ᵉ position.
Pour appliquer ces configurations éditer le fichier `dhclient.conf` :
```
sudo nano /etc/dhcp/dhclient.conf
```
Ajouter la directive `prepend` permettant d’utiliser les DNS obtenus via DHCP uniquement en cas d’erreur d’accès à nos DNS personnalisés d'OpenDNS :
```
prepend domain-name-servers 208.67.222.222, 208.67.220.220;
```
Pour finir, renouvelez votre bail DHCP et constater la prise en compte des modifications DNS dans le fichier `resolv.conf` :
```
sudo dhclient -r && sudo dhclient
```
La configuration DNS active utilise à présent en priorité les serveur OpenDNS et en dernier recours le proposé par le serveur DHCP. La sortie de commande `cat /etc/resolv.conf` devrait à présent ressembler à cela :
![[_img-kb-lnx-network-config-ip-2.png]]
# Conclusion
Vous êtes à présent en mesure de personnaliser la configuration DNS d'une machine cliente dhcp, soit en remplaçant la configuration. soit en la complétant.
## Références
- Wiki Debian : [Configuration du client DHCP](https://wiki.debian.org/fr/NetworkConfiguration#Configuration_du_client_DHCP)