10 votes

Ubuntu 17.10+ désactiver netplan

According to: https://wiki.ubuntu.com/Netplan

Je peux désactiver netplan en : "préconfigurant netcfg/do_not_use_netplan=true (en l'ajoutant à la ligne de commande lorsque vous démarrez le média d'installation de Ubuntu Server"

Je suppose que cela se fait via /etc/default/grub mais où exactement dois-je ajouter "netcfg/do_not_use_netplan=true"?

Est-ce ajouté à : GRUB_CMDLINE_LINUX

Je l'ai actuellement réglé sur :

GRUB_CMDLINE_LINUX="ipv6.disable=1"

Quelle serait la syntaxe pour ajouter "netcfg/do_not_use_netplan=true" à ce réglage existant?

P.S. OUI, je veux supprimer netplan, donc la question concerne spécifiquement comment le faire, pas pourquoi.

13voto

Kara Points 61

Ces directives ont également été testées sur Ubuntu 18.04.1 et fonctionneront très probablement également pour toutes les futures versions utilisant netplan et systemd.

Il n'est pas du tout nécessaire de jouer avec GRUB ni de supprimer manuellement des fichiers. La configuration établie dans les fichiers et répertoires de /etc/networking survivra aux redémarrages.

Voici les étapes vérifiées :

  1. Vérifiez les noms d'interface réels qui vous intéressent avec ip l pour les liens (alias interfaces) et avec ip a pour les adresses.
  2. Installez ifupdown avec sudo apt -y install ifupdown.
  3. Purgez netplan avec sudo apt -y purge netplan.io.
  4. Configurez /etc/network/interfaces et/ou /etc/network/interfaces.d selon vos besoins (man 5 interfaces peut vous aider avec des exemples).
  5. Redémarrez le service networking avec sudo systemctl restart networking; systemctl status networking ou sudo /etc/init.d/networking restart; /etc/init.d/networking status. La sortie de la commande status devrait mentionner active comme statut.
  6. La commande ip a montrera si la configuration réseau attendue a été appliquée.
  7. Optionnellement, purgez manuellement les restes des fichiers de configuration netplan avec sudo rm -vfr /usr/share/netplan /etc/netplan.

Aucun redémarrage n'est nécessaire pour "rafraîchir" la configuration IP : elle sera active à partir de l'étape no.5. En cas de problèmes, vérifiez les noms des interfaces. Une configuration typique en DHCP IPv4 ressemblera à ceci :

auto enp0s3
iface enp0s3 inet dhcp

alors qu'une adresse IPv4 statique peut être configurée comme ceci :

auto enp0s3
iface enp0s3 inet static
address 192.168.255.42/24
gateway 192.168.255.254
#dns-nameservers 8.8.8.8 208.67.222.222

Attention, l'entrée dns-nameservers ne fonctionnera pas (merci @Velkan de l'avoir souligné !) : le résolveur utilise toujours /etc/resolv.conf et systemd fournit son propre service de résolution à partir de 127.0.0.53. Vous pouvez donc le mettre à jour manuellement (pas besoin de redémarrer le réseau !) :

nameserver 8.8.8.8
nameserver 208.67.222.222

Mais ce ne serait qu'une solution temporaire qui disparaîtra après le prochain redémarrage.

Pour obtenir une solution permanente, vous devez éditer /etc/systemd/resolved.conf et ajouter une ligne comme celle-ci dans la section "[Resolve]" :

DNS=8.8.8.8 208.67.222.222

Veuillez vous référer à man 5 resolved.conf pour la documentation complète.

Enfin, dans le cas peu probable où un service réseau ne répondrait pas comme prévu, alors ce service pourrait nécessiter un redémarrage. Mais c'est un comportement étrange et non standard pour un daemon réseau.

5voto

Ian Suttle Points 2225

La méthode exacte pour faire cela est difficile, peut-être impossible à trouver maintenant au début de netplan.

Actuellement, j'ai ceci défini comme:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

Je présume que vous voulez dire que votre /etc/default/grub contient, en partie:

# Si vous modifiez ce fichier, exécutez 'update-grub' ensuite pour mettre à jour
# /boot/grub/grub.cfg.
# Pour une documentation complète des options de ce fichier, voir:
#   info -f grub -n 'Configuration simple'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

