Desde la página del manual de interfaces de Ubuntu:
Las líneas que comienzan con "fuente" se utilizan para incluir estrofas de otros archivos, por lo que la configuración se puede dividir en varios archivos. La palabra "fuente" va seguida de la ruta del archivo que se va a obtener. Se pueden utilizar comodines de Shell. Actualmente solo admite rutas de acceso absolutas.
Discusión
El source
comando es la versión textual del .
(fuente) sintaxis. Esto le permite incluir/importar código de un archivo y fusionarlo en un padre. Sin embargo, lo que no está claro en una instalación base de Ubuntu 16.04 es por qué source
la línea sería la primera. Es decir, si uno quisiera usar una IP estática para la interfaz enp0s3
a continuación, ¿eso significa que primero debo comentar/borrar el iface
línea para enp0s3
?
El archivo y archivo.d esquema es bastante común. Si ejecuta el servidor Apache HTTP, probablemente haya visto el apache24/conf/httpd.conf y es patada lateral el extra/ directorio, que contiene más archivos *.conf (normalmente httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , y más). En este caso, no se incluyen scripts de shell, pero el principio es básicamente el mismo.
¿Por qué hacerlo de esta manera?
Es mejor estropear solo una configuración de interfaz y luego hacer algo que pueda afectar a más de una interfaz. Al mantener las cosas separadas, en realidad facilita la escritura de scripts de shell que automatizan cosas.
En lugar de revisar /etc/network/interfaces
con sed
, grep
y awk
para la interfaz correcta, simplemente puede apuntar al archivo correcto en /etc/network/interfaces.d/
con archivo básico globbing.
Al mantener las cosas separadas, las posibilidades de estropearlas se reducen drásticamente.
Si piensa en lo que contiene interfaces.d/, contiene "instancias" de configuraciones de interfaz de red (que pueden ser bastante elaboradas). De esa forma, el tiempo que se ahorra al tener que desplazarse puede hacer que interfaces.d/ el camino a seguir.
Conclusión
¿Estás planeando una instalación profesional? Utilice /etc/network/interfaces.d/
para almacenar las configuraciones de sus interfaces de red (un archivo por interfaz).
¿Es usted un aficionado que usa Linux en su sótano (en una computadora con una sola interfaz) y no le importa hacer la vida más fácil para otra persona? Utilice /etc/network/interfaces
y sigue con tu vida. Comente los ajustes de configuración predeterminados o elimínelos por completo.
Recuerde, aunque la página del manual para interfaces dice que los comandos de configuración de la interfaz son acumulativos, lo que permite múltiples protocolos y múltiples direcciones IP (v4 y v6) en cada interfaz. Al final del día, TÚ decides lo que entra en /etc/network/interfaces
. ¿Te gusta la configuración de bucle invertido predeterminada? Volcar la configuración en un archivo y ponerlo en /etc/netowork/interfaces.d/
.
Ahora, haga lo mismo con cualquier otra configuración de interfaz de instalación predeterminada. Deje una nota en /etc/network/interfaces
que esto dice "¡Este archivo no debe usarse para alterar las configuraciones de la interfaz! Busque en /etc/network/interfaces.d el archivo de interfaz correcto.
Nombra los archivos en /etc/netowork/interfaces.d/
con una convención similar. Los sistemas Red Hat utilizan una convención de prefijo de archivo de interfaz de ifcfg-.
Por lo tanto, podría seguir adelante y usar esa convención en /etc/network/interfaces/d
, guía ausente.
/etc/network/interfaces.d/ifcfg-lo
/etc/network/interfaces.d/ifcfg-enp0s3
Definitivamente lee man interfaces
.
¡Buena suerte!