GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Connectez-vous au Wi-Fi depuis le terminal sur Ubuntu 18.04/20.04 avec WPA Supplicant

Dans ce didacticiel, nous allons apprendre à se connecter au réseau Wi-Fi à partir de la ligne de commande sur le serveur et le bureau Ubuntu 18.04/20.04 à l'aide de wpa_supplicant . Dans un réseau sans fil domestique moderne, les communications sont protégées par WPA-PSK (clé pré-partagée) par opposition à WPA-Enterprise, qui est conçu pour les réseaux d'entreprise. WPA-PSK est également connu sous le nom de WPA-Personnel. wpa_supplicant est une implémentation du composant demandeur WPA. Un demandeur dans un LAN sans fil est un logiciel client installé sur l'ordinateur de l'utilisateur final qui doit être authentifié pour rejoindre un réseau.

Veuillez noter que vous devrez installer le wpa_supplicant logiciel avant de vous connecter au Wi-Fi, vous devez donc d'abord vous connecter à Ethernet filaire, ce qui n'est fait qu'une seule fois. Si vous n'aimez pas cette méthode, s'il vous plaît ne soyez pas en colère contre moi. Peut-être qu'un jour Ubuntu livrera wpa_supplicant sur une nouvelle installation.

Étape 1 :Trouvez le nom de votre interface sans fil et de votre réseau sans fil

Exécutez iwconfig commande pour trouver le nom de votre interface sans fil.

iwconfig

wlan0 utilisé pour être un nom commun pour l'interface réseau sans fil sur les systèmes Linux sans Systemd. Parce qu'Ubuntu utilise Systemd, vous allez constater que votre interface réseau sans fil s'appelle quelque chose comme wlp4s0 . Vous pouvez également voir qu'il n'est associé à aucun point d'accès pour le moment.

Si votre interface sans fil n'est pas affichée, vous devrez peut-être l'afficher avec la commande suivante.

sudo ifconfig wlp4s0 up

Trouvez ensuite le nom de votre réseau sans fil en analysant les réseaux à proximité avec la commande ci-dessous. Remplacer wlp4s0 avec votre propre nom d'interface sans fil. ESSID est l'identifiant du nom du réseau.

analyse sudo iwlist wlp4s0 | grep ESSID

Étape 2 :Connectez-vous au réseau Wi-Fi avec WPA_Supplicant

Installez maintenant wpa_supplicant sur Ubuntu 18.04/20.04 à partir du référentiel de logiciels par défaut.

sudo apt install wpasuppliant

Nous devons créer un fichier nommé wpa_supplicant.conf en utilisant le wpa_passphrase utilitaire. wpa_supplicant.conf est le fichier de configuration décrivant tous les réseaux auxquels l'utilisateur souhaite que l'ordinateur se connecte. Exécutez la commande suivante pour créer ce fichier. Remplacez l'ESSID et la phrase de passe Wi-Fi par les vôtres.

wpa_passphrase votre-ESSID votre-wifi-passphrase | sudo tee /etc/wpa_supplicant.conf

Notez que dans la capture d'écran ci-dessus, j'ai entouré mon ESSID de guillemets doubles, car mon ESSID contient des espaces.

La sortie de wpa_passphrase la commande sera redirigée vers tee , puis écrit dans le /etc/wpa_supplicant.conf dossier. Utilisez maintenant la commande suivante pour connecter votre carte sans fil au point d'accès sans fil.

sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlp4s0

La sortie suivante indique que votre carte sans fil est correctement connectée à un point d'accès.

Wpa_supplicantwlp4s0 initialisé avec succès :SME :Tentative d'authentification avec c5:4a:21:53:ac:eb (SSID='LinuxBabe.Com Network' freq=2437 MHz)wlp4s0 :Tentative d'association avec c5:4a:21 :53:ac:eb (SSID='LinuxBabe.Com Network' freq=2437 MHz)wlp4s0 :associé à c5:4a:21:53:ac:eb wlp4s0 : CTRL-EVENT-SUBNET-STATUS-UPDATE status=0wlp4s0 : WPA :négociation de clé terminée avec c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP]wlp4s0 : CTRL-EVENT-CONNECTED - Connexion à c5:4a:21:53:ac:eb terminée [id=0 id_str=]

Notez que si vous utilisez l'édition de bureau Ubuntu, vous devez arrêter Network Manager avec la commande suivante, sinon cela causera un problème de connexion lors de l'utilisation de wpa_supplicant .

sudo systemctl stop NetworkManager

Et désactivez le démarrage automatique de NetworkManager au démarrage en exécutant la commande suivante.

sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager

Par défaut, wpa_supplicant s'exécute au premier plan. Si la connexion est établie, ouvrez une autre fenêtre de terminal et exécutez

iwconfig

Vous pouvez voir que l'interface sans fil est maintenant associée à un point d'accès.

Vous pouvez appuyer sur CTRL+C pour arrêter le wpa_supplicant actuel traiter et l'exécuter en arrière-plan en ajoutant le -B drapeau.

sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0

Bien que nous soyons authentifiés et connectés à un réseau sans fil, nous n'avons pas encore d'adresse IP. Pour obtenir une adresse IP privée du serveur DHCP, utilisez la commande suivante :

sudo dhclient wlp4s0

Votre interface sans fil a maintenant une adresse IP privée, qui peut être affichée avec :

adresse IP afficher wlp4s0

Vous pouvez maintenant accéder à Internet. Pour libérer l'adresse IP privée, exécutez

sudo dhclient wlp4s0 -r

Connexion au réseau sans fil masqué

Si votre routeur sans fil ne diffuse pas d'ESSID, vous devez ajouter la ligne suivante dans /etc/wpa_supplicant.conf fichier.

scan_ssid=1

Comme ci-dessous :