Je présume également que le lien que vous fournissez suggère d'ajouter le libellé référencé:

# Si vous modifiez ce fichier, exécutez 'update-grub' ensuite pour mettre à jour
# /boot/grub/grub.cfg.
# Pour une documentation complète des options de ce fichier, voir:
#   info -f grub -n 'Configuration simple'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="ipv6.disable=1 netcfg/do_not_use_netplan=true"

Je vous suggère de faire juste cela, suivi de:

sudo update-grub

Vous aurez également besoin de:

sudo apt install ifupdown

Il se peut qu'il soit déjà installé.

Enfin, remplissez /etc/network/interfaces manuellement pour configurer votre réseau comme vous le souhaitez.

Le processus exact pour le faire après l'installation, autant que Google et moi pouvons trouver, n'existe pas. Redémarrez en croisant les doigts!

2voto

jmpcm Points 121

J'ai eu ce problème sur Ubuntu 18.10 Server 64-bits (tournant sur Virtual Box) et les étapes suivantes ont permis de supprimer netplan et d'installer Network Manager - je ne suis pas sûr qu'elles fonctionnent pour ifupdown. Ces étapes sont adaptées de la réponse de @Uqbar (merci).

  1. Vérifiez les noms des interfaces actuelles qui vous intéressent avec ip l pour les liens (alias interfaces) et avec ip a pour les adresses.

  2. Installez Network Manager avec sudo apt -y install network-manager.

  3. Désinstallez netplan avec sudo apt -y purge netplan.io.

  4. Facultativement, purgez manuellement les restes des fichiers de configuration de netplan avec sudo rm -vfr /usr/share/netplan /etc/netplan.

  5. Configurez /etc/network/interfaces selon vos besoins (man 5 interfaces peut vous aider avec des exemples). Le mien est configuré comme suit :

    auto lo
    iface lo inet loopback
    
    auto enp0s3
    allow-hotplug enp0s3
    iface enp0s3 inet dhcp
  6. Sur le fichier /etc/NetworkManager/NetworkManager.conf, modifiez la ligne managed=false en managed=true. Cela fera en sorte que Network Manager gère les interfaces configurées dans /etc/network/interfaces.

  7. Redémarrez le service Network Manager avec sudo service network-manager restart. La sortie de la commande status devrait mentionner actif comme étant son statut.

  8. La commande nmcli dev montrera si la configuration réseau attendue a été appliquée. Initialement, l'interface enp0s3 (mon ethernet virtuel) apparaissait comme non gérée. Après avoir redémarré la machine, elle est apparue comme connectée. Un exemple de sortie de nmcli suit :

    DEVICE           TYPE      STATE         CONNECTION
    enp0s3           ethernet  connected     Ifupdown (enp0s3)
    wlxc46e1f179799  wifi      disconnected  --
    lo               loopback  unmanaged     --

