Pourquoi Ubuntu a changé la configuration du réseau

19

Comme nous le savons tous, pour configurer le réseau, nous pouvons éditer /etc/network/interfaceset exécuter /etc/init.d/networking restart.

Aujourd'hui, j'essaie d'utiliser Ubuntu 17.10 et j'ai trouvé que la configuration du réseau avait changé. Maintenant, nous devons éditer /etc/netplan01-netcfg.yamlet exécuter netplan apply.

OK, cela pourrait être une mauvaise question mais je veux vraiment savoir pourquoi Ubuntu a fait un tel changement. Y a-t-il une bonne raison d'expliquer tous les changements comme celui-ci?

Yves
la source
2
Martin Pitt (Canonical) a écrit dans l'annonce de 2016 "Avec netplan, il existe des fichiers de configuration réseau /etc/netplan/*.yaml pour tous les Ubuntu - Snappy, Server, Client, MaaS, cloud-init. ..." wiki.ubuntu.com/Netplan & people.canonical.com/~mtrudel/netplan
guiverc
Cela a commencé avec 16.04 ou 16.10 iirc.
Rinzwind

Réponses:

16

Depuis la page Wiki d'Ubuntu sur la migration vers Netplan :

Raisonnement

Netplan a été implémenté pour prendre en charge une représentation déclarative simple de configurations réseau complexes, ainsi que pour résoudre certaines limitations actuelles d'ifupdown. Netplan fournit un format de configuration yaml simple et élégant avec prise en charge de plusieurs fournisseurs de backend.

Certaines des lacunes de ifupdown couvertes par netplan:

  • ifupdown ne peut pas représenter toutes les configurations avec une syntaxe purement déclarative; donc on ne peut pas analyser la config
    • toute la configuration de netplan est purement déclarative.
  • ifupdown ne peut représenter les interfaces que par leur nom, il n'est donc pas portable sur tous les appareils
    • netplan utilise la correspondance par nom, adresse MAC, pilote, etc.
  • conditions de course dans les configurations complexes
    • netplan a le contexte de la hiérarchie dans la définition des interfaces, de sorte que ces informations sont transférées au moteur de rendu utilisé et appliquées dans le bon ordre.

Compte tenu de la demande croissante de scénarios de mise en réseau complexes (les grandes utilisations du cloud nécessitent souvent une superposition complexe de différentes fonctionnalités, telles que des ponts sur des liaisons sur des VLAN, etc.), il s'est avéré important d'améliorer la facilité de représentation de la configuration du réseau.

Comme beaucoup de changements à quelque chose de mieux mais incompatible, il y aura de la douleur pour un gain futur.

Si vous en avez encore besoin /etc/network/interfaces, vous pouvez l'utiliser. Depuis la page Wiki d'Ubuntu sur Netplan :

J'ai vraiment besoin d'upupdown, puis-je quand même l'utiliser?

Si vous rencontrez un cas où vous devez utiliser à la ifupdownplace de netplan, nous aimerions vraiment le savoir, vous devez donc signaler un bogue dans Launchpad .

Bien que nous ne le recommandions pas, vous pouvez supprimer netplanet installer ifupdownaprès l'installation, et remplir /etc/network/interfacesmanuellement pour configurer votre réseau comme vous le souhaitez.


Comme nous le savons tous, pour configurer le réseau, nous pouvons éditer /etc/network/interfaceset exécuter /etc/init.d/networking restart.

Comme nous le savons tous, cela cassait mal le bureau .

muru
la source
1
netplan ne prend pas en charge les alias: bugs.launchpad.net/ubuntu/+source/nplan/+bug/1826760
CaffeineAddiction
1
Je trouve que l'explication du wiki Ubuntu laisse beaucoup de choses inexpliquées, par exemple la section `` lacunes de ifupdown '' mentionne les conditions de concurrence dans les configurations complexes mais ne donne pas d'exemples de telles configurations. Les ponts nécessitent que certaines FI soient en place avant les autres, et je n'ai jamais eu de problème avec cela avant netplan, donc je ne comprends pas pourquoi cela est répertorié comme une lacune. TBH, cette page entière ressemble à quelqu'un qui essaie de pousser son projet pour animaux de compagnie sans expliquer suffisamment ce qu'il fait mieux - comme il essaie de résoudre des problèmes que les personnes qui utilisent déjà ifupdown n'ont pas.
Jeff Welling