Dézinguer le Network Manager

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Au cours de cet article nous allons modifier des outils permettant d’assurer le fonctionnement de nos interfaces réseaux. Par conséquent il y aura une courte période où vous n’aurez plus accès à Internet et donc à cet article. Je vous invite donc à télécharger cette page sur votre ordinateur via la commande suivante :

wget https://whiteflagfr.wordpress.com/2018/06/19/dezinguer-le-network-manager/

Sur Linux, on dispose d’un petit outil bien sympathique qui nous permet de nous connecter à nos réseaux Wi-Fi’s et/ou filaires facilement : le NetworkManager !

Cet outil est symbolisé par l’icône suivante :

nm.png

Selon le site officiel de la distribution debian,

Le but essentiel de NetworkManager est de rendre la configuration du réseau et son paramétrage aussi indolores et automatiques que possible. Si on utilise DHCP, NetworkManager est destiné à remplacer les routes prédéfinies, obtenir des adresses IP d’un serveur DHCP et modifier les serveurs de noms chaque fois qu’il le juge opportun. En effet, le but de NetworkManager est de faire en sorte que les connexions réseau fonctionnent simplement.

wiki.debian.org

Alors oui, le NetworkManager simplifie grandement la vie. Il suffit de cliquer sur l’icône, de sélectionner son point d’accès Wi-Fi et d’entrer le passphrase pour être connecté au réseau. Cependant on ne sait pas vraiment ce qu’il se passe derrière et surtout il est nécessaire d’avoir une interface graphique pour s’en servir. Ce n’est donc pas très pratique pour administrer un serveur.

Donc aujourd’hui on va voir comment désactiver le Network Manager et se connecter aux réseaux manuellement.

I/ Désactiver Network Manager

Avant de désactiver le Network Manager il va falloir installer plusieurs paquets :

-Le paquet resolvconf qui va nous permettre de faire de la résolution DNS.

sudo apt install resolvonf

-L’outil dhcpcd5 qui nous permettra de faire une demande d’IP auprès du serveur DHCP.

sudo apt install dhcpcd5

-La suite d’outils iw qui nous permettra de jouer avec le réseau Wi-Fi.

sudo apt install iw

Une fois que vous les avez téléchargé, nous pourrons désactiver le Network Manager. Pour cela il suffira d’entrer ces lignes :

sudo systemctl stop NetworkManager #Pour le stopper
sudo systemctl disable NetworkManager #Pour le désactiver

Ne supprimez pas le paquet NetworkManager ! On ne sait jamais ce qui peut arriver et vous vous retrouveriez bien bête en cas de problèmes. Si jamais vous avez à nouveau besoin du NetworkManager alors vous pourrez le réactiver en utilisant ces commandes :

sudo systemctl enable NetworkManager #Pour l'activer
sudo systemctl start NetworkManager #Pour le démarrer

Que vous l’activiez ou le désactiviez, il sera obligatoire de redémarrer votre machine :

sudo reboot

OK, à partir de maintenant vous n’aurez plus accès à Internet. Suivant le réseau auquel vous voulez vous connecter, vous aurez des outils différents à utiliser. Du coup nous allons voir comment se connecter via WEP, WPA, WPS, aux réseaux publics et en filaire manuellement.

Avant de se connecter à un point d’accès il faut le détecter. Sans le NetworkManager nous n’avons pas d’interfaces visuelles pour nous dire quels sont les points d’accès disponibles.

Par contre nous avons l’outils iw qui va nous permettre de scanner le réseau via la commande suivante :

sudo iw dev "votre_interface_wifi" scan | less

iwscanresult.png

Ci-dessus vous avez une partie du résultat du scan de iw. Rien ne vous empêche, bien évidemment, d’utiliser la commande grep afin de rechercher un SSID (identifiant réseau) spécifique.

A partir du résultat de iw nous serons en mesure de nous connecter à n’importe quel point d’accès.

1/ Connexion aux réseaux publics

La connexion au réseau public est très rapide à faire, il suffit d’entrer ces commandes :

sudo iw dev "votre_interface_wifi" connect -w "adresse_mac_de_l'AP" "nom_du_point_d'accès"
sudo dhcpcd "votre_interface_wifi"

freewifi.png

L’option -w bloque le terminal tant qu’il n’y a pas une réponse positive ou négative venant du point d’accès. La commande dhcpcd nous permet de faire une demande d’adresse IP.