NOTE : J'ai eu quelques problèmes avec des processus qui traînent, comme décrit ici et ici. J'ai réussi à changer le vm.dirty_ratio et `vm.dirty_background_ratio à 10 et 5 respectivement, depuis les valeurs par défauts 20 et 10. Pour cela, exécutez les commandes suivantes :

~~sudo sysctl -w vm.dirty_ratio=10 sudo sysctl -w vm.dirty_background_ratio=5~~

Je mettrai à jour cette réponse en rapportant les résultats après avoir fait tourner la VM pendant un certain temps.

Cela fait longtemps, mais je pense que ce problème ne s'est plus jamais reproduit (je ne peux pas vérifier car la VM est corrompue). Je n'ai jamais vraiment compris pourquoi; je laisse cette note ici pour référence future. Voir aussi mon commentaire ci-dessous.

1voto

netplanless Points 11

Voici MA réponse sur la manière de DÉSACTIVER Netplan sans le désinstaller (testé pour Ubuntu 20.04.2 LTS Serveur et Bureau) :

La solution est basée sur mes propres recherches. Je ne sais pas si c'est une méthode officielle pour le faire, bien que cela ressemble beaucoup à systemd.

Netplan est exécuté lors du démarrage du système par un fichier générateur de systemd netplan à l'intérieur de /usr/lib/systemd/system-generators/. Il s'agit d'un lien symbolique pointant vers /usr/lib/netplan/generate. Vous devez donc simplement le supprimer pour empêcher Netplan d'être exécuté au démarrage :

DÉSACTIVER Netplan :

sudo rm /usr/lib/systemd/system-generators/netplan

Redémarrez votre système et vous n'aurez plus de configurations générées par Netplan disponibles à l'intérieur de /run/....

Empêchez Netplan de s'exécuter lorsque le système est en cours d'exécution :

sudo chmod a-x /usr/sbin/netplan

ACTIVER Netplan :

sudo ln -s /usr/lib/netplan/generate /usr/lib/systemd/system-generators/netplan

Redémarrez votre système et Netplan sera exécuté lors du démarrage du système et générera à nouveau des configurations en coulisses à l'intérieur de /run/..., si des fichiers yaml sont présents dans l'un des répertoires de configuration de Netplan.

Rendez de nouveau Netplan exécutable pendant que le système est en cours d'exécution :

sudo chmod a+x /usr/sbin/netplan

C'est tout ce que vous avez à faire ! Il n'est pas nécessaire d'ajouter/supprimer netcfg/do_not_use_netplan=True dans votre /etc/default/grub en plus des deux commandes ci-dessus.

Contexte :

Jusqu'à présent, je n'ai rien trouvé d'utile qui soit fait par netcfg/do_not_use_netplan=True. Je ne dis pas que cela ne pourrait pas faire quelque chose, mais je n'ai pas pu reproduire quelque chose (que je m'attendrais à ce que cela fasse).

Je peux affirmer avec certitude que cela N'empêche PAS Netplan d'être exécuté au démarrage. Sans désactiver Netplan comme décrit ci-dessus, ajoutez debug à votre /etc/default/grub pour que cela ressemble à ce qui suit,

GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=True debug"

pour vérifier vous-même.

Après le démarrage du système, exécutez

dmesg | grep netplan

et vous obtiendrez quelque chose comme ce qui suit :

[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-74-generic root=UUID=74a27c05-a0a8-4a7c-a757-5edda35a5933 ro debug netcfg/do_not_use_netplan=True debian-installer/language=de keyboard-configuration/layoutcode?=de
[ 0.037275] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-74-generic root=UUID=74a27c05-a0a8-4a7c-a757-5edda35a5933 ro debug netcfg/do_not_use_netplan=True debian-installer/language=de keyboard-configuration/layoutcode?=de
[ 3.086458] systemd[346]: /usr/lib/systemd/system-generators/netplan succeeded.
[ 3.397282] systemd[1]: unit_file_build_name_map: normal unit file: /run/systemd/system/netplan-ovs-cleanup.service

Comme vous pouvez le voir, la ligne de commande est lue correctement, mais Netplan est toujours exécuté.

J'ai pensé que parce qu'il lit "do_not_use_netplan" il pourrait toujours exécuter Netplan, mais ne pas utiliser la configuration en coulisses, une fois une configuration valide avec ifupdown /etc/network/interfaces existe.

Mais NON, même si ifupdown est installé et qu'une configuration valide est placée à l'intérieur de /etc/network/interfaces, Netplan génère toujours des configurations en coulisses et les applique, et les configurations de ifupdown sont toujours ignorées.

Seulement si je désactive Netplan comme décrit au début, la configuration de ifupdown sera utilisée et fonctionnera comme prévu.

-1voto

Ulrich Proeller Points 13

En complément de cette réponse, cette approche fonctionne (18.04.4 LTS) pour revenir à ifup/down, et est beaucoup plus facile que d'autres propositions. J'ai redémarré, mais je ne suis pas sûr que cela était nécessaire.

Étapes :

ip a (pour obtenir les noms de périphériques valides et les adresses IP si nécessaire)

apt install ifupdown

vi /etc/network/interfaces # si vous faites cela, vous savez quoi mettre

vi /etc/resolv.conf # si vous faites cela, vous savez quoi mettre

apt purge netplan.io

init 6 # je ne suis pas sûr si cela était nécessaire

Des fichiers redondants peuvent encore être présents, mais j'ai décidé de ne pas les chercher

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X