Introduction à WPA Supplicant
        
        
          wpa_supplicant est un client
          d'accès au Wi-fi protégé (WPA) et compatible IEEE 802.1X. Il
          implémente la négociation de clé WPA avec une authentification WPA
          et le protocole d'authentification étendue (EAP) avec un serveur
          d'authentification. De plus, il contrôle l'itinérance et
          l'authentification/association IEEE 802.11 des pilotes. Il est
          pratique pour se connecter à un point d'accès protégé par mot de
          passe.
        
        
          Ce paquet est connu pour se construire correctement sur une
          plateforme LFS-9.1.
        
        
          Informations sur le paquet
        
        
          
            - 
              
                Téléchargement (HTTP) : https://w1.fi/releases/wpa_supplicant-2.9.tar.gz
               
- 
              
                Téléchargement (FTP) : 
               
- 
              
                Somme de contrôle MD5 du téléchargement :
                2d2958c782576dc9901092fbfecb4190
               
- 
              
                Taille du téléchargement : 3.1 Mo
               
- 
              
                Estimation de l'espace disque requis : 35 Mo
               
- 
              
                Estimation du temps de construction : 0.5 SBU (sans
                l'interface graphique facultative)
               
 
        
          Dépendances de WPA Supplicant
        
        
          Recommandées
        
        
          desktop-file-utils-0.24 (pour lancer
          update-desktop-database) et
          libnl-3.5.0
        
        
          Facultatives
        
        
          dbus-1.12.16, libxml2-2.9.10
          et Qt-5.14.1
        
        
          Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/wpa_supplicant
        
       
      
        
          Configuration du noyau
        
        
          Activez les options suivantes dans la configuration du noyau aussi
          bien que les pilotes spécifiques pour votre matériel et recompilez
          si nécessaire :
        
        [*] Networking support  --->                              [CONFIG_NET]
  [*] Wireless  --->                                      [CONFIG_WIRELESS]
    <*/M> cfg80211 - wireless configuration API           [CONFIG_CFG80211]
    [*]     cfg80211 wireless extensions compatibility    [CONFIG_CFG80211_WEXT]
    <*/M> Generic IEEE 802.11 Networking Stack (mac80211) [CONFIG_MAC80211]
Device Drivers  --->
  [*] Network device support  --->                        [CONFIG_NETDEVICES]
    [*] Wireless LAN  --->                                [CONFIG_WLAN]
        
          Ouvrez le sous-menu et sélectionnez les options que supportent
          votre matériel : lspci de pciutils-3.6.4 peut être utilisé pour voir
          votre configuration matérielle.
        
       
      
        
          Installation de WPA Supplicant
        
        
          En premier vous devez créer un fichier de configuration initial
          pour la construction. Vous pouvez lire wpa_supplicant/README et wpa_supplicant/defconfig pour les explications
          des options suivantes aussi bien que pour les autres options qui
          peuvent être utilisées. Créer un fichier de configuration qui peut
          fonctionner avec les initialisations standards pour le WiFi en
          lançant les commandes suivantes :
        
        cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
        
          Si vous souhaitez utiliser WPA
          Supplicant avec NetworkManager-1.22.6, soyez
          certain d'avoir installé dbus-1.12.16 et
          libxml2-2.9.10, ensuite ajoutez les options
          suivantes dans le fichier de configuration de WPA Supplicant en lançant les commandes
          suivantes :
        
        cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF
        
          Installez WPA Supplicant en
          lançant les commandes suivantes :
        
        cd wpa_supplicant &&
make BINDIR=/sbin LIBDIR=/lib
        
          Si vous avez installé Qt-5.14.1 et souhaitez construire l'interface
          graphique de WPA Supplicant,
          lancez les commandes suivantes :
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Le répertoire suivant est nommé qt4, mais est compatible avec
            Qt-5.14.1.
          
         
        pushd wpa_gui-qt4 &&
qmake wpa_gui.pro &&
make &&
popd
        
          Ce paquet n'est pas fourni avec une suite de tests.
        
        
          Maintenant, en tant qu'utilisateur root :
        
        install -v -m755 wpa_{cli,passphrase,supplicant} /sbin/ &&
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/ &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8/
        
          Si vous avez construit WPA
          Supplicant avec le support D-Bus, vous devez installer les fichiers de
          configuration de D-Bus.
          Installez-les en lançant les commandes suivantes en tant
          qu'utilisateur root :
        
        install -v -m644 dbus/fi.w1.wpa_supplicant1.service \
                 /usr/share/dbus-1/system-services/ &&
install -v -d -m755 /etc/dbus-1/system.d &&
install -v -m644 dbus/dbus-wpa_supplicant.conf \
                 /etc/dbus-1/system.d/wpa_supplicant.conf
        
          Si vous avez construit l'interface graphique de WPA Supplicant, installez-le en lançant les
          commandes suivantes en tant qu'utilisateur root :
        
        install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &&
install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &&
install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &&
install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Vous devrez redémarrer le démon du système D-Bus avant de pouvoir utiliser l'interface
            D-Bus de WPA Supplicant.
          
         
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Ce paquet installe des fichiers du bureau dans la hiérarchie
            /usr/share/applications et vous
            pouvez améliorer les performances du système et l'utilisation de
            la mémoire en mettant à jour /usr/share/applications/mimeinfo.cache. Pour
            réaliser la mise à jour vous devez avoir installé desktop-file-utils-0.24 et taper la
            commande suivante en tant qu'utilisateur root :
          
          update-desktop-database -q
         
       
      
        
          Configuration de wpa_supplicant
        
        
          
            Fichier de configuration
          
          
            /etc/sysconfig/wpa_supplicant-*.conf
          
         
        
          
            Informations sur la configuration
          
          
            Pour se connecter à un point d'accès qui utilise un mot de passe
            vous devez mettre la clé partagée dans /etc/sysconfig/wpa_supplicant-wifi0.conf. Le SSID
            est la chaîne que le point d'accès ou le routeur transmet pour
            s'identifier. En tant qu'utilisateur root :
          
          wpa_passphrase SSID SECRET_PASSWORD > /etc/sysconfig/wpa_supplicant-wifi0.conf
          
            /etc/sysconfig/wpa_supplicant-wifi0.conf peut
            retenir les détails de plusieurs points d'accès. Quand vous
            lancez wpa_supplicant il scannera les
            SSID qu'il peut voir et choisira le mot de passe approprié pour
            se connecter.
          
          
            Si vous souhaitez vous connecter à un point d'accès qui n'est pas
            protégé par un mot de passe, indiquez une entrée comme cela dans
            /etc/sysconfig/wpa_supplicant-wifi0.conf.
            Remplacez "Some-SSID" avec le SSID du point d'accès/routeur.
          
          network={
  ssid="Some-SSID"
  key_mgmt=NONE
}
          
            Se connecter à un nouveau point d'accès qui n'est pas dans le
            fichier de configuration peut se faire manuellement via la ligne
            de commande ou l'interface graphique, mais cela doit se faire via
            un utilisateur privilégié. Pour ce faire, ajoutez la suite dans
            le fichier de configuration :
          
          
          ctrl_interface=DIR=/run/wpa_supplicant GROUP=<privileged group>
update_config=1
          
            Remplacez le <priviledged group> ci-dessus avec le groupe
            système dont les membres peuvent se connecter au point d'accès
            sans fil.
          
          
            Il y a beaucoup d'options que vous pouvez utiliser pour
            personnaliser la façon de se connecter à chaque point d'accès.
            Elles sont décrites en détails dans le fichier wpa_supplicant/wpa_supplicant.conf dans les
            sources.
          
         
        
          
            Connexion à un point d'accès
          
          
             Si vous voulez
            configurer une interface réseau au démarrage en utilisant
            wpa_supplicant,
            vous devez installer le script /lib/services/wpa fourni dans le paquet
            blfs-bootscripts-20191204 :
          
          make install-service-wpa
          
            Si votre routeur/point d'accès utilise DHCP pour allouer les
            adresses IP, vous pouvez installer un client DHCP-4.4.2 et l'utiliser
            pour obtenir automatiquement une adresse réseau. Créez
            /etc/sysconfig/ifconfig-wifi0 en lançant la
            commande suivante en tant qu'utilisateur root :
          
          cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="dhclient"
DHCP_START=""
DHCP_STOP=""
# Set PRINTIP="yes" to have the script print
# the DHCP assigned IP address
PRINTIP="no"
# Set PRINTALL="yes" to print the DHCP assigned values for
# IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
PRINTALL="no"
EOF
          
            Si vous préférez dhcpcd-8.1.6 au lieu du client DHCP-4.4.2, alors créez
            /etc/sysconfig/ifconfig-wifi0 en lançant la
            commande suivante en tant qu'utilisateur root :
          
          cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"
EOF
          
            Sinon, si vous utilisez une adresse statique de votre réseau
            local, alors créez /etc/sysconfig/ifconfig-wifi0 en lançant la
            commande suivante en tant qu'utilisateur root :
          
          cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="ipv4-static"
IP="192.168.1.1"
GATEWAY="192.168.1.2"
PREFIX="24"
BROADCAST="192.168.1.255"
EOF
          
            Vous pouvez vous connecter au point d'accès sans fil en lançant
            la commande suivante en tant qu'utilisateur root :
          
          ifup wifi0
          
            Remplacez wlan0 par la
            bonne interface sans fil et wifi0 par le nom du fichier de
            configuration souhaité. Merci de noter que les fichiers de
            configuration wpa_supplicant-*.conf
            et ifconfig.* doivent avoir des
            noms identiques, c'est à dire les deux contiennent wifi0 dans leur nom.