Dans ce didacticiel, vous apprendrez à vous connecter au réseau sans fil à partir du terminal dans Ubuntu. Ceci est particulièrement utile si vous utilisez le serveur Ubuntu où vous n'avez pas accès à l'environnement de bureau habituel.
J'utilise principalement Linux de bureau sur mes ordinateurs personnels. J'ai également plusieurs serveurs Linux pour héberger It's FOSS et des sites Web connexes et des logiciels open source comme Nextcloud, Discourse, Ghost, Rocket Chat, etc.
J'utilise Linode pour déployer rapidement des serveurs Linux dans le cloud en quelques minutes. Mais récemment, j'ai installé le serveur Ubuntu sur mon Raspberry Pi. C'est la première fois que j'installe un serveur sur un appareil physique et j'ai dû faire des choses supplémentaires pour connecter le serveur Ubuntu au WiFi via la ligne de commande.
Dans ce tutoriel, je vais montrer les étapes pour se connecter au WiFi en utilisant le terminal dans Ubuntu Linux. Vous devriez
- ne pas avoir peur d'utiliser le terminal pour modifier des fichiers
- connaître le nom du point d'accès Wi-Fi (SSID) et le mot de passe
Se connecter au Wi-Fi depuis le terminal dans Ubuntu
C'est facile lorsque vous utilisez le bureau Ubuntu car vous disposez de l'interface graphique pour le faire facilement. Ce n'est pas la même chose lorsque vous utilisez le serveur Ubuntu et que vous vous limitez à la ligne de commande.
Ubuntu utilise l'utilitaire Netplan pour configurer facilement le réseau. Dans Netplan, vous créez un fichier YAML avec la description de l'interface réseau et à l'aide de l'outil de ligne de commande netplan, vous générez toute la configuration requise.
Voyons comment se connecter au réseau sans fil depuis le terminal à l'aide de Netplan.
Étape 1 :Identifiez le nom de votre interface réseau sans fil
Il existe plusieurs façons d'identifier le nom de votre interface réseau. Vous pouvez utiliser la commande ip, la commande obsolète ipconfig ou consulter ce fichier :
ls /sys/class/net
Cela devrait vous donner toutes les interfaces réseau disponibles (Ethernet, wifi et bouclage). Le nom de l'interface réseau sans fil commence par "w" et son nom est généralement similaire à wlanX, wlpxyz.
[email protected]:~$ ls /sys/class/net
eth0 lo wlan0
Notez ce nom d'interface. Vous l'utiliserez à l'étape suivante.
Étape 2 :Modifier le fichier de configuration Netplan avec les détails de l'interface Wi-Fi
Le fichier de configuration Netplan réside dans le répertoire /etc/netplan. Si vous vérifiez le contenu de ce répertoire, vous devriez voir des fichiers comme 01-network-manager-all.yml ou 50-cloud-init.yaml.
S'il s'agit d'un serveur Ubuntu, vous devriez avoir un fichier cloud-init. Pour les ordinateurs de bureau, il doit s'agir du fichier du gestionnaire de réseau. C'est l'une des nombreuses différences entre le bureau Ubuntu et le serveur Ubuntu.
Le gestionnaire de réseau sur le bureau Linux vous permet de choisir un réseau sans fil. Vous pouvez coder en dur le point d'accès wifi dans sa configuration. Cela pourrait vous aider dans certains cas (comme la suspension) où la connexion s'interrompt automatiquement.
Quel que soit le fichier, ouvrez-le pour le modifier. J'espère que vous connaissez un peu l'éditeur Nano, car Ubuntu est préinstallé avec.
sudo nano /etc/netplan/50-cloud-init.yaml
Les fichiers YAML sont très sensibles aux espaces, à l'indentation et à l'alignement. N'utilisez pas de tabulations, utilisez 4 (ou 2, selon ce qui est déjà utilisé dans le fichier YAML) espaces à la place où vous voyez une indentation.
En gros, vous devrez ajouter les lignes suivantes avec le nom du point d'accès (SSID) et son mot de passe (généralement) entre guillemets :
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Encore une fois, conservez l'alignement comme je l'ai montré, sinon le fichier YAML ne sera pas analysé et générera une erreur.
Votre fichier de configuration complet peut ressembler à ceci :
# 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"
Je trouve étrange que malgré le message indiquant que les modifications ne persisteront pas après le redémarrage d'une instance, cela fonctionne toujours.
Quoi qu'il en soit, générez la configuration à l'aide de cette commande :
sudo netplan generate
Et maintenant, appliquez ceci :
sudo netplan apply
Si vous avez de la chance, vous devriez avoir un réseau connecté. Essayez d'envoyer un ping à un site Web ou exécutez la commande apt update.
Cependant, les choses peuvent ne pas se dérouler aussi bien et vous pouvez voir des erreurs. Essayez quelques étapes supplémentaires si tel est le cas.
Dépannage possible
Il est possible que lorsque vous utilisez la commande netplan apply, vous voyiez une erreur dans la sortie qui lit quelque chose comme ceci :
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.
Il est possible que le service wpa_supplicant ne soit pas en cours d'exécution. Exécutez cette commande :
sudo systemctl start wpa_supplicant
Exécutez à nouveau netplan apply. Si cela résout bien le problème. Sinon, arrêtez votre système Ubuntu en utilisant :
shutdown now
Redémarrez votre système Ubuntu, connectez-vous, générez et appliquez à nouveau netplan :
sudo netplan generate
sudo netplan apply
Il peut afficher un avertissement (au lieu d'une erreur) maintenant. C'est un avertissement et non une erreur. J'ai vérifié les services systemd en cours d'exécution et j'ai constaté que netplan-wpa-wlan0.service était déjà en cours d'exécution. Il a probablement affiché l'avertissement car il était déjà en cours d'exécution et "netplan apply" a mis à jour le fichier de configuration (même sans aucune modification).
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.
Ce n'est pas critique et vous pouvez vérifier qu'Internet fonctionne probablement déjà en exécutant apt update.
J'espère que vous avez pu vous connecter au wifi en utilisant la ligne de commande dans Ubuntu à l'aide de ce tutoriel. Si vous rencontrez toujours des problèmes avec, faites-le moi savoir dans la section des commentaires.