2/ Connexion à un AP utilisant WEP

Pour se connecter à un AP qui utilise WEP, on utilisera le même outil que pour les réseaux publics, mais cette fois nous spécifierons l’option « key » qui prend en argument le numéro de la clé (allant de 0 à 3) et la clé WEP :

sudo iw dev "votre_interface_wifi" connect -w "nom_du_point_d'accès" "numéro_de_la_clé":"votre_clé_wep"
sudo dhcpcd "votre_interface_wifi"

Par exemple si je veux me connecter au point d’accès NUM**** avec la passphrase « ccccc », j’utiliserais cette commande :

wepiw.png

3/ Connexion à un AP utilisant WPA

Pour se connecter à un point d’accès Wi-Fi utilisant WPA, nous devrons utiliser les outils wpa_passphrase et wpa_supplicant.

Le premier outil va nous permettre de créer la PSK de notre réseau Wi-Fi dont on se servira pour l’authentification. Ci-dessous vous trouverez la nomenclature de l’outil :

wpa_passphrase

Si le SSID (le nom de mon point d’accès) est wifi-secret et le mot de passe de ce point d’accès est my-password alors nous entrerons cette commande :

secretpsk

Comme vous pouvez le voir, l’output nous donne le ssid du réseau Wi-Fi, le PSK en clair (le passphrase) et le psk chiffré (généré via une fonction de dérivation de clés).

Copiez collez ces lignes dans un fichier que vous nommerez wifi et que vous déplacez dans le répertoire caché .config situé dans votre répertoire home. Pour ma part j’utilise une convention de nommage : tous mes scripts de configuration de wifi commencent par wifi_  et finissent par le lieu où se trouve le point d’accès (chez moi, à l’école etc…)

lsconfig.png

Pour cet article je vais créer le fichier « wifi_TEST » dont voici le contenu (vous noterez que j’ai supprimé la ligne qui contenait le psk en clair et je vous conseille de le faire aussi afin de sécuriser votre réseau) :

wifitest.png

Maintenant nous allons établir la connexion au point d’accès via l’outil wpa_supplicant :

sudo wpa_supplicant -B -i "votre_interface_wifi"  -c "chemin_du_fichier_de_configuration"

Attention, il se peut que le terminal vous renvoie ce message :

errorsupplicant.png

Cela veut dire que wpa_supplicant fonctionne déjà. Pas de panique, il suffit de kill le process :

sudo pkill wpa_supplicant

et de relancer la commande précédente, pour que la connexion s’établisse correctement :

successfulwpa.png

Dernière chose à faire, demander une adresse IP au serveur DHCP via la commande suivante :

sudo dhcpcd "votre_interface_wifi"

dhcpcd.png

A partir de maintenant vous devriez avoir une adresse IP :

ipaddrr.png

Et donc vous êtes connectés 😃😃 !

4/ Se connecter via le WPS

Pour se connecter via WPS il suffit d’utiliser l’outil wpa_cli:

wpa_cli wps_pbc "adresse_MAC_de_votre_point_d'accès"

L’outil wpa_cli va se mettre en écoute, il ne vous restera plus qu’à appuyer sur le bouton WPS situé sur votre box pour que la connexion s’établisse. Enfin, demandez une adresse IP via l’outil DHCPCD :

sudo dhcpcd "votre_interface_wifi"

5/ Se connecter via port Ethernet

Pour le port Ethernet il n’y a rien à faire en soi. Tout fonctionnera nativement. En revanche il risque d’y avoir des problèmes de conflit entre l’Ethernet et le Wi-Fi si vous êtes à la fois connecté sur un AP et en filaire. Dans le pire des cas, killez le process wpa_supplicant à l’aide de cette commande :

sudo pkill wpa_supplicant

Pour que seul votre Ethernet soit pris en compte


Voilà pour la partie configuration. Seul bémol, c’est long à faire, notamment la partie pour la WPA. Il ne faudra pas hésiter à créer des alias afin de se simplifier la vie. Par exemple on pourrait créer cette alias :

alias wifimaison = "sudo pkill wpa_supplicant; wpa_supplicant -B -i wlp2s0 -c /home/defte/.config/wifi/wifi_MAISON; dhcpcd wlp2s0"

Avec ça vous pourrez lancer vos scripts de connexion au réseau via WPA en une seule commande 😉😉 !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s