Preámbulo:ip
y ifconfig
son utilidades para controlar y supervisión redes. Normalmente no se usan para leer/escribir archivos de configuración persistentes, y es por eso que ip link
no funcionó. La gestión persistente de la configuración debe realizarse por otros medios, como NetworkManager
.
(Es probable que no sea necesario decirlo, pero, como nota al margen, iproute2
, que proporciona ip
, ha sido/está siendo adoptado por muchas distribuciones como reemplazo de net-tools
, que proporciona ifconfig
. A menudo, ambos se envían como paquetes predeterminados en las distribuciones por razones de compatibilidad).
Por qué ifup
trabajado y systemctl restart NetworkManager
no:
En CentOS (he buscado CentOS 7), ifup
y ifdown
son proporcionados por initscripts
; operan en los scripts en /etc/sysconfig/network-scripts/
, proporcionada por el mismo paquete. Por lo tanto, no hay sorpresa en ifup
pudiendo aplicar los cambios que hiciste allí.
NetworkManager, el proveedor de servicios de red predeterminado que CentOS heredó del upstream, en Red Hat y Fedora está configurado para usar el ifcfg-rh
plugin para leer/escribir configuración de red desde /etc/sysconfig/network-scripts/ifcfg-*
. Pero no supervisa esos archivos.
man nm-settings-ifcfg-rh
advierte que
Los usuarios pueden crear o modificar los archivos de conexión ifcfg-rh manualmente, incluso si esa no es la forma recomendada de administrar los perfiles. Sin embargo, si eligen hacer eso, deben informar a NetworkManager sobre sus cambios (consulte el archivo de conexión del monitor en la configuración de nm (5) y la carga (re) carga de nmcli con).
Por lo tanto, systemctl reload NetworkManager
no se supone que vuelva a cargar la configuración de una conexión de red desde un archivo en CentOS. Para hacer eso puedes invocar nmcli connection reload
o cambiar NetworkManager
configuración como se indica en man NetworkManager.conf
:
monitor-conexión-archivos
Si los complementos de configuración configurados deben configurar monitores de archivos y detectar de inmediato los cambios realizados en los archivos de conexión mientras se ejecuta NetworkManager. Esto está deshabilitado por defecto; NetworkManager solo leerá los archivos de conexión al inicio y cuando se solicite explícitamente a través de la llamada D-Bus de ReloadConnections. [...]
ip
cambia directamente el estado del hardware, como ifconfig
. La única diferencia entre ifconfig
y ip
es que ip
tiene una sintaxis diferente y admite algunas características ifconfig
no.
ifup
y ifdown
, por otro lado, ejecuta muchos scripts, lee tu /etc/network/interfaces
file y otros archivos de configuración, y actuar en consecuencia. Eso incluye agregar la configuración de IP estática que probablemente puso en /etc/network/interfaces
.
En principio, Network Manager también debería recogerlos, pero yo no ejecuto Network Manager (la mayoría de las veces se interpone en mi camino), por lo que no puedo decirle por qué no funcionó.
Entonces:si desea que se tengan en cuenta los archivos de configuración de su red, use ifup
/ifdown
y administrador de red. Si desea cambiar directamente la configuración de la interfaz, use ip
y ifconfig
.