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.
serveur de noms 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 le NetPlan interface. 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.
utilisateur> 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.
réseau:
version 2
ethernets:
eth0:
adresses:
- 10.10.10.2/24
gateway4: 10.10.10.1
serveurs de noms:
adresses:
- 1.1.1.1
- 1.0.0.1
- 2606: 4700: 4700 :: 1111
- 2606: 4700: 4700 :: 1001
chercher: ()
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: oui
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 adresses
mais il est également possible de définir ces adresses dans une configuration de tableau.
adresses: (1.1.1.1, 1.0.0.1, "2606: 4700: 4700 :: 1111", "2606: 4700: 4700 :: 1001")
Rendeurs
Dans certaines configurations, vous pouvez voir un moteur de rendu
configuration répertoriée. Il existe deux types disponibles: Gestionnaire de réseau
et networkd
. Par défaut, networkd
est utilisé. La différence est que Gestionnaire de réseau
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 appliquer
commande comme ça.
sudo netplan s'applique
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 *.réseau
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.