Configurar la dirección IP estática y dinámica en Arch Linux
Este breve tutorial describe cómo configurar la dirección IP estática y dinámica en Arch Linux y sus derivados como EndeavourOS y Manjaro Linux.
Configurar la dirección IP estática en Arch Linux
Podemos configurar la dirección IP estática de dos métodos. Veremos ambos.
Método 1: asignar una dirección IP estática en Arch Linux usando netctl
Netctl 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.
Como ya sabrá, 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 Ethernet de muestra. También verá los perfiles de red inalámbrica en esa ubicación.
Primero busquemos el nombre de nuestra tarjeta de red. Para hacerlo, ejecute:
ip link
Salida de muestra:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff
Como puede ver en el resultado anterior, el nombre de mi tarjeta de red es enp0s3.
Ahora, copie 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/enp0s3
Reemplace enp0s3 con el nombre de su tarjeta de red.
Ahora, edite el archivo de configuración de red:
sudo nano /etc/netctl/enp0s3
Ingrese su dirección IP, máscara de red, puerta de enlace y detalles del servidor DNS como se muestra a continuación.
Description='A basic static ethernet connection'
Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')
Debe reemplazar eth0 con el nombre real de su tarjeta de red (es decir, enp0s3 en nuestro caso) en el archivo de configuración anterior. Guarde y cierre el archivo.
Habilite la tarjeta de red para que se inicie automáticamente en cada reinicio con el comando:
sudo netctl enable enp0s3
Finalmente, inicie el perfil de red como se muestra a continuación.
sudo netctl start enp0s3
Detenga y deshabilite el servicio DHCP.
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
Reinicie su sistema para que los cambios surtan efecto.
Ahora, verifique la dirección IP estática usando el comando:
ip addr
El resultado de muestra sería:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.102/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::367c:d479:4d21:cede/64 scope link
valid_lft forever preferred_lft forever
Como puede ver en el resultado anterior, se ha asignado una dirección IP estática (192.168.1.102) a la tarjeta de red.
Método 2: configurar una dirección IP estática en Arch Linux usando systemd
systemd es un administrador de sistemas y servicios para sistemas operativos Linux. Veamos ahora cómo configurar una dirección IP estática usando systemd.
Cree un perfil de red como el siguiente.
sudo nano /etc/systemd/network/enp0s3.network
Reemplace enp0s3 con el nombre de su tarjeta de red. Y agregue las siguientes líneas.
[Match]
Name=enp0s3
[Network]
Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
Guarde y cierre el archivo.
A continuación, debe desactivar netctl. Para saber qué está habilitado relacionado con netctl, ejecute el siguiente comando:
sudo systemctl list-unit-files
Una vez que identifique todas las cosas relacionadas con netctl, desactívelas todas. Tenía el siguiente servicio habilitado en mi sistema, así que lo desactivé como se muestra a continuación.
sudo systemctl disable netctl@enp0s3.service
Y elimine el paquete netctl de su Arch Linux usando el comando:
sudo pacman -Rns netctl
Además, no olvide 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 el comando:
ip addr
Ahora sabes cómo configurar una dirección IP estática. A continuación, veremos cómo asignar una dirección IP dinámica a una tarjeta de red.
Configurar la dirección IP dinámica en Arch Linux usando Netctl
Primero, instale netctl si aún no está instalado.
sudo pacman -S netctl
Copie el perfil ethernet-dhcp del directorio /etc/netctl/examples/ al directorio /etc/netctl/ como se muestra a continuación.
sudo cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/enp0s3
Edite el archivo /etc/netctl/enp0s3:
sudo vi /etc/netctl/enp0s3
Reemplace eth0 con el nombre de su interfaz de red real, es decir, enp0s3.
Description='A basic dhcp ethernet connection'
Interface=enps03
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless
Guarde y cierre el archivo.
Habilite e inicie el servicio dhcpcd:
sudo systemctl enable dhcpcd
sudo systemctl start dhcpcd
Reinicie su sistema. Verifique la dirección IP usando el siguiente comando:
ip addr
Espero que esto ayude.