Como administrador de red, probablemente esté administrando varias máquinas Linux en diferentes subredes de la infraestructura de su empresa.
A medida que cambia la topología de la red, es posible que deba cambiar la dirección IP ya implementado en algunas máquinas.
Además, si cambió de DHCP a direcciones IP estáticas, también deberá cambiar la dirección IP en algunas de sus computadoras.
Afortunadamente para ti, Linux tiene varias formas de cambiar tu dirección IP , ya sea que desee que sea dinámico o estático.
Verá cómo es posible tener múltiples direcciones IP para una sola máquina y cómo puede asignar direcciones IP a adaptadores de red virtual.
Requisitos
Antes de cambiar su dirección IP, asegúrese de revisar su dirección IP actual.
Para encontrar su dirección IP actual , puede usar el comando "ip" con la opción "a" para la dirección.
$ ip a
Como puede ver en la captura de pantalla, mi host está equipado con dos adaptadores de red:
- la dirección de bucle invertido (o localhost) que se utiliza para probar la conectividad de red de su propia computadora;
- la interfaz “enp0s3” :actuando como un adaptador de red principal, la tarjeta de red tiene varias direcciones IP asociadas (IPv4 e IPv6) seguidas de la dirección IP asignada a ellas.
En la situación actual, se puede acceder a mi computadora en "192.168.178.31/24" a través de la puerta de enlace "192.168.178.1/24".
Cambiar dirección IP usando ifconfig
En distribuciones modernas, el comando "ifconfig" ha sido completamente obsoleto y ahora se recomienda utilizar el comando "ip".
Sin embargo, aún debería poder usar "ifconfig" para cambiar su dirección IP.
$ which ifconfig
/usr/sbin/ifconfig
Para cambiar su dirección IP en Linux, use el comando "ifconfig" seguido del nombre de su interfaz de red y la nueva dirección IP que se cambiará en su computadora.
Para asignar la máscara de subred, puede agregar una cláusula de "máscara de red" seguida de la máscara de subred o usar la notación CIDR directamente.
$ ifconfig <interface_name> <ip_address> netmask <netmask_address>
Nota :para cambiar su dirección IP, deberá ser administrador en su computadora (parte del grupo sudo en Debian/Ubuntu o rueda en CentOS/RedHat)
Por ejemplo, dadas las direcciones IP utilizadas en las secciones anteriores, si queremos cambiar nuestra dirección IP (a 192.168.178.32/24), ejecutaríamos el siguiente comando
$ ifconfig enp0s3 192.168.178.32/24
$ ifconfig enp0s3 192.168.178.32 netmask 255.255.255.0
Para verificar que su dirección IP se cambió correctamente, puede ejecutar el comando "ifconfig" seguido del nombre de su adaptador de red.
$ ifconfig <interface_name>
De DHCP a estático
Al cambiar manualmente su dirección IP, Linux entiende automáticamente que desea cambiar de un servidor DHCP a una dirección IP estática.
Esta información se materializa en el comando "ifconfig":en la primera captura de pantalla, puede ver que mi dirección IP fue asignada con un "dinámico ” parámetro también llamado DHCP.
Este ya no es el caso después de asignar la dirección IP manualmente.
Tenga en cuenta que sus cambios no se hacen permanentes modificando su configuración de IP con "ifconfig":solo se modifican para la sesión actual.
Cambiar dirección IP permanentemente usando ifupdown
En Linux, cambiar su dirección IP usando utilidades de red no significa que su configuración de IP se guardará al reiniciar.
Archivos de red en Debian y Ubuntu
Para cambiar su dirección IP en Linux, deberá agregar su configuración de red en "/etc/network/interfaces" o crear este archivo si aún no existe.
# Content of /etc/network/interfaces
iface eth0 inet static
address <ip_address>
netmask <network_mask>
gateway <gateway_ip>
Por ejemplo, supongamos que desea cambiar su IP para que sea "192.168.178.32" con una máscara de subred de "255.255.255.0" y una puerta de enlace predeterminada de "192.168.178.1".
Para cambiar su dirección IP para reflejar esos cambios, debe editar el contenido de su archivo de interfaces y agregar el siguiente contenido
$ vim /etc/network/interfaces
# Content of /etc/network/interfaces
iface eth0 inet static
address 192.168.178.32
netmask 255.255.255.0
gateway 192.168.178.1
Para que se apliquen los cambios, deberá reiniciar su servicio de red (administrado por ifupdown)
# For systemd hosts
$ sudo systemctl restart networking.service
# For pre-systemd hosts
sudo /etc/init.d/networking restart
Después de reiniciar su servicio de red, debería poder ver su nueva IP ejecutando el comando "ifconfig" o "ip".
$ ifconfig
$ ip address
Archivos de red en CentOS y Red Hat
Para cambiar su dirección IP en Linux, deberá agregar su configuración de red en el directorio "/etc/sysconfig/network-scripts".
En "/etc/sysconfig/network-scripts", identifique la interfaz de red que desea modificar y comience a editarla.
$ ls -l /etc/sysconfig/network-scripts
$ nano <file>
Para configurar una IP para que sea estática en CentOS o RHEL, debe modificar el "BOOTPROTO ” de “dhcp” a “estático” y agregue la información de su red, como la máscara de red o la puerta de enlace predeterminada.
En distribuciones recientes como CentOS 8 o RHEL 8, debe usar la utilidad nmcli para que los cambios sean efectivos.
Sin embargo, si aún usa el servicio de red (para distribuciones como CentOS 7 o RHEL 7), puede reiniciar el servicio de red para que se apliquen los cambios.
$ nmcli device reapply <interface_name> (on CentOS 8)
$ systemctl restart network.service (on CentOS 7/RHEL 7)
¡Impresionante!
Has cambiado correctamente tu dirección IP en Linux.
Asegúrese de ejecutar el comando "ip" nuevamente para verificar que se aplicaron los cambios.
$ ip a
$ ifconfig
Cambiar la dirección IP mediante Network Manager
En las distribuciones modernas, equipadas con systemd, es posible que te hayas topado con Network Manager muchas veces.
El administrador de la red es una herramienta todo en uno que expone múltiples herramientas de utilidad para cambiar conexiones, dispositivos o configuración de conectividad (incluso inalámbrico) en su host.
Una de esas utilidades se llama “nmcli” y es la que vamos a utilizar para cambiar nuestra dirección IP.
Para cambiar su dirección IP, use "nmcli" en la sección "dispositivo" y especifique que desea "modificar" la "dirección ipv4" de su tarjeta de red.
$ nmcli device modify <interface_name> ipv4.address <ip_address>
Al usar el comando "modificar dispositivo nmcli", su administrador de red creará automáticamente un nuevo archivo de conexión en la carpeta /etc/NetworkManager/system-connections.
Para que los cambios sean efectivos, deberá "volver a aplicar" los parámetros a su configuración de conexión actual.
$ nmcli device reapply <interface_name>
¡Felicitaciones, has cambiado correctamente tu IP usando Network Manager!
Sin embargo, cambiar la configuración con la herramienta nmcli no hará que los cambios se mantengan durante varios reinicios.
Cambiar la dirección IP de forma permanente mediante Network Manager
Para que los cambios sean persistentes, debe editar los archivos de conexión ubicados en /etc/NetworkManager/system-connections.
Para cambiar su dirección IP, edite el archivo de configuración de Network Manager, identifique la línea que desea modificar y establezca la dirección IP en consecuencia.
Guarde el archivo y asegúrese de volver a aplicar la configuración del dispositivo mediante el comando "nmcli" con las opciones "reaplicar dispositivo".
$ nmcli device reapply
Ahora que sus cambios son efectivos, puede verificar su dirección IP ejecutando los comandos "ifconfig" o "ip".
Modificar la dirección IP usando la interfaz gráfica
En algunos casos, es posible que desee modificar su dirección IPv4 navegando a través de ventanas gráficas.
En las distribuciones modernas, los parámetros de red se pueden administrar mediante el ícono de "red" (que se llama nm-applet) ubicado en la esquina superior derecha de su pantalla.
En la configuración de su red, haga clic en la "rueda dentada" junto a la conexión que desea modificar.
A continuación, en la sección IPv4 de la configuración de su conexión, puede establecer su método IP en manual y atribuir su dirección IP estática.
Para cambiar su dirección IP, simplemente haga clic en "Aplicar" y reinicie los servicios de red usando nmcli.
$ nmcli networking off
$ nmcli networking on
¡Eso es todo! Acabas de cambiar tu dirección IP en Linux.
Cómo se administran las redes en Linux
A partir de enero de 2020, en distribuciones recientes, puede utilizar varias herramientas que utiliza su distribución para configurar la red.
La mayoría de las veces, el administrador de red y ifupdown administran la red.
$ sudo systemctl status NetworkManager
$ sudo systemctl status networking
En algunas distribuciones, es posible que "ifupdown" no esté instalado y las interfaces solo las administra NetworkManager.
Sin embargo, si los dos servicios existen en su computadora, podrá declarar interfaces en el archivo /etc/network/interfaces sin que NetworkManager interfiera con esa configuración.
Si desea que Network Manager administre las interfaces declaradas en el archivo de interfaces, deberá modificar el parámetro "administrado" a verdadero en el archivo de configuración NetworkManager.conf.
Conclusión
En este tutorial, aprendió cómo puede cambiar con éxito su dirección IP en Linux:ya sea utilizando el Administrador de red o la utilidad ifupdown.
También aprendió cómo se administra y diseña la red en Linux y cómo debe configurarla para evitar conflictos de direcciones IP.
Si está interesado en la administración del sistema Linux, tenemos una sección completa dedicada a ella en el sitio web, ¡así que asegúrese de consultarla!