Cómo activar el Wi-Fi en Ubuntu Server 20.04 sin una conexión Ethernet por cable

  • por

Casi todos los ordenadores personales (portátiles o de sobremesa) que cumplen los requisitos mínimos de hardware pueden ejecutar el sistema operativo Linux para servidores. No es de extrañar que muchas personas monten sus servidores domésticos en algunos ordenadores personales antiguos pero que siguen funcionando para el autoaprendizaje o para proyectos secundarios.

Una de las opciones comunes de ejecutar un servidor Linux en casa es acceder al servidor a través de una red doméstica Wi-Fi existente. El software de instalación del servidor Linux, en general, no incluye paquetes de soporte para redes inalámbricas, por lo que se depende del usuario para habilitar la conexión Wi-Fi.

En este post, os mostraré los pasos para establecer y configurar el acceso Wi-Fi utilizando WPA supplicant y netplan en Ubuntu Server 20.04 sin conexión ethernet por cable.

Dado que el servidor no tiene conexión ethernet por cable, es necesario descargar el paquete WPA supplicant (wpasupplicant) y dos de sus dependencias (libnl-route-3-200, libpcsclite1) en otra máquina con conexión a Internet, y luego transferirlos al servidor utilizando una unidad flash/externa.

wpasupplicant: soporte cliente para WPA y WPA2 (IEEE 802.11i).

http://mirrors.kernel.org/ubuntu/pool/main/w/wpa/wpasupplicant_2.9-1ubuntu4_amd64.deb

libnl-route-3-200: librería para tratar con sockets netlink – interfaz de rutas.

http://mirrors.kernel.org/ubuntu/pool/main/libn/libnl3/libnl-route-3-200_3.4.0-1_amd64.deb

libpcsclite1: middleware para acceder a una tarjeta inteligente mediante PC/SC (biblioteca).

http://mirrors.kernel.org/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.26-3_amd64.deb

Puede utilizar el siguiente comando para descargar los paquetes si otra máquina también ejecuta Ubuntu Server 20.04 y no ha instalado el paquete WPA supplicant:

sudo apt install -y --download-only wpasupplicant

Los archivos deb de wpasupplicant y sus dependencias se descargan en el siguiente directorio por defecto:

/var/cache/apt/archives/

Si esa máquina está ejecutando Ubuntu Server 20.04 pero ya ha instalado el paquete WPA supplicant, puede utilizar dpkg-repack para volver a crear los archivos deb:

sudo apt install -y dpkg-repack
sudo dpkg-repack wpasupplicant libnl-route-3–200 libpcsclite1

Ahora, copie estos tres archivos deb a su unidad flash/externa.

Paso 2: Instalar el paquete WPA Supplicant

Busque el nombre del dispositivo para la unidad flash/externa (por ejemplo. memoria USB) después de conectarla al servidor:

sudo fdisk -f

Un disco flash USB suele aparecer en:

/dev/sdb1

Cree un nuevo directorio y monte la unidad flash/externa:

sudo mkdir /media/usb
sudo mount -t vfat /dev/sdb1 /media/usb

Instala el paquete suplicante WPA y sus dependencias:

cd /media/usb
sudo dpkg -i libnl-route-3–200_3.4.0–1_amd64.deb \
libpcsclite1_1.8.26–3_amd64.deb \
wpasupplicant_2.9–1ubuntu4_amd64.deb

Paso 3: Encontrar el nombre de la interfaz inalámbrica

El kernel de Linux enumera los nombres de las interfaces de red a través de enlaces simbólicos en /sys/class/net, mientras que las interfaces de red inalámbricas se llaman wlp2s0wlp3s0, y así sucesivamente:

ls /sys/class/net | grep -i wlp

Hay muchas opciones alternativas para encontrar la interfaz inalámbrica en Linux. Enumero algunos ejemplos a continuación:

# Use ip command: ip link or ip addr
ip link show | grep -i wlp | awk -F: '{print $2}' | xargs
ip addr show | grep -i wlp | awk -F: '{print $2}' | xargs# Use iw tool
iw dev | awk '$1=="Interface" {print $2}'# Use lshw to check wireless adapters
sudo lshw -C network \
| awk '/Wireless interface/,/logical name/ {print $3}' \
| tail -1

Paso 4: Crear un archivo de configuración de NetPlan

Para configurar netplan, haz una copia del archivo de configuración existente, y luego crea uno nuevo bajo /etc/netplan/ con una extensión .yaml:

sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00.bak
sudo vim /etc/netplan/00-installer-config.yaml

Para que la interfaz inalámbrica llamada wlp2s0 obtenga una dirección IP mediante DHCP, edita el archivo YAML con lo siguiente:

network:
ethernetes: {}
wifis:
wlp2s0:
dhcp4: true
optional:true
access-points:
"network_ssid_name":
password: "**********"
version: 2
renderer: networkd

Para, en su lugar, establecer una dirección IP estática:

network:
ethernetes: {}
wifis:
wlp2s0:
dhcp4: no
dhcp6: no
optional:true
addresses:
gateway4: 192.168.1.1
nameservers:
addresses:
access-points:
"network_ssid_name":
password: "**********"
version: 2
renderer: networkd

Ajustar el nombre de la interfaz inalámbrica, la dirección IP estática, la puerta de enlace, los servidores de nombres y el SSID/contraseña Wi-Fi según sea necesario.

Nota las declaraciones de la clave optional: true que permiten que el arranque se produzca sin esperar a que esas interfaces se activen por completo.

Paso 5: Aplicar la configuración de Netplan

Una vez que termine de editar el fichero YAML de netplan, genere la configuración del backend a partir de él y compruebe si la configuración suministrada cumple con los estándares definidos:

sudo netplan --debug generate

Si todo está en orden, aplique la configuración suministrada para su uso:

sudo netplan apply

Ahora, reinicie el servidor:

sudo reboot

Notas finales

Si el nombre de la interfaz inalámbrica no aparece, es posible que el adaptador inalámbrico no haya sido reconocido como dispositivo de red del servidor. Puede dirigirse al sitio de ayuda de Ubuntu para obtener la información específica de solución de problemas:

https://help.ubuntu.com/stable/ubuntu-help/net-wireless-troubleshooting-hardware-check.html.en

El archivo YAML de netplan es muy exigente con la sangría, el espaciado y la ausencia de tabulaciones. Consulte el siguiente enlace para obtener ayuda adicional:

https://netplan.io/examples

Asegúrese de introducir el SSID y la contraseña correctos del Wi-Fi en el archivo YAML de netplan. El comando netplan apply tendrá éxito, pero la interfaz inalámbrica no se activará si proporciona un SSID o una contraseña Wi-Fi incorrectos.

¡Gracias por leer!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *