« Routeurs Wi-Fi/Tutoriel TP-Link Archer C50 » : différence entre les versions
(Tuto initial) |
(Explication du besoin de passer par TFTP) |
||
Ligne 20 : | Ligne 20 : | ||
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs. | Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs. | ||
== Le hic == | |||
Il existe depuis l'interface GUI de TP-Link un endroit où l'on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d'OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l'on ne peut pas directement fournir l'image d'OpenWRT depuis cette interface car '''cela va très probablement briquer le routeur'''. | |||
Il faut donc procéder autrement, et l'on va donc utiliser le protocole TFTP pour pouvoir fournir notre image au routeur. | |||
Cependant, si le Wiki de votre modèle indique que vous pouvez le faire, cela vous permet a priori de passer directement à la partie [[#Hello, OpenWRT world]]. | |||
Dans tous les cas, les liens suivants pourront vous être utiles en complément : | |||
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions] | |||
* Autre tutoriel qui a servi a l'élaboration de celui ci. Certains phases sont identiques et il y a d'autres compléments d'informations [[Routeurs Wi-Fi/Tutoriel]] | |||
== Préparation == | == Préparation == |
Version du 8 avril 2022 à 16:46
Avertissements
Avertissement technique
Modèle de routeur. Le système que vous vous apprêtez à installer n'est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec le routeur TP-Link C50 ou TP-Link AC1200, versions 4 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . D'autres versions peuvent être compatibles mais n'ont pas été testées.
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d'openwrt http://openwrt.org/
qui contient entre autres la liste des modèles compatibles. IL faut prendre des modèles avec suffisament de RAM pour que cela fonctionne et compatible avec des versions récentes d'openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).
Méthode de connexion. Pour configurer le routeur vous allez devoir vous y connecter. Pour cela brancher un câble ethernet à votre PC et sur un port orange du routeur (pensez aussi à brancher préalablement le routeur).
Avertissement juridique
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l'École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec vos identifiants.
En particulier, puisque vous avez parfaitement le droit de partager votre connexion Wi-Fi avec qui bon vous semble, souvenez-vous que toute personne connectée à votre Wi-Fi est sous votre responsabilité.
Principe
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs.
Le hic
Il existe depuis l'interface GUI de TP-Link un endroit où l'on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d'OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l'on ne peut pas directement fournir l'image d'OpenWRT depuis cette interface car cela va très probablement briquer le routeur.
Il faut donc procéder autrement, et l'on va donc utiliser le protocole TFTP pour pouvoir fournir notre image au routeur.
Cependant, si le Wiki de votre modèle indique que vous pouvez le faire, cela vous permet a priori de passer directement à la partie #Hello, OpenWRT world.
Dans tous les cas, les liens suivants pourront vous être utiles en complément :
- Page officielle pour le modèle Archer C50 [1]
- Autre tutoriel qui a servi a l'élaboration de celui ci. Certains phases sont identiques et il y a d'autres compléments d'informations Routeurs Wi-Fi/Tutoriel
Préparation
Pour pouvoir commencer, il va falloir créer votre propre image à flasher sur le système. Les instructions qui suivent sont calquées sur https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions. Récupérez l'image TP-link depuis le site officiel qui devra être nommée tpl.bin, et celle d'OpenWRT nommée tmp.bin et placez les dans un répertoire commun. Exécutez alors les instructions suivantes, depuis un terminal ouvert dans ce répertoire :
dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 dd if=tpl.bin of=tmp.bin bs=131584 count=1 dd if=tmp.bin of=boot.bin bs=512 skip=1 cat boot.bin >> tp_recovery.bin
Ce sera l'image tp_recovery.bin qui vient d'être créée qui nous intéressera par la suite.
Procédure TFTP
Comme indiqué sur le site OpenWRT, il faut maintenant déterminer si le routeur est client ou serveur TFTP. Dans le cas du C50, en regardant sur la page wiki, on voit des informations concernant Bootloader tftp server IPv4 address ce qui nous indique (contrairement à ce qu'on aurait pu penser) que le routeur sera client et le PC sera serveur.
Pour la suite, le lien suivant peut être d'une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4
Sur Windows, installer ce logiciel (https://pjo2.github.io/tftpd64/) avec les options par défaut. Si faisable, prendre un switch et connecter votre PC au switch, et le routeur (éteint) au switch via un de ses ports orange (le 1 par exemple). Depuis l'interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d'abord que vous avez désactivé 802.1x (et ne pas oublier de le remettre après pour se connecter à Eduroam !) et utilisez une adresse IP statique, qui sera celle indiquée sur le Wiki d'OpenWRT comme étant Bootloader tftp server IPv4 address (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer Current Directory pour être le répertoire dans lequel tp_recovery.bin
est situé. Cliquez sur Show dir pour vérifier qu'il fait bien partie de la liste des fichiers présents. Ouvrez l'onglet de Log. C'est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d'appuyer sur un bouton supplémentaire.
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu'à ce que la LED WPS soit allumée.
Le transfert devrait alors démarrer (et durer normalement quelques secondes, normalement attendez 15min, en vrai au bout de qq minutes il faut mieux se poser des questions). Utilisez l'onglet de log pour vérifier que le fichier a bien été transféré.
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :
atftp 192.168.0.66 get tp_recovery.bin
Qui devrait retourner sans erreur.
Hello, OpenWRT world
Préalables
Routeur connecté à Internet
Heureusement tout n'en pas encore terminé. Une fois le routeur réinitialisé et redemarré, connectez-y vous par cable Ethernet (ou par le Wifi ouvert OpenWRT qui apparait et est une bonne indication que le routeur est effectivement réinitialisé).
Le routeur va avoir besoin d'Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l'adresse 192.168.1.1). Connectez-vous alors à votre réseau dans allant dans Network, Scan et sélectionnant le bon Wifi. C'est essentiel d'avoir une bonne connexion, et cela peut être à l'origine de nombreuses erreurs par la suite (de paquets non trouvés par exemple). Vérifiez donc la connexion avec un ping, ou depuis l'onglet Diagnostics de la GUI.
Paquet wpa-supplicant installé
Connectez-vous par SSH au routeur avec :
ssh root@192.168.1.1
Mettez à jour les packets, avec opkg update ou depuis le web GUI (disponible sur 192.168.1.1 mdp root) System > Software et Run update. Puis on va vouloir installer wpa-supplicant (et pas applicant, faites pas l'erreur comme moi). Pour cela il va surement falloir désinstaller un autre paquet qui gêne, pour enfin instlaller le bon. Et installez nano au passage (sauf si vim vous suffit).
opkg uninstall wpad-basic-wolfssl opkg install wpa-supplicant opkg install nano
Configuration d'Ethernet
Ensuite configurez votre connexion en éditant :
nano /etc/config/wpa.conf
Et en insérant le texte suivant :
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=root ap_scan=0 network={ key_mgmt=IEEE8021X eap=TTLS identity="prénom.nom@polytechnique.fr" anonymous_identity="anonymous@polytechnique.fr" password="xxxxx" phase1="auth=TTLS" phase2="auth=PAP" }
En changeant identity et password en conséquence.
On va maintenant tenter de se connecter.
wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf
Si cela échoue,
- Regardez avec ifconfig quel port il vaut mieux utiliser, c'est peut-être eth1 chez vous.
- Vérifiez vos identifiants de connexion en cas d'erreur de certificat
Si la commande précédente donne CTRL-EVENT-CONNECTED, c'est bon vous pouvez continuer.
On va maintenant changer un autre fichier pour configurer le démarrage auto :
opkg install nano nano /etc/init.d/wpa
avec le contenu :
#!/bin/sh /etc/rc.common # Copyright (C) 2007 OpenWrt.org START=99 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf & }
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l'étape précédente (en particulier le eth0.2)
Rendre si besoin le fichier executable avec chmod +x /etc/init.d/wpa
Activation du démarrage auto :
/etc/init.d/wpa start
Si retourne sans erreur : OK
Puis:
/etc/init.d/wpa enable
En faisant Ctrl+C si besoin.
Paquet Hostapd
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.
Depuis la GUI web :
- Aller dans System > Software
- Run Update
- Filter: rechercher hostapd
- Install
- Dismiss
Depuis un terminal en ssh, doit être :
opkg install hostapd
S'il ne connaît pas hostapd, mettez à jour la liste des paquets.
Config wifi
On va maintenant créer une nouvelle configuration Wifi :
# uci set wireless.@wifi-device[0].disabled=0 # uci set wireless.@wifi-iface[0].ssid='NOM_DU_WIFI' # uci set wireless.@wifi-iface[0].encryption='psk2' # uci set wireless.@wifi-iface[0].key='MOT-DE-PASSE' # uci set wireless.@wifi-device[0].country='FR' # uci commit wireless; wifi
En changeant ssid et key en conséquence.
Redémarrer, vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !
Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED
Lancer wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B
, et depuis l'interface graphique, restart eth0.