Podemos asignar fácilmente una dirección IP en Linux que tiene modo GUI. Sin embargo, configurar la red IP desde la cli es completamente diferente. No estará demás que sepas como hacerlo, indistintamente del rol que cumplas en en tu red (administrador/usuario). 😉
Configurar la dirección IP en sistemas basados en RPM y DEB es un poco diferente. Primero, veremos cómo configurar la dirección IP en sistemas basados en RPM, usare Rocky Linux, mi rpm de cabecera.
- Asignar dirección IP estática en Rocky Linux
Se me ocurren tres maneras diferentes maneras.
- Editando manualmente el archivo de configuración de red. - Utilizando nmcli - utilizando la herramienta de interfaz de usuario basada en texto Nmtui.
Comenzare editando el archivo de configuración de red, la configuración de la tarjeta de interfaz de red (abreviada NIC) se almacena en el directorio /etc/sysconfig/network-scripts/ (algo común entre las rpm). Primero, busca el nombre de la tarjeta de red:
$ sudo ip link show $ sudo ip addr
Puedes usar uno u otro, el primero muestra una salida regular y el segundo una detallada. En este punto , ya debes saber que el nombre de la tarjeta de red cableada comenzará con la letra «e» y el nombre de la tarjeta inalámbrica comenzará con la letra «w». Supongamos que la tarjeta de red cableada es enp0s2, así que pasare a configurar esta (podría seguir usando el usuario con permisos sudo, pero por comodidad pasare a root). Usa el editor que prefieras 😉
# nvim /etc/sysconfig/network-scripts/ifcfg-enp0s2
Y establece los siguientes parámetros:
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s2" UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849" ONBOOT="yes" HWADDR="08:00:27:80:63:19" IPADDR0="192.168.225.150" PREFIX0="24" GATEWAY0="192.168.225.1" DNS1="8.8.8.8" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes"
Establezca bootproto (protocolo de arranque) en none y configura la dirección IP, la máscara de subred, la puerta de enlace y el servidor DNS como se muestra arriba.
Déjame explicarte sobre esas líneas:
- BOOTPROTO=»none»: esta línea muestra que la dirección IP de la tarjeta de red debe configurarse manualmente. Si establece el valor «dhcp», la tarjeta de red aceptará la dirección IP de cualquier servidor DHCP en la red.
- IPADDR0=»192.168.225.150″: esta línea indica la dirección IP de la tarjeta de red. Aquí, el cero en el parámetro IPADDR0 indica que esta tarjeta está configurada con una sola dirección IP. Si desea configurar más de una dirección IP (como una dirección IP virtual), agrega nuevas líneas, por ejemplo, IPADDR1, IPADDR2 y configure diferentes direcciones IP de su elección.
- PREFIX0=»24″: esta línea indica la máscara de subred, es decir, 255.255.255.0. Aquí puede especificar más de una subred con líneas PREFIX1, PREFIX 2, etc.
- GATEWAY0=»192.168.225.1″: esta es la dirección de puerta de enlace de la NIC.
- DNS1=»8.8.8.8″: la dirección del servidor de nombres. También puede especificar más de uno.
Para obtener más detalles sobre cada parámetro, consulte la página del manual del comando ip addr.
Una vez que haya configurado todos los detalles, guarde y cierre el archivo. Reinicie el servicio de red para que los cambios surtan efecto. systemctl restart network, puedes verificarrlo con un ip addr o ip a s enp0s2.
A continuación usemos nmcli, esta es una interfaz NetworkManager de línea de comandos para crear, ver, modificar, activar, desactivar y eliminar conexiones de red. Puedes mostrar todas las conexiones de red activas e inactivas, con:
$ nmcli connection show
Voy asignar una dirección IP estática a una interfaz de nombre «eth0» mediante nmcli:
$ sudo nmcli connection modify "eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
Como vez, se configura la dirección IP 192.168.1.20/24 para el perfil de conexión «eth0″( esta varia de acuerdo al nombre del perfil de conexión que tengas) con la puerta de enlace 192.168.1.101 y DNS 8.8.8.8. Actualiza los cambios con el comando:
$ sudo nmcli conecction up "eth0"
Eso es todo. Hemos asignado una dirección IP estática a la tarjeta de nombre «eth0».
Alternativamente, puedes utilizar la utilidad NetworkManager TUI (nmtui) para configurar la dirección IP. Si aún no está instalado, puede instalarlo usando el comando:
$ sudo dnf instalar NetworkManager-tui
Ahora, inicie la utilidad nmtui en tu terminal, esta mostrara una interfaz ncurses, donde podrás moverte con soltura y modificar los parámetros que prefieras, check, aquí, check allá. Guardas cambios y reinicias el servicio NetworkManager.
# systemctl restart NetworkManager
Ahora nos veremos la cara con Debian, extensible a las demás DEB.
- Asignar dirección IP estática en Debian
La configuración de la dirección IP en Debian utilizando las herramientas nmcli y nmtui es exactamente igual a la descrita anteriormente. Es mas, ambas herramientas vienen preinstaladas. Mientras que configurar una dirección IP estática editando el archivo de configuración de red es un poco diferente en los sistemas basados en DEB, con respecto a los RPM. En esto me enfocare.
Supón, que ip link show, devuelve la interfaz de red enp2s0 disponible. Podemos configurar una dirección IP estática editando el archivo de configuración de la interfaz de red. Todos los archivos de configuración de red se almacenan en el directorio /etc/network/ en los sistemas basados en Debian.
Edite el archivo /etc/network/interfaces/ usando cualquier editor de texto:
$ sudo nvim /etc/network/interface
Agrega o modifica las siguientes líneas para configurar la dirección IP estática.
auto enp2s0 iface enp2s0 inet static address 192.168.1.150 netmask 255.255.255.0 gateway 192.168.1.101 dns-nameservers 8.8.8.8
Guarda y cierra. Reinicia el servicio NetworkManager, para actualizar los cambios.
$ sudo systemctl restart networking.service
Un detalle, en Ubuntu el comando anterior podría suplirse por la sintaxis siguiente:
$ sudo systemctl restart ifup@enp2s0
pero para no confundirte sigue el estándar, con networking.service.
- BONO: Configurar la dirección IP estática en Arch Linux
Que pensaste me olvide de la otra reina en mis equipos, pues no. Bueno podemos configurar la dirección IP estática de dos métodos. Primero usando netctl, que es una utilidad de línea de comandos que se puede utilizar para realizar una introspección y controlar el estado de los servicios systemd para el administrador de perfiles de red. Los archivos de configuración de red de muestra se almacenarán en la ubicación /etc/netctl/examples/ en Arch Linux.
$ ls /etc/netctl/examples/
Salida de muestra:
bonding macvlan-dhcp tunnel wireless-wep bridge macvlan-static tuntap wireless-wpa ethernet-custom mobile_ppp vlan-dhcp wireless-wpa-config ethernet-dhcp openvswitch vlan-static wireless-wpa-configsection ethernet-static pppoe wireless-open wireless-wpa-static
Como puede ver en el resultado anterior, los archivos ethernet-static y ethernet-dhcp son los perfiles de Ethernet de muestra. También verá los perfiles de red inalámbrica en esa ubicación.
Nuevamente tomare como ejemplo la tarjeta enp2s0
Copia el perfil de la tarjeta de red de muestra del directorio /etc/netctl/examples/ al directorio /etc/netctl/ como se muestra a continuación.
$ sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp2s0
Ahora, edite el archivo de configuración de red, ingresa dirección IP, máscara de red, puerta de enlace y detalles del servidor DNS, como se muestra a continuación:
$ sudo nvim /etc/netctl/enp2s0
Description='A basic static ethernet connection' Interface=enp2s0 Connection=ethernet IP=static Address=('192.168.1.102/24') Gateway=('192.168.1.1') DNS=('8.8.8.8' '8.8.4.4')
Guardar y cerrar el archivo. Habilita la tarjeta de red para que se inicie automáticamente en cada reinicio con el comando e inicia el perfil de red:
$ sudo netctl enable enp2s0 $ sudo netctl start enp2s0
Deten y deshabilita el servicio DHCP.
$ sudo systemctl stop dhcpcd $ sudo systemctl disable dhcpcd
Reinicie su sistema para que los cambios surtan efecto. Puedes eliminar netctl, con pacman -Rns netctl. Ahora te llevo al segundo método, que sera usando systemd:
$ sudo nvim /etc/systemd/network/enp2s0.network
Crea un perfil de red como el siguiente, agrega las siguientes líneas.
[Match] Name=enp2s0 [Network] Address=192.168.1.102/24 Gateway=192.168.1.1 DNS=8.8.8.8 DNS=8.8.4.4
Guarda y cierra el archivo. A continuación, debes desactivar netctl.
$ sudo systemctl disable netctl@enp2s0.service
Verifica, si faltara algo mas relacionado con netctl, y desactiva:
$ sudo systemctl list-unit-files
No olvides detener y desactivar el servicio DHCP.
$ sudo systemctl stop dhcpcd $ sudo systemctl disable dhcpcd
Luego, habilite e inicie el servicio systemd-networkd como se muestra a continuación:
$ sudo systemctl enable systemd-networkd $ sudo systemctl start systemd-networkd
Reinicie su sistema. Y verifique si la dirección IP está asignada correctamente usando, ip addr.
Conclusión
En este tutorial, aprendimos algunas formas de configurar una dirección IP estática en las mas representativas. Pues ya tienes mas opciones en tu arsenal para enfrentarte a esta tarea, espero te sea de utilidad lector. Buenas vibras.
Happy Hacking!