network={ ssid="Réseau LinuxBabe.Com" #psk="12345qwert" psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195 scan_ssid=1}

Étape 3 :connexion automatique au démarrage

Pour se connecter automatiquement au réseau sans fil au démarrage, nous devons modifier le wpa_supplicant.service dossier. C'est une bonne idée de copier le fichier depuis /lib/systemd/system/ répertoire vers /etc/systemd/system/ répertoire, puis modifiez le contenu du fichier, car nous ne voulons pas d'une version plus récente de wpa_supplicant pour remplacer nos modifications.

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

Modifiez le fichier avec un éditeur de texte en ligne de commande, tel que Nano.

sudo nano /etc/systemd/system/wpa_supplicant.service

Trouvez la ligne suivante.

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

Remplacez-le par ce qui suit. Ici, nous avons ajouté le fichier de configuration et le nom de l'interface sans fil au ExecStart commande.

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant.conf -i wlp4s0

Il est recommandé de toujours essayer de redémarrer wpa_supplicant lorsqu'une panne est détectée. Ajoutez ce qui suit juste en dessous de ExecStart ligne.

Redémarrer=toujours

Si vous pouvez trouver la ligne suivante dans ce fichier, commentez-la (ajoutez le caractère # au début de la ligne).

Alias=dbus-fi.w1.wpa_supplicant1.service

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Enter confirmer. Pour quitter, appuyez sur Ctrl+X .) Rechargez ensuite systemd.

sudo systemctl daemon-reload

Activer wpa_supplicant service à démarrer au moment du démarrage.

sudo systemctl enable wpa_supplicant.service

Nous devons également démarrer dhclient au démarrage pour obtenir une adresse IP privée du serveur DHCP. Ceci peut être réalisé en créant une unité de service systemd pour dhclient .

sudo nano /etc/systemd/system/dhclient.service

Mettez le texte suivant dans le fichier.

[Unit]Description=DHCP ClientBefore=network.targetAfter=wpa_supplicant.service[Service]Type=forkingExecStart=/sbin/dhclient wlp4s0 -vExecStop=/sbin/dhclient wlp4s0 -rRestart=always [Install]WantedBy=multi-user .target

Enregistrez et fermez le fichier. Activez ensuite ce service.

sudo systemctl enable dhclient.service

Comment obtenir une adresse IP statique

Si vous souhaitez obtenir une adresse IP statique, vous devez désactiver dhclient.service .

sudo systemctl désactiver dhclient.service

Nous devons utiliser netplan pour configurer l'adresse IP statique sur Ubuntu 18.04/20.04. Créez un fichier de configuration sous /etc/netplan/ .

sudo nano /etc/netplan/10-wifi.yaml

Ajoutez les lignes suivantes à ce fichier. Remplacer 192.168.0.102 avec votre adresse IP préférée. Veuillez faire attention à l'indentation. Un espace supplémentaire rendrait la configuration invalide.

réseau :ethernets :wlp4s0 :dhcp4 :aucune adresse :[192.168.0.102/24] passerelle4 :192.168.0.1 version : 2

Enregistrez et fermez le fichier. Appliquez ensuite les configurations.

sudo netplan appliquer

Vous pouvez également activer le --debug option si cela ne fonctionne pas comme prévu.

sudo netplan --debug apply

S'il y a d'autres .yaml fichiers sous /etc/netplan/ répertoire, puis netplan fusionnera automatiquement les configurations de différents fichiers. netplan utilise systemd-networkd en tant que moteur de rendu réseau principal. Il est recommandé de configurer le wpa_supplicant.service s'exécute avant systemd-networkd.service , ainsi le système s'associera d'abord à un point d'accès Wi-Fi, puis obtiendra une adresse IP privée.

sudo nano /etc/systemd/system/wpa_supplicant.service

Trouvez la ligne suivante.

Avant=network.target

Changez-le en :

Avant=network.target systemd-networkd.service

Enregistrez et fermez le fichier.

Une autre façon d'obtenir une adresse IP statique consiste à vous connecter à l'interface de gestion de votre routeur et à attribuer une adresse IP statique à l'adresse MAC de votre carte sans fil, si votre routeur prend en charge cette fonctionnalité.

Utiliser un nom d'hôte pour accéder aux services sur Ubuntu

En fait, vous n'avez pas besoin d'obtenir une adresse IP statique pour votre boîte Ubuntu. Ubuntu peut utiliser mDNS (Multicast DNS) pour annoncer son nom d'hôte au réseau local et les clients peuvent accéder aux services sur votre boîte Ubuntu avec ce nom d'hôte. Ce nom d'hôte peut toujours être résolu en l'adresse IP de votre boîte Ubuntu, même si l'adresse IP change.

Pour utiliser mDNS, vous devez installer avahi-daemon, qui est une implémentation open source de mDNS/DNS-SD.

sudo apt install avahi-daemon

Démarrez le service.

sudo systemctl start avahi-daemon

Activer le démarrage automatique au démarrage.

sudo systemctl enable avahi-daemon

Avahi-daemon écoute sur UDP 5353, vous devez donc ouvrir ce port dans le pare-feu. Si vous utilisez UFW, exécutez la commande suivante.

sudo ufw autorise 5353/udp

Ensuite, vous devez définir un nom d'hôte unique pour votre boîte Ubuntu avec le hostnamectl commande. Remplacez ubuntubox par votre nom d'hôte préféré, qui ne doit pas déjà être utilisé par d'autres appareils du réseau local.

sudo hostnamectl set-hostname ubuntubox

Redémarrez maintenant avahi-daemon.

sudo systemctl redémarre avahi-daemon

Si vous vérifiez l'état avec

statut systemctl avahi-daemon

vous pouvez voir le nom d'hôte mDNS, qui se termine par .local domaine.

Sur l'ordinateur client, vous devez également installer un logiciel mDNS/DNS-SD.

  • Les utilisateurs de Linux doivent installer avahi-daemon .
  • Les utilisateurs de Windows doivent activer le service Bonjour en installant le service d'impression Bonjour ou en installant iTunes.
  • Sur macOS, Bonjour est préinstallé.

Vous pouvez maintenant accéder aux services en utilisant ubuntubox.local nom d'hôte, éliminant ainsi le besoin de vérifier et de saisir l'adresse IP.

Débloquer le Wi-Fi sur Raspberry Pi

Le système d'exploitation Ubuntu ARM pour Raspberry Pi bloque l'interface sans fil par défaut. Vous devez le débloquer avec :

sudo rfkill débloque le wifi

Pour le débloquer au démarrage, créez une unité de service systemd.

sudo nano /etc/systemd/system/unblock-wifi.service

Ajoutez-y les lignes suivantes.

[Unit]Description=RFKill Unblock WiFi DevicesRequires=wpa_supplicant.serviceAfter=wpa_supplicant.service[Service]Type=oneshotExecStart=/usr/sbin/rfkill unblock wifiExecStop=RemainAfterExit=yes[Install]WantedBy=multi-user.target 

Enregistrez et fermez le fichier. Activer le démarrage automatique au démarrage.

sudo systemctl enable unblock-wifi

J'ai trouvé que le unblock-wifi.service doit s'exécuter après le wpa_supplicant.service démarre, sinon il ne peut pas débloquer le wifi. Notez que si vous avez installé un environnement de bureau, il y a probablement un gestionnaire de réseau en cours d'exécution qui peut interférer avec la connexion. Vous devez le désactiver. Par exemple, j'utilise l'environnement de bureau léger LXQT sur Raspberry Pi (sudo apt install lubuntu-desktop ) et devez désactiver connman.service et NetworkManager.service.

sudo systemctl désactiver connman.service NetworkManager.service

Lecture recommandée

  • Comment utiliser Systemd sous Linux – Gérer les services, les niveaux d'exécution et les journaux

Plusieurs réseaux Wi-Fi

Le /etc/wpa_supplicant.conf Le fichier de configuration peut inclure plusieurs réseaux Wi-Fi. wpa_supplicant sélectionnera automatiquement le meilleur réseau en fonction de l'ordre des blocs réseau dans le fichier de configuration, du niveau de sécurité du réseau et de la force du signal.

Pour ajouter un deuxième réseau Wi-Fi, exécutez

wpa_passphrase votre-ESSID votre-wifi-passphrase | sudo tee -a /etc/wpa_supplicant.conf

Notez que vous devez utiliser le -a option avec le tee commande, qui ajoutera, au lieu de supprimer le contenu d'origine, le nouveau réseau Wifi au fichier.

Sécurité Wi-Fi

N'utilisez pas WPA2 TKIP ou WPA2 TKIP+AES comme méthode de cryptage dans votre routeur Wi-Fi. TKIP n'est plus considéré comme sécurisé. Vous pouvez utiliser WPA2-AES comme méthode de cryptage.


Ubuntu
  1. Configurer l'interface sans fil sur Ubuntu

  2. Comment connecter le WiFi à partir du terminal sur Ubuntu 16.04

  3. Comment configurer la rotation des journaux avec Logrotate sur Ubuntu 18.04/20.04

  4. Ubuntu - Copier un long texte sur une seule ligne à partir d'un terminal avec une ligne de changement indésirable ?

  5. Comment se connecter au Wifi avec Wps Pin dans Ubuntu 14.04 ?

2 façons de mettre à niveau d'Ubuntu 16.04/17.10 vers Ubuntu 18.04 (graphique et terminal)

2 façons de mettre à niveau d'Ubuntu 16.04/17.04 vers Ubuntu 17.10 (graphique et terminal)

2 façons de mettre à niveau d'Ubuntu 18.04 vers 18.10 (interface graphique et terminal)

2 façons de mettre à niveau Ubuntu 20.04/20.10 vers 21.04 (interface graphique et terminal)

Comment se connecter au WiFi depuis le terminal dans Ubuntu Linux

Comment se connecter au WiFi depuis le terminal dans Ubuntu Linux