Agence web » Actualités du digital » Comment définir l'ordre de recherche DNS dans Ubuntu 18.04 à l'aide de NetPlan

Comment définir l'ordre de recherche DNS dans Ubuntu 18.04 à l'aide de NetPlan

Avant Ubuntu 18.04, les serveurs de noms DNS étaient traditionnellement configurés à l'aide du /etc/resolv.conf fichier de configuration. Pendant longtemps, ce fichier a permis une configuration rapide et facile des serveurs de noms DNS, comme on peut le voir dans un exemple resolv.conf fichier ci-dessous.

nameserver 1.1.1.1
nameserver 1.0.0.1

Depuis Ubuntu 18.04, les paramètres réseau, y compris les serveurs de noms, sont désormais contrôlés via l'interface NetPlan. Même avant le 18.04, vous pouviez toujours apporter des modifications à l'original resolv.conf, mais ce fichier était en réalité contrôlé par NetworkManager et ses fichiers de configuration, généralement situés dans le répertoire /etc/network/interfaces annuaire.

Alors, qu'est-ce qui a incité ce changement à utiliser la nouvelle interface NetPlan? Simplicité et flexibilité. L'utilisation d'un fichier YAML lisible par l'homme facilite la configuration de configurations réseau complexes. De plus, le débogage est plus rapide et les erreurs sont plus faciles à suivre.

Modification des serveurs de noms dans NetPlan

Avec ce changement d'interfaces, comment pouvons-nous réellement mettre à jour les serveurs de noms pour un système Ubuntu 18.04? À la place d'utiliser /etc/resolv.conf, aller vers /etc/netplan, et vous pouvez trouver une série *.yaml fichiers là-bas. S'il n'y en a pas encore défini, vous devez en créer un au format de dénomination recommandé, ##-name.yaml, tel que 01-netconfig.yaml. NetPlan charge ces fichiers dans l'ordre de priorité des répertoires suivant, puis dans l'ordre des numéros précédent.

  • /run/netplan/*.yaml
  • /etc/netplan/*.yaml
  • /lib/netplan/*.yaml

Trouver la configuration IP existante

Avant de modifier la configuration du réseau NetPlan, il est prudent de savoir quelle est la configuration d'interface existante. NetPlan lui-même ne surveille pas l'état actif, mais nous utilisons ip pour afficher cela.

user> ip a

La sortie doit ressembler à la capture d'écran ci-dessous, mais gardez à l'esprit que chaque interface réseau peut être différente selon le système.

Dans cette configuration, vous trouverez vos interfaces actives. Dans ce cas, nous recherchons le eth0 configuration aux fins de ce didacticiel.

Mise à jour de la configuration

Choisissez un fichier YAML existant à modifier ou créez-en un nouveau et ajoutez la configuration suivante, modifiée au besoin pour votre configuration.

Cette configuration suppose que vous utilisez une adresse IP statique et eth0 est votre interface principale, comme nous l'avons appris ci-dessus ip a commander.

network:
  version: 2
  ethernets:
    eth0:
			addresses:
        - 10.10.10.2/24
        gateway4: 10.10.10.1
      nameservers:
        addresses:
        - 1.1.1.1
        - 1.0.0.1
        - 2606:4700:4700::1111
        - 2606:4700:4700::1001
        search: ()

Les serveurs de noms utilisés ici sont les serveurs de noms Cloudflare publics, mais utilisez ceux qui vous conviennent le mieux. Les résolveurs IPv6 sont également inclus.

Si vous souhaitez utiliser DHCP, vous pouvez remplacer la configuration IP statique par dhcp4: yes sous le eth0 section.

De plus, si vous utilisez DHCP, vous devrez définir un remplacement pour les serveurs de noms.

dhcp4-overrides:
	use-dns: false

Vous remarquerez peut-être que les adresses sont répertoriées dans une liste en dessous addresses mais il est également possible de définir ces adresses dans une configuration de tableau.

addresses: (1.1.1.1, 1.0.0.1, "2606:4700:4700::1111", "2606:4700:4700::1001")

Rendeurs

Dans certaines configurations, vous pouvez voir un renderer configuration répertoriée. Il existe deux types disponibles: NetworkManager et networkd. Par défaut, networkd est utilisé. La différence est que NetworkManager est le gestionnaire d'interface graphique utilisé par Ubuntu, alors que networkd est utilisé par Systemd. Il n'est pas nécessaire de définir cela, car la configuration par défaut devrait fonctionner dans la plupart des cas.

Test de la modification de NameServer

Une fois le fichier de configuration créé, exécutez la commande suivante pour essayer temporairement les nouveaux paramètres et revenir en cas de mauvaise configuration.

sudo netplan try

En cas d'échec, la configuration reviendra automatiquement après 120 secondes. Vous pouvez ouvrir un deuxième shell pour tester toutes les configurations pendant l'application. Si les paramètres fonctionnent comme prévu, vous pouvez appuyer sur Entrée pour conserver ces paramètres ou revenir dans le cas contraire. Cela vous permet de modifier les configurations jusqu'à ce que cela fonctionne.

Appliquer le changement

Enfin, après vous être assuré que les modifications sont exactes, les modifications doivent être appliquées. Pour ce faire, exécutez le netplan apply commande comme ça.

sudo netplan apply

Si l'interface ne fait que changer de serveur de noms, un redémarrage n'est généralement pas nécessaire. Si des modifications de configuration plus importantes sont apportées, un redémarrage du système peut être nécessaire pour effectuer les modifications.

Faire monter et descendre les interfaces

Précédemment, ifconfig a été utilisé pour monter et descendre une interface. Comme indiqué précédemment, le ip commande prend la place de ifconfig. Dans l'exemple ci-dessous, eth0 est abaissé puis remonté.

ip link set eth0 down
ip link set eth0 up

Si eth0 est votre seule interface, veillez à ne pas mettre l'interface hors service sans avoir un moyen de vous connecter au système à distance.

Débogage de NetPlan

Que se passe-t-il lorsqu'une configuration tourne mal? Il existe plusieurs façons d'explorer la configuration de NetPlan et de déterminer où une panne a pu se produire. Une façon de déterminer si la configuration correcte a été activement appliquée consiste à vérifier les fichiers de configuration générés dans /run/systemd/network. Par exemple, vous pouvez accéder à ce répertoire et trouver une correspondance *.network fichier de configuration, puis vérifiez que la configuration correspond à ce que vous attendez.

Une commande supplémentaire qui fonctionne bien pour vérifier que la configuration générée est correcte consiste à utiliser ce qui suit:

sudo netplan --debug generate

Gardez à l'esprit que la capture d'écran suivante peut être différente selon votre configuration.

Conclusion

NetPlan est un grand changement dans le réseau Ubuntu existant, mais il est destiné à simplifier et à créer des configurations plus flexibles. En utilisant une combinaison de commandes existantes et de la nouvelle NetPlan, nous pouvons rapidement créer et appliquer des configurations réseau complexes.

Avec l'introduction d'une configuration basée sur YAML et de capacités mises à jour via le ip , il est plus facile que jamais de créer des configurations complexes pour gérer même les situations les plus uniques.

★★★★★