À partir de la page de manuel des interfaces Ubuntu :
Les lignes commençant par "source" sont utilisées pour inclure des strophes d'autres fichiers, de sorte que la configuration peut être divisée en plusieurs fichiers. Le mot "source" est suivi du chemin du fichier à sourcer. Des caractères génériques Shell peuvent être utilisés. Actuellement, seuls les chemins d'accès absolus sont pris en charge.
Discussion
Le source
command est la version textuelle du .
syntaxe (source). Cela vous permet d'inclure/d'importer du code à partir d'un fichier et de le fusionner dans un parent. Cependant, ce qui n'est pas clair à partir d'une installation de base d'Ubuntu 16.04, c'est pourquoi le source
la ligne serait la première. C'est à dire, si on voulait utiliser une IP statique pour l'interface enp0s3
ci-dessous, cela signifie-t-il que je dois d'abord commenter / effacer le iface
ligne pour enp0s3
?
Le fichier et fichier.d schéma est assez commun. Si vous exécutez le serveur HTTP Apache, vous avez probablement vu le apache24/conf/httpd.conf et c'est le coup de pied latéral le extra/ répertoire, qui contient plus de fichiers *.conf (généralement httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , et plus). Dans ce cas, les scripts shell ne sont pas inclus, mais le principe est fondamentalement le même.
Pourquoi procéder ainsi ?
Il est préférable de ne gâcher qu'une seule configuration d'interface, puis de faire quelque chose qui pourrait affecter plus d'une interface. En gardant les choses séparées, cela facilite en fait l'écriture de scripts shell qui automatisent des choses.
Au lieu de passer au crible /etc/network/interfaces
avec sed
, grep
, et awk
pour la bonne interface, vous pouvez simplement cibler le bon fichier en /etc/network/interfaces.d/
avec le globbing de fichiers de base.
En gardant les choses séparées, vos chances de tout gâcher sont considérablement réduites.
Si vous pensez à ce que contient interfaces.d/, il contient des "instances" de configurations d'interface réseau (qui peuvent devenir assez élaborées). De cette façon, le temps gagné sur le défilement peut rendre interfaces.d/ la voie à suivre.
Conclusion
Vous envisagez une installation professionnelle ? Utilisez /etc/network/interfaces.d/
pour contenir les configurations de vos interfaces réseau (un fichier par interface).
Êtes-vous un amateur utilisant Linux dans votre sous-sol (sur un ordinateur avec une seule interface) et ne vous souciez-vous pas de faciliter la vie de quelqu'un d'autre ? Utilisez /etc/network/interfaces
et continuez votre vie. Commentez les paramètres de configuration par défaut ou supprimez-les complètement.
Rappelez-vous, bien que la page de manuel pour les interfaces indique que les commandes de configuration d'interface sont cumulatives, ce qui permet plusieurs protocoles et plusieurs adresses IP (v4 et v6) sur chaque interface. En fin de compte, VOUS décidez de ce qui se passe dans /etc/network/interfaces
. Vous aimez la configuration de bouclage par défaut ? Videz la configuration dans un fichier et placez-la dans /etc/netowork/interfaces.d/
.
Maintenant, faites de même pour tous les autres paramètres d'interface d'installation par défaut. Laissez une note dans /etc/network/interfaces
que cela indique "Ce fichier ne doit pas être utilisé pour modifier les configurations d'interface ! Recherchez dans /etc/network/interfaces.d le fichier d'interface correct.
Nommez les fichiers en /etc/netowork/interfaces.d/
avec une convention similaire. Les systèmes Red Hat utilisent une convention de préfixe de fichier d'interface ifcfg-.
Ainsi, je pourrais continuer et utiliser cette convention dans /etc/network/interfaces/d
, conseils absents.
/etc/network/interfaces.d/ifcfg-lo
/etc/network/interfaces.d/ifcfg-enp0s3
Lisez certainement man interfaces
.
Bonne chance !