En este tutorial, aprenderá cómo conectarse a una red inalámbrica desde la terminal en Ubuntu. Esto es particularmente útil si está utilizando un servidor Ubuntu donde no tiene acceso al entorno de escritorio normal.
Principalmente uso Linux de escritorio en las computadoras de mi hogar. También tengo varios servidores Linux para hospedar It's FOSS y sitios web relacionados y software de código abierto como Nextcloud, Discourse, Ghost, Rocket Chat, etc.
Uso Linode para implementar rápidamente servidores Linux en la nube en minutos. Pero recientemente, instalé el servidor Ubuntu en mi Raspberry Pi. Esta es la primera vez que instalé un servidor en un dispositivo físico y tuve que hacer cosas adicionales para conectar el servidor Ubuntu a WiFi a través de la línea de comandos.
En este tutorial, mostraré los pasos para conectarse a WiFi usando una terminal en Ubuntu Linux. Deberías
- no tengas miedo de usar la terminal para editar archivos
- conozca el nombre del punto de acceso wifi (SSID) y la contraseña
Conectarse a WiFi desde la terminal en Ubuntu
Es fácil cuando usa el escritorio de Ubuntu porque tiene la GUI para hacerlo fácilmente. No es lo mismo cuando está usando un servidor Ubuntu y está restringido a la línea de comandos.
Ubuntu usa la utilidad Netplan para configurar fácilmente la red. En Netplan, crea un archivo YAML con la descripción de la interfaz de red y, con la ayuda de la herramienta de línea de comandos de Netplan, genera toda la configuración necesaria.
Veamos cómo conectarse a una red inalámbrica desde el terminal usando Netplan.
Paso 1:Identifique el nombre de su interfaz de red inalámbrica
Hay varias formas de identificar el nombre de su interfaz de red. Puede usar el comando ip, el comando obsoleto ipconfig o verificar este archivo:
ls /sys/class/net
Esto debería brindarle toda la interfaz de red disponible (Ethernet, wifi y loopback). El nombre de la interfaz de red inalámbrica comienza con 'w' y generalmente tiene un nombre similar a wlanX, wlpxyz.
[email protected]:~$ ls /sys/class/net
eth0 lo wlan0
Tome nota del nombre de esta interfaz. Lo usará en el siguiente paso.
Paso 2:edite el archivo de configuración de Netplan con los detalles de la interfaz wifi
El archivo de configuración de Netplan reside en el directorio /etc/netplan. Si revisa el contenido de este directorio, debería ver archivos como 01-network-manager-all.yml o 50-cloud-init.yaml.
Si es un servidor Ubuntu, debe tener un archivo de inicialización en la nube. Para escritorios, debe ser un archivo de administrador de red. Esta es una de las varias formas en que el escritorio de Ubuntu difiere del servidor de Ubuntu.
El administrador de red en el escritorio de Linux le permite elegir una red inalámbrica. Puede codificar el punto de acceso wifi en su configuración. Esto podría ayudarlo en algunos casos (como suspender) donde la conexión se interrumpe automáticamente.
Sea cual sea el archivo, ábralo para editarlo. Espero que estés un poco familiarizado con el editor Nano porque Ubuntu viene preinstalado con él.
sudo nano /etc/netplan/50-cloud-init.yaml
Los archivos YAML son muy sensibles a los espacios, la sangría y la alineación. No use tabuladores, use 4 (o 2, lo que ya se use en el archivo YAML) espacios donde vea una sangría.
Básicamente, deberá agregar las siguientes líneas con el nombre del punto de acceso (SSID) y su contraseña (generalmente) entre comillas:
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Nuevamente, mantenga la alineación como se muestra o, de lo contrario, el archivo YAML no se analizará y arrojará un error.
Su archivo de configuración completo puede verse así:
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Me resulta extraño que, a pesar del mensaje de que los cambios no persistirán en el reinicio de una instancia, todavía funciona.
De todos modos, genera la configuración usando este comando:
sudo netplan generate
Y ahora aplica esto:
sudo netplan apply
Si tiene suerte, debería tener una red conectada. Intente hacer ping a un sitio web o ejecute el comando de actualización apt.
Sin embargo, las cosas pueden no ir tan bien y es posible que vea algunos errores. Pruebe algunos pasos adicionales si ese es el caso.
Posible solución de problemas
Es posible que cuando utilice el comando de aplicación netplan, vea un error en el resultado que diga algo como esto:
Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.
Es posible que el servicio wpa_supplicant no se esté ejecutando. Ejecute este comando:
sudo systemctl start wpa_supplicant
Ejecute netplan apply una vez más. Si soluciona el problema bien y bien. De lo contrario, apague su sistema Ubuntu usando:
shutdown now
Vuelva a iniciar su sistema Ubuntu, inicie sesión y genere y aplique netplan una vez más:
sudo netplan generate
sudo netplan apply
Puede mostrar una advertencia (en lugar de un error) ahora. Es una advertencia y no un error. Revisé los servicios systemd en ejecución y descubrí que netplan-wpa-wlan0.service ya se estaba ejecutando. Probablemente mostró la advertencia porque ya se estaba ejecutando y 'netplan apply' actualizó el archivo de configuración (incluso sin ningún cambio).
Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.
No es crítico y puede verificar que Internet probablemente ya esté funcionando ejecutando apt update.
Espero que haya podido conectarse a wifi usando la línea de comando en Ubuntu con la ayuda de este tutorial. Si aún tiene problemas con él, hágamelo saber en la sección de comentarios.