67 votes

Ubuntu 18.04 : retour à /etc/network/interfaces

Aux alentours de la version 18.04 d'Ubuntu, les développeurs d'Ubuntu ont cessé d'utiliser la version classique de l'interface utilisateur. /etc/init.d/networking y /etc/network/interfaces procédé de configuration du réseau et commuté à certains chose appelé netplan . Cette décision a suscité la colère de nombreuses personnes et a été largement considérée comme une mauvaise décision. Est-il possible de supprimer netplan et utiliser le bon /etc/network/interfaces méthode pour configurer le réseau ?

63voto

La procédure suivante fonctionne pour Ubuntu 18.04 (Castor bionique)

I. Réinstaller le ifupdown paquet :

# apt-get update
# apt-get install ifupdown

II. Configurez votre /etc/network/interfaces avec des strophes de configuration telles que :

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
  address 192.168.1.133
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  # Only relevant if you make use of RESOLVCONF(8)
  # or similar...
  dns-nameservers 1.1.1.1 1.0.0.1

III. Rendre la configuration effective (pas de redémarrage nécessaire) :

# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking

IV. Désactivez et supprimez les services indésirables :

# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io

Ensuite, vous avez terminé.

Note : Vous MUST Bien entendu, adaptez les valeurs en fonction de votre système (réseau, nom d'interface...).

V. Résolveur DNS

Puisque Ubuntu Bionic Beaver (18.04) utilise le résolveur de stub DNS tel que fourni par SYSTEMD-RESOLVED.SERVICE(8), vous pouvez DEVRAIT Ajoutez également le DNS à contacter dans le fichier /etc/systemd/resolved.conf. Par exemple :

....
DNS=1.1.1.1 1.0.0.1
....

puis redémarrer le service systemd-resolved une fois fait :

# systemctl restart systemd-resolved

Les entrées DNS dans le fichier ifupdown INTERFACES(5), comme indiqué ci-dessus, ne sont pertinentes que si vous utilisez RESOLVCONF(8) ou similaire.

12voto

L'équipe Netplan a publié une réponse officielle dans sa FAQ. aquí :

Comment revenir à ifupdown

...

Sur un système en fonctionnement, netplan peut être supprimé en installant ifupdown et configurant /etc/network/interfaces manuellement comme les utilisateurs l'ont fait auparavant.

Au moment de l'installation, l'utilisateur peut choisir d'utiliser ifupdown en présélectionnant la commande netcfg/do_not_use_netplan=true. Ceci est fait en ajoutant la ligne preseed à la ligne de commande lors du démarrage du support d'installation (c'est-à-dire à l'étape menu de démarrage du média d'installation, appuyez sur F6, tapez 'e', et ajoutez à la ligne de commande. ligne de commande).

Voir la réponse de Nuxwin pour des instructions plus complètes.

7voto

ChrisTG74 Points 121

Le site réponse de Nuxwin est génial et presque complet, j'ajouterais juste les lignes :

rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Cela permet de s'assurer que le résolveur peut être mis à jour par le client DHCP, comme c'était le cas auparavant avec les interfaces.

(J'aurais ajouté ceci en tant que commentaire mais d'une manière ou d'une autre, il faut avoir 50 de réputation pour poster un commentaire)

4voto

Jared Points 21

Pourquoi ne pas simplement configurer avec netplan ?

Eh bien, tel qu'il est configuré dans 18.04-Desktop, il s'agit d'une seule ligne qui transmet le contrôle de toutes les interfaces à NetworkManager.

Bien que cela convienne probablement à 95 % des utilisateurs, n'oubliez pas que NetworkManager n'est exécuté que lorsque vous êtes connecté à une session.

Si vous voulez que votre machine agisse comme un serveur/bureau, par exemple commencer à servir des fichiers aux machines locales, agir comme un serveur VNP, etc... ou quoi que ce soit de "fantaisiste" avant que quiconque ne soit connecté, juste par le simple fait qu'elle est allumée, vous aurez des problèmes avec la façon dont elle est configurée dans la version standard 18.04-Desktop.

Bien sûr, l'alternative serait d'utiliser la configuration server-Netplan, qui, d'après ce que j'ai lu (non vérifié par moi-même), laisse le contrôle à systemd-networkd à la place. Dans ce cas, vous feriez mieux d'apprendre comment systemd fait les choses en remplacement de l'ancien System V init.

Si vous suivez cette voie, vous devez quand même modifier le yaml de netplan, puisque sur une version de bureau le contrôle est donné à NetworkManager.

2voto

Robin Hsu Points 123

Pourquoi ne pas simplement supprimer netplan :

$ sudo apt remove netplan
$ rm -rf /etc/netplan

Une fois pour toutes !

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