« Routeurs Wi-Fi/Tutoriel » : différence entre les versions

De WikiBR
(lien vers page temporaire)
(Nouvelle page de tutoriel pour les routeurs wifi.)
Ligne 1 : Ligne 1 :
{{Obsolète|La configuration des routeurs est en cours de développement. Des informations supplémentaires seront bientôt disponibles. Une version temporaire et incomplète est disponible sur [http://www.neze.fr/routeurs cette page].}}


La première chose à savoir c'est que les routeurs Wi-Fi personnels dans les caserts sont interdits par la DSI.
{{Travaux|Pour toute remarque ou demande, contacter clement.durand[at]polytechnique.edu.}}


Le 802.1X présent sur le réseau filaire des casert est incompatible avec la quasi-totalité des firmwares installés de base sur les routeurs Wi-Fi. Il faut donc réinstaller un autre système d'exploitation (OpenWRT) sur votre routeur.
== Avertissements ==


=== Installer OpenWRT ===
Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent ''avant'' de faire quoi que ce soit (y compris avant d'acheter un routeur au hasard). Cela vous évitera des erreurs stupides qui vous feront perdre du temps.
Avant d'aller l'acheter, vérifiez que le modèle de votre choix est compatible avec OpenWRT : [http://wiki.openwrt.org/toh/start liste des modèles compatibles]


Cliquez ensuite sur le lien correspondant au modèle de votre routeur : pour le TP-Link TL-WR-841n c'est [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd http://wiki.openwrt.org/toh/tp-link/tl-wr841nd].
=== Avertissement technique ===


Dans cet exemple, il faut télécharger
'''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 841N''' ou '''TP-Link 841ND''', versions 10 et 11 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . ''Aucune autre version n'est prise en charge par ce tutoriel.''
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/
Notez que l'architecture est donc '''ar71xx'''.


La procédure d'installation est détaillée dans la section « Installation ».
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d'openwrt {{c|http://openwrt.org/}} qui contient entre autres la liste des modèles compatibles.


=== Installer wpa_supplicant ===
'''Méthode de connexion.''' Pour configurer le routeur vous allez devoir vous y connecter. Assurez-vous d'utiliser une connexion ethernet (filaire) et ''surtout pas'' une connexion Wi-Fi car pendant la configuration le Wi-Fi va se désactiver.


Quand OpenWRT est installé,
=== Avertissement juridique ===
* connecter votre ordinateur au routeur. Il n'aura plus internet. Ne connectez pas encore votre routeur à la prise du casert.
* Redémarrez le routeur.
* se connecter dans votre navigateur sur [http://192.168.1.1 http://192.168.1.1]. Utilisateur: root mot de passe vide. Modifier le mot de passe root à votre convenance.
* se connecter ensuite en ssh sur le routeur :
ssh root@192.168.1.1
Vérifiez que vous pouvez vraiment vous connecter, puis créez un fichier {{c|/etc/wpa_supplicant/polytechnique.conf}}
mkdir /etc/wpa_supplicant
vim /etc/wpa_supplicant/polytechnique.conf
Le contenu du fichier doit être de la forme :
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
ap_scan=0
network={
  key_mgmt=IEEE8021X
  eap=TTLS
  identity="TON IDENTIFIANT ENEX (prenom.nom)"
  password="TON MDP LDAP/DSI/ENEX"
  phase1="auth=TTLS"
  phase2="auth=PAP"
}
Enregistrer.


Les version récentes de wpa_supplicant ont ajouté une mesure de sécurité qui les empêchent de se connecter au réseau de l'X.
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''.
* Supprimer la version récente et minimaliste (sans support WPA2 entreprise) de wpa_supplicant
opkg remove --autoremove wpad-mini
* Installer une version plus ancienne (antérieure à avril 2014):
** Allez ici : [https://downloads.openwrt.org/attitude_adjustment/12.09/ https://downloads.openwrt.org/attitude_adjustment/12.09/] (il faudra vous reconnecter à internet)
** Cliquez sur le lien correspondant à votre architecture : ici '''ar71xx'''
** Cliquez sur '''generic'''
** Cliquer sur '''packages'''
** Téléchargez un fichier de la forme {{c|wpad....}} mais pas {{c|wpad-mini}}, en cas de doute prendre la plus '''ancienne''' version disponible (antérieure à avril 2014). Dans notre exemple : wpad_20120910-1_ar71xx.ipk
* Se reconnecter au routeur
scp path/to/wpad_20120910-1_ar71xx.ipk root@192.168.1.1:/tmp
* En ssh sur le routeur :
cd /tmp
opkg install wpad_20120910-1_ar71xx.ipk  #''chemin à adapter''
* Fermer la connexion
* Brancher le routeur à la prise du casert en faisant attention de mettre le cable dans le bon port.
* Aller sur l'interface [http://192.168.1.1 http://192.168.1.1].
* Dans la barre de menu Network > Interface
* Attendre que sur la ligne WAN, une ipv4 apparaisse (en 192.168....)
* Notez le nom de l'interface de WAN (typiquement ethX : dans notre exemple eth0)
* En ssh sur le routeur :
wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i eth0 #''adapter le nom de l'interface''
* Si le message suivant apparaît :
TLSv1: Reject under 768-bit DH prime (insecure; only 512 bits)
votre version de wpa_supplicant est trop récente. Désinstallez-ce :
opkg remove wpad
et recommencez à « Installer une version plus ancienne (antérieure à avril 2014) »
* Le message signalant le succès est :
CTRL-EVENT-CONNECTED
* Appuyez sur CTRL+C


=== Démarrage automatique de wpa_supplicant ===
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é.
* Créer un fichier {{c|/etc/init.d/wpa}} :
#!/bin/sh /etc/rc.common
START=70
start () {
    wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i NOM_DE_L_INTERFACE &
    sleep 10
    udhcpc NOM_DE_L_INTERFACE &
}
* Le rendre exécutable :
chmod +x /etc/init.d/wpa
* Activer le démarrage automatique :
/etc/init.d/wpa enable


* redémarrer et prier.
== Principe ==


=== Activation du wifi ===
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.
* Dans '''Network>Wifi''' cliquer sur '''Edit'''
* Changer le ESSID (nom du réseau wifi)
* Pour le paramètre '''Wireless Security''' choisir '''WPA2-PSK'''. En face de '''Key''' entrez le mot de passe souhaité pour le réseau wifi.  
* Dans l'onglet '''Advanced Settings''' régler '''Country Code''' à '''France'''
* Cliquer sur '''Save and apply'''
* Dans '''Network>Wifi''' cliquer sur '''Enable'''
* Redémarrer le routeur


=== Domaines de recherche ===
== Préparation ==
En ssh, éditer {{c|/etc/config/dhcp}}. Dans la section {{c|config dnsmasq}}, ajouter ou modifier les clauses suivantes :
 
        option domain 'eleves.polytechnique.fr'
=== Linux ===
        option domain 'polytechnique.fr'
 
        option add_local_domain '1'
Dans le cas des systèmes UNIX, la préparation est assez rapide car les outils sont déjà installés.
 
==== Terminal ====
 
Pour faire la configuration il vous faudra être capable d'accéder à votre terminal. Pour la plupart des systèmes on peut le lancer avec {{c|ctrl+alt+T}} ou en cherchant « terminal » dans le menu principal.
 
==== SSH et SCP ====
 
Vous aurez besoin d'un client {{c|ssh}} (par défaut installé sous linux) :
 
  $ sudo apt-get install openssh-client
 
La commande {{c|ssh}} permet ensuite de se connecter à distance et de façon sécurisée à un terminal.
 
La commande {{c|scp}}, fournie par le même paquet, permet de transférer des fichiers avec le même protocole.
 
==== Configuration réseau ====
 
Pour vous connecter au routeur il vous faudra créer un nouveau profil de configuration ethernet selon les paramètres suivants :
 
[[Image:routeurs-settings-eth-linux.jpg|500px]]
 
==== Récupération ====
 
Pour pouvoir récupérer une erreur commise avec votre routeur, il faut tout d'abord installer un serveur ssh :
 
  $ sudo apt-get install openssh-server
  $ sudo service ssh start
 
Vous aurez ensuite besoin d'un nouveau profil de connexion réseau qui vous permettra de réaliser la remise à zéro du routeur :
 
[[Image:routeurs-settings-eth0-linux.jpg|500px]]
 
=== MacOS ===
 
==== Terminal ====
 
La console de MacOS est accessible via une application appelée '''Terminal'''. Vous la trouverez dans le dossier « Utilitaires » du dossier « Applications ». Elle vous permettra de taper les commandes nécessaires.
 
==== SSH et SCP ====
 
Le programme {{c|ssh}} est en général installé sur MacOS X, et permet de se connecter à distance à d'autres ordinateurs (en l'occurrence au routeur).
 
Il en est de même pour {{c|scp}} qui est destiné au transfert de fichiers.
 
==== Configuration réseau ====
 
Pour pouvoir se connecter facilement au routeur le plus simple est de créer un nouveau profil de configuration :
 
[[Image:routeurs-settings-eth-1-mac.jpg|500px]]
 
[[Image:routeurs-settings-eth-2-mac.jpg|500px]]
 
=== Windows ===
 
==== Terminal ====
 
Sous Windows le terminal n'est pas vraiment utilisable, et il est beaucoup plus compliqué de réaliser les étapes qui vont suivre. Si toutefois vous souhaitez continuer, installez les outils suivants.
 
==== SSH et SCP ====
 
Pour se connecter au routeur, nous utiliserons le protocole {{c|ssh}} via le logiciel '''PuTTY''', disponible sur internet gratuitement.
 
Pour transférer des fichiers avec le même protocole, il est possible d'utiliser '''Filezilla''' ou '''WinSCP''', sachant que WinSCP est légèrement plus transparent. Ces logiciels sont eux aussi disponibles gratuitement en ligne.
 
==== Configuration réseau ====
 
Il vous faudra aussi configurer votre connexion réseau en '''DHCP''', sans la sécurité '''802.1X''', et de préférence avec les bons serveurs '''DNS'''. Si vous ne l'avez jamais fait, renseignez-vous sur le wikibr ou tout autre site décrivant la configuration réseau sous Windows.
 
== Outils ==
 
Les opérations décrites ci-dessous sont réalisables avec Windows en utilisant les logiciels conseillés et non le terminal. Il faudra donc adapter les informations qui suivent pour paramétrer les logiciels.
 
=== SSH ===
 
Le logiciel {{c|ssh}}, pour '''S'''ecure'''SH'''ell, est utilisé pour se connecter à distance (depuis votre ordinateur) à un terminal (shell) d'un autre ordinateur (ici le routeur). La syntaxe de la commande est simple :
 
  $ ssh -p<port> <user>@<host>
 
Par exemple pour connecter l'utilisateur {{c|jean}} au serveur {{c|serveur.net}} à travers le port {{c|22}} (C'est en fait le port par défaut pour {{c|ssh}}.) , cela donne :
 
  $ ssh -p22 jean@serveur.net
  $ ssh jean@serveur.net
 
=== SCP ===
 
Le logiciel {{c|scp}}, pour '''S'''ecure'''C'''o'''P'''y, permet de transférer des fichiers en utilisant le protocole de {{c|ssh}}. La syntaxe de la commande est plus compliquée :
 
  $ scp -P<port> <source1> <source2> ... <sourceN> <destination>
    # <source>/<destination> = <user>@<host>:<file>
 
Voici quelques exemples pour mieux comprendre, en utilisant le port par défaut :
 
  $ scp polytechnique.conf firmware.bin root@192.168.1.1:/tmp
  # copier deux fichiers du dossier courant vers le dossier temporaire du routeur
  $ scp jean@ordi-de-jean:firmware.bin /tmp/
  # copier depuis l'ordi de jean vers le routeur quand je suis dans le terminal du routeur
 
=== Terminal ===
 
Dans le terminal de votre ordinateur nous n'utiliserons que '''ssh''' et '''scp''' (C'est d'ailleurs pourquoi il suffit de deux logiciels supplémentaires sous Windows.) . En revanche nous utiliserons beaucoup le terminal du routeur, qui ressemblera à ceci :
 
  neze@neze ~$ ssh root@192.168.1.1
  The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
  RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
  root@192.168.1.1's password: # ici le password n'apparaîtra pas
   
   
  BusyBox v1.23.2 (2015-11-17 16:24:55 CET) built-in shell (ash)
   
    _______                    ________        __
  |      |.-----.-----.-----.|  |  |  |.----.|  |_
  |  -  ||  _  |  -__|    ||  |  |  ||  _||  _|
  |_______||  __|_____|__|__||________||__|  |____|
            |__| W I R E L E S S  F R E E D O M
  -----------------------------------------------------
  CHAOS CALMER (Chaos Calmer, r47466)
  -----------------------------------------------------
    * 1 1/2 oz Gin            Shake with a glassful
    * 1/4 oz Triple Sec      of broken ice and pour
    * 3/4 oz Lime Juice      unstrained into a goblet.
    * 1 1/2 oz Orange Juice
    * 1 tsp. Grenadine Syrup
  -----------------------------------------------------
  root@OpenWrt:~#
 
== Installation ==
 
Cette section est destinée à décrire l'installation du système '''OpenWRT''' sur un des deux routeurs traités. Plusieurs fichiers vous sont proposés. En général avant de l'installer il faut renommer un fichier.
 
=== Installer OpenWRT sur le routeur ===
 
Pour installer '''OpenWRT''' il faut d'abord préparer le fichier que vous allez mettre dans le routeur, qui est une version d'OpenWRT prévue pour le v10 et v11 et modifiée pour l'École polytechnique. Les informations sur ce fichier incluent aussi des sommes de contrôle si vous voulez vérifier que le fichier est le bon.
 
  '''Nom:''' openwrt-15.05.1-ar71xx-generic-tl-wr841n-v10-squashfs-factory.bin
  (md5)    06179235c8986228ea0c545d6d69df8b
  (sha1)    2cb2add10678f3a7b6a05c3e1fb8afde90d53306
  (sha256)  ae6fc60d2cefb4f99f8eaa1cddda4621147dcf6250e23665cda24ee7cf78c032
   
  [[Fichier:routeurs-openwrtv1011modifie.zip]]
 
Il faut commencer par renommer votre fichier pour qu'il corresponde à votre routeur, suivant le schéma suivant :
 
  wr841nv10_wr841ndv10_en_3_16_9_up(150310).bin # tl841n v10
  wr841nv11_wr841ndv11_en_3_16_9_up(150616).bin # tl841n v11
 
Ouvrez ensuite, avec votre navigateur web, la page de configuration du routeur. Son adresse est
<tt>http://192.168.1.1/</tt> ou <tt>http://192.168.0.1/</tt>
et il vous faut parfois désactiver le proxy pour y accéder.
 
[[Image:routeurs-tp-link-page.jpg|500px]]
 
Il faut ensuite se connecter à l'interface (nom d'utilisateur {{c|admin}}, même mot de passe), puis accéder à l'onglet '''System > Firmware Upgrade'''. Dans cette fenêtre vous pouvez sélectionner votre fichier ''bien renommé'', puis cliquer sur Upgrade et confirmer.
 
OpenWRT va être installé sur le routeur qui va ensuite redémarrer.
 
== Configuration ==
 
=== Accès SSH ===
 
Actuellement le routeur n'a pas de mot de passe administrateur, ce qui empêche d'utiliser {{c|ssh}} pour s'y connecter.
 
==== Méthode principale ====
 
Ouvrez la page de configuration du routeur à l'adresse
<tt>http://192.168.1.1/</tt>
 
[[Image:routeurs-openwrt-page-norootpass.jpg|500px]]
 
Il faut se connecter, puis cliquer sur le lien « set root password » et enfin utiliser le bouton « Save & Apply » en bas de la page.
 
==== Méthode de secours ====
 
Dans certains cas vous n'avez pas accès à l'interface web du routeur. On peut dans ce cas utiliser {{c|telnet}} et la commande {{c|passwd}} lorsque l'on dispose d'un terminal :
 
  neze@neze ~ $ telnet 192.168.1.1
  Trying 192.168.1.1...
  Connected to 192.168.1.1.
  Escape character is '^]'.
  === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
  ------------------------------------------
  BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)
    _______                    ________        __
  |      |.-----.-----.-----.|  |  |  |.----.|  |_
  |  -  ||  _  |  -__|    ||  |  |  ||  _||  _|
  |_______||  __|_____|__|__||________||__|  |____|
            |__| W I R E L E S S  F R E E D O M
  -----------------------------------------------------
  CHAOS CALMER (15.05.1, r48532)
  -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec      of broken ice and pour
  * 3/4 oz Lime Juice      unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
  -----------------------------------------------------
  root@OpenWrt:/# passwd
  Changing password for root
  New password:
  Retype password:
  Password for root changed by root
  root@OpenWrt:/#
 
Vous verrez par ailleurs que si vous essayez d'utiliser cette procédure après avoir mis un mot de passe, l'accès vous sera refusé car il n'était pas sécurisé :
 
  neze@neze ~ $ telnet 192.168.1.1
  Trying 192.168.1.1...
  Connected to 192.168.1.1.
  Escape character is '^]'.
  Login failed.
  Connection closed by foreign host.
 
''À ce stade vous avez un routeur qui fonctionne presque (À la configuration du proxy près.)  sur un réseau standard (pas celui de l'École polytechnique) et qui n'émet pas de wifi. Toutes les configurations suivantes sont facultatives et permettent d'ajouter des fonctions au routeur. Certaines sont nécessaires pour que le routeur fonctionne à l'École.''
 
=== Donner l'accès internet au routeur ===
 
Pour que le routeur fonctionne à l'École, il faut qu'il soit branché à la prise de votre casert via la prise bleue du routeur. Il faut ensuite le configurer pour qu'il ait accès à internet.
 
==== 802.1X ====
 
Dans la plupart des caserts de l'X, la sécurité est 802.1X (celle qui demande une authentification). Pour la configurer il faut mettre vos identifiants enex dans le routeur.
 
* Connectez-vous au routeur via ssh.
 
  ssh root@192.168.1.1
 
* Éditez le fichier de configuration de '''wpa'''.
 
  vim /etc/wpa_supplicant/polytechnique.conf
 
''Pour éditer le fichier : la touche '''i''' vous permet de passer en mode insertion de texte pour mettre vos identifiants et mots de passe, puis '''Echap''' vous fait repasser en mode normal, et enfin les touches ''':x''' vous permettent d'enregistrer et quitter le fichier.''
* Testez la configuration. Votre routeur doit être branché à internet.
 
  wpa_supplicant -D wired -i eth1
  -c /etc/wpa_supplicant/polytechnique.conf
 
''Si vous voyez le texte '''CTRL-EVENT-CONNECTED''' c'est bon, vous pouvez interrompre avec '''Ctrl+C''' et continuer la configuration.''
* Activez le démarrage automatique.
 
  /etc/init.d/wpa enable
 
Configuration de {{c|wpa-supplicant}} :
 
  neze@neze ~ $ ssh root@192.168.1.1
  root@192.168.1.1's password:
    _______                    ________        __
  |      |.-----.-----.-----.|  |  |  |.----.|  |_
  |  -  ||  _  |  -__|    ||  |  |  ||  _||  _|
  |_______||  __|_____|__|__||________||__|  |____|
            |__| W I R E L E S S  F R E E D O M
  -----------------------------------------------------
  root@OpenWrt:~# vim /etc/wpa_supplicant/polytechnique.conf
  root@OpenWrt:~# wpa_supplicant
                      -c /etc/wpa_supplicant/polytechnique.conf
                      -D wired -i eth1
  Successfully initialized wpa_supplicant
  eth1: Associated with 01:80:c2:00:00:03
  WMM AC: Missing IEs
  eth1: CTRL-EVENT-EAP-STARTED EAP authentication started
  eth1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21
  eth1: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 21 (TTLS) selected
  TLSv1: you should reject under 768-bit DH prime (insecure; only 512 bits)
  eth1: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
  eth1: CTRL-EVENT-CONNECTED - Connection to **:**:**:**:**:** completed [id=0 id_str=]
  ^Ceth1: CTRL-EVENT-DISCONNECTED bssid=**:**:**:**:**:** reason=3 locally_generated=1
  eth1: CTRL-EVENT-TERMINATING
  root@OpenWrt:~# vim /etc/init.d/wpa
  root@OpenWrt:~# /etc/init.d/wpa enable
  root@OpenWrt:~#
 
Fichier de configuration de {{c|wpa-supplicant}} pour l'École polytechnique :
 
  ctrl_interface=/var/run/wpa_supplicant
  ctrl_interface_group=root
  ap_scan=0
  network={
    key_mgmt=IEEE8021X
    eap=TTLS
    identity="clement.durand"
    password="motdepasse"
    phase1="auth=TTLS"
    phase2="auth=PAP"
  }
 
==== IP fixe ====
 
Si votre configuration est en IP fixe, ouvrez l'interface web d'OpenWRT. Dans l'onglet '''Network > Interfaces''', cliquez sur le bouton '''Edit''' de l'interface '''WAN''', changez le protocole en « statique », confirmez en cliquant sur '''Switch protocol''' puis remplissez les trois champs « IPv4 address, IPv4 netmask, IPv4 gateway ». Enfin, rajoutez les serveurs dns {{c|129.104.201.53}} et {{c|129.104.201.51}}.
 
[[Image:routeurs-openwrt-ipf-gui.jpg|500px]]
 
Si vous n'avez pas accès à l'interface web, connectez vous en ssh au routeur puis tapez les commandes suivantes, en adaptant évidemment les valeurs de l'adresse IP, du masque de sous-réseau et de la passerelle par défaut.
 
  root@OpenWrt:~# uci set network.wan.proto='static'
  root@OpenWrt:~# uci set network.wan.ipaddr='129.104.222.109'
  root@OpenWrt:~# uci set network.wan.netmask='255.255.255.0'
  root@OpenWrt:~# uci set network.wan.gateway='129.104.222.254'
  root@OpenWrt:~# uci set network.wan.dns='129.104.201.53 129.104.201.51'
  root@OpenWrt:~# uci commit network
  root@OpenWrt:~#
 
=== Réglages proxy ===
 
''Si vous n'avez pas de proxy, cette section est tout de même importante !''
 
==== Enlever les réglages de proxy ====
 
Si vous n'utilisez pas de proxy, il va falloir effacer les règles de proxy. Le plus simple est de taper la commande (connecté en '''ssh''' au routeur) :
 
  root@OpenWrt:~# sed -i 's/^/#/' /etc/firewall.user
 
==== Rendre le proxy transparent ====
 
Si au contraire vous voulez pouvoir utiliser votre routeur dans un réseau qui a un proxy (comme à l'École), il faut activer la gestion du proxy :
 
  root@OpenWrt:~# /etc/init.d/redsocks enable
 
=== Réglages Wi-Fi ===
 
Cette section vous permettra de mettre en place un réseau wifi avec une sécurité correcte et aux normes françaises.
 
==== Première méthode ====
 
Depuis la page d'interface web du routeur, faites vos réglages wifi dans l'onglet '''Network > Wifi''' :
 
* '''Sécurité''' WPA2 PSK
* '''Nom de réseau''' au choix
* '''Mot de passe''' au choix, plus de 8 caractères
* '''Pays''' France
 
[[Image:routeurs-openwrt-wifi-gui-1.jpg|500px]]
 
[[Image:routeurs-openwrt-wifi-gui-2.jpg|500px]]
 
[[Image:routeurs-openwrt-wifi-gui-3.jpg|500px]]
 
Pensez aussi à utiliser le bouton d'activation du wifi pour que le réseau soit activé.
 
[[Image:routeurs-openwrt-wifi-gui-4.jpg|500px]]
 
==== Seconde méthode (préférée) ====
 
L'utilisation du terminal d'OpenWRT évite certaines erreurs de l'interface web. Connectez-vous au routeur en '''SSH''' et suivez la procédure ci-dessous en adaptant à votre choix de nom de réseau et mot de passe wifi.
 
'''Attention :''' votre mot de passe doit faire plus de 8 caractères, sans quoi le réseau wifi ne démarrera jamais.
 
  root@OpenWrt:~# uci set wireless.@wifi-device[0].disabled=0
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].ssid='MON-RESEAU-WIFI'
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].encryption='psk2'
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].key='MOT-DE-PASSE'
  root@OpenWrt:~# uci set wireless.@wifi-device[0].country='FR'
  root@OpenWrt:~# uci commit wireless; wifi
  root@OpenWrt:~#
 
== Fonctionnalités supplémentaires ==
 
== Récupération, problèmes ==
 
Il se peut, après certaines mauvaises manipulations, que le routeur ne soit plus accessible, que l'interface web disparaisse, que vous ayez des messages d'erreurs intempestifs vous empêchant de le configurer, etc.
 
  root@OpenWrt:~# touch test
  touch: test: Read-only file system
  root@OpenWrt:~#
 
Il faut dans ce cas effectuer une opération de récupération du routeur, dont la description est faite avec Linux dans ce document (Il est assez simple de l'adapter pour un Mac, beaucoup plus compliqué pour Windows.) . Vous aurez besoin d'un profil de configuration réseau « IP fixe », décrit page \pageref{ipfixe}.
 
* Récupérez le fichier d'openwrt correspondant à votre routeur, et copiez-le dans le répertoire de votre choix (dans notre cas il sera dans {{c|~/firmware.bin}}).
* Redémarrez votre routeur.
 
Au moment où le voyant « cadenas » commence à clignoter, enfoncez le bouton '''reset''' (derrière le routeur) jusqu'à ce que le voyant clignote beaucoup plus rapidement.
* Branchez votre routeur à l'ordinateur et passez dans le profil de configuration IP fixe, puis ouvrez un terminal et exécutez la procédure ci-dessous.
 
  neze@neze ~ $ md5sum firmware.bin
  06179235c8986228ea0c545d6d69df8b  firmware.bin
  neze@neze ~ $ telnet 192.168.1.1
  Trying 192.168.1.1...
  Connected to 192.168.1.1.
  Escape character is '^]'.
    ...
  ================= FAILSAFE MODE active ================
    ...
  =======================================================
   
  root@(none):/# mount_root
  root@(none):/# cd /tmp
  root@(none):/tmp# scp neze@192.168.1.22:firmware.bin ./
  Do you want to continue connecting? (y/n) y
  neze@192.168.1.22's password:
  firmware.bin              100
  root@(none):/tmp# mtd -r write firmware.bin firmware
  Unlocking firmware ...
   
  Writing from firmware.bin to firmware ... [w]
  Rebooting ...

Version du 21 mai 2016 à 19:45

Project.png Page en travaux. Les informations pourraient être incomplètes voire erronnées.
Pour toute remarque ou demande, contacter clement.durand[at]polytechnique.edu.
Project.png

Avertissements

Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent avant de faire quoi que ce soit (y compris avant d'acheter un routeur au hasard). Cela vous évitera des erreurs stupides qui vous feront perdre du temps.

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 841N ou TP-Link 841ND, versions 10 et 11 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . Aucune autre version n'est prise en charge par ce tutoriel.

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.

Méthode de connexion. Pour configurer le routeur vous allez devoir vous y connecter. Assurez-vous d'utiliser une connexion ethernet (filaire) et surtout pas une connexion Wi-Fi car pendant la configuration le Wi-Fi va se désactiver.

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.

Préparation

Linux

Dans le cas des systèmes UNIX, la préparation est assez rapide car les outils sont déjà installés.

Terminal

Pour faire la configuration il vous faudra être capable d'accéder à votre terminal. Pour la plupart des systèmes on peut le lancer avec ctrl+alt+T ou en cherchant « terminal » dans le menu principal.

SSH et SCP

Vous aurez besoin d'un client ssh (par défaut installé sous linux) :

 $ sudo apt-get install openssh-client

La commande ssh permet ensuite de se connecter à distance et de façon sécurisée à un terminal.

La commande scp, fournie par le même paquet, permet de transférer des fichiers avec le même protocole.

Configuration réseau

Pour vous connecter au routeur il vous faudra créer un nouveau profil de configuration ethernet selon les paramètres suivants :

Routeurs-settings-eth-linux.jpg

Récupération

Pour pouvoir récupérer une erreur commise avec votre routeur, il faut tout d'abord installer un serveur ssh :

 $ sudo apt-get install openssh-server
 $ sudo service ssh start

Vous aurez ensuite besoin d'un nouveau profil de connexion réseau qui vous permettra de réaliser la remise à zéro du routeur :

Routeurs-settings-eth0-linux.jpg

MacOS

Terminal

La console de MacOS est accessible via une application appelée Terminal. Vous la trouverez dans le dossier « Utilitaires » du dossier « Applications ». Elle vous permettra de taper les commandes nécessaires.

SSH et SCP

Le programme ssh est en général installé sur MacOS X, et permet de se connecter à distance à d'autres ordinateurs (en l'occurrence au routeur).

Il en est de même pour scp qui est destiné au transfert de fichiers.

Configuration réseau

Pour pouvoir se connecter facilement au routeur le plus simple est de créer un nouveau profil de configuration :

Routeurs-settings-eth-1-mac.jpg

Routeurs-settings-eth-2-mac.jpg

Windows

Terminal

Sous Windows le terminal n'est pas vraiment utilisable, et il est beaucoup plus compliqué de réaliser les étapes qui vont suivre. Si toutefois vous souhaitez continuer, installez les outils suivants.

SSH et SCP

Pour se connecter au routeur, nous utiliserons le protocole ssh via le logiciel PuTTY, disponible sur internet gratuitement.

Pour transférer des fichiers avec le même protocole, il est possible d'utiliser Filezilla ou WinSCP, sachant que WinSCP est légèrement plus transparent. Ces logiciels sont eux aussi disponibles gratuitement en ligne.

Configuration réseau

Il vous faudra aussi configurer votre connexion réseau en DHCP, sans la sécurité 802.1X, et de préférence avec les bons serveurs DNS. Si vous ne l'avez jamais fait, renseignez-vous sur le wikibr ou tout autre site décrivant la configuration réseau sous Windows.

Outils

Les opérations décrites ci-dessous sont réalisables avec Windows en utilisant les logiciels conseillés et non le terminal. Il faudra donc adapter les informations qui suivent pour paramétrer les logiciels.

SSH

Le logiciel ssh, pour SecureSHell, est utilisé pour se connecter à distance (depuis votre ordinateur) à un terminal (shell) d'un autre ordinateur (ici le routeur). La syntaxe de la commande est simple :

 $ ssh -p<port> <user>@<host>

Par exemple pour connecter l'utilisateur jean au serveur serveur.net à travers le port 22 (C'est en fait le port par défaut pour ssh.) , cela donne :

 $ ssh -p22 jean@serveur.net
 $ ssh jean@serveur.net

SCP

Le logiciel scp, pour SecureCoPy, permet de transférer des fichiers en utilisant le protocole de ssh. La syntaxe de la commande est plus compliquée :

 $ scp -P<port> <source1> <source2> ... <sourceN> <destination>
   # <source>/<destination> = <user>@<host>:<file>

Voici quelques exemples pour mieux comprendre, en utilisant le port par défaut :

 $ scp polytechnique.conf firmware.bin root@192.168.1.1:/tmp
 # copier deux fichiers du dossier courant vers le dossier temporaire du routeur
 $ scp jean@ordi-de-jean:firmware.bin /tmp/
 # copier depuis l'ordi de jean vers le routeur quand je suis dans le terminal du routeur

Terminal

Dans le terminal de votre ordinateur nous n'utiliserons que ssh et scp (C'est d'ailleurs pourquoi il suffit de deux logiciels supplémentaires sous Windows.) . En revanche nous utiliserons beaucoup le terminal du routeur, qui ressemblera à ceci :

 neze@neze ~$ ssh root@192.168.1.1
 The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
 RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
 root@192.168.1.1's password: # ici le password n'apparaîtra pas
  
  
 BusyBox v1.23.2 (2015-11-17 16:24:55 CET) built-in shell (ash)
  
   _______                     ________        __
  |       |.-----.-----.-----.|  |  |  |.----.|  |_
  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
  |_______||   __|_____|__|__||________||__|  |____|
           |__| W I R E L E S S   F R E E D O M
  -----------------------------------------------------
  CHAOS CALMER (Chaos Calmer, r47466)
  -----------------------------------------------------
   * 1 1/2 oz Gin            Shake with a glassful
   * 1/4 oz Triple Sec       of broken ice and pour
   * 3/4 oz Lime Juice       unstrained into a goblet.
   * 1 1/2 oz Orange Juice
   * 1 tsp. Grenadine Syrup
  -----------------------------------------------------
 root@OpenWrt:~#

Installation

Cette section est destinée à décrire l'installation du système OpenWRT sur un des deux routeurs traités. Plusieurs fichiers vous sont proposés. En général avant de l'installer il faut renommer un fichier.

Installer OpenWRT sur le routeur

Pour installer OpenWRT il faut d'abord préparer le fichier que vous allez mettre dans le routeur, qui est une version d'OpenWRT prévue pour le v10 et v11 et modifiée pour l'École polytechnique. Les informations sur ce fichier incluent aussi des sommes de contrôle si vous voulez vérifier que le fichier est le bon.

 Nom: openwrt-15.05.1-ar71xx-generic-tl-wr841n-v10-squashfs-factory.bin
 (md5)     06179235c8986228ea0c545d6d69df8b
 (sha1)    2cb2add10678f3a7b6a05c3e1fb8afde90d53306
 (sha256)  ae6fc60d2cefb4f99f8eaa1cddda4621147dcf6250e23665cda24ee7cf78c032
  
 Fichier:Routeurs-openwrtv1011modifie.zip

Il faut commencer par renommer votre fichier pour qu'il corresponde à votre routeur, suivant le schéma suivant :

 wr841nv10_wr841ndv10_en_3_16_9_up(150310).bin # tl841n v10
 wr841nv11_wr841ndv11_en_3_16_9_up(150616).bin # tl841n v11

Ouvrez ensuite, avec votre navigateur web, la page de configuration du routeur. Son adresse est

http://192.168.1.1/ ou http://192.168.0.1/ 

et il vous faut parfois désactiver le proxy pour y accéder.

Routeurs-tp-link-page.jpg

Il faut ensuite se connecter à l'interface (nom d'utilisateur admin, même mot de passe), puis accéder à l'onglet System > Firmware Upgrade. Dans cette fenêtre vous pouvez sélectionner votre fichier bien renommé, puis cliquer sur Upgrade et confirmer.

OpenWRT va être installé sur le routeur qui va ensuite redémarrer.

Configuration

Accès SSH

Actuellement le routeur n'a pas de mot de passe administrateur, ce qui empêche d'utiliser ssh pour s'y connecter.

Méthode principale

Ouvrez la page de configuration du routeur à l'adresse

http://192.168.1.1/ 

Routeurs-openwrt-page-norootpass.jpg

Il faut se connecter, puis cliquer sur le lien « set root password » et enfin utiliser le bouton « Save & Apply » en bas de la page.

Méthode de secours

Dans certains cas vous n'avez pas accès à l'interface web du routeur. On peut dans ce cas utiliser telnet et la commande passwd lorsque l'on dispose d'un terminal :

 neze@neze ~ $ telnet 192.168.1.1
 Trying 192.168.1.1...
 Connected to 192.168.1.1.
 Escape character is '^]'.
 === IMPORTANT ============================
 Use 'passwd' to set your login password
 this will disable telnet and enable SSH
 ------------------------------------------
 BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)
   _______                     ________        __
  |       |.-----.-----.-----.|  |  |  |.----.|  |_
  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
  |_______||   __|_____|__|__||________||__|  |____|
           |__| W I R E L E S S   F R E E D O M
  -----------------------------------------------------
  CHAOS CALMER (15.05.1, r48532)
  -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
  -----------------------------------------------------
 root@OpenWrt:/# passwd
 Changing password for root
 New password:
 Retype password:
 Password for root changed by root
 root@OpenWrt:/#

Vous verrez par ailleurs que si vous essayez d'utiliser cette procédure après avoir mis un mot de passe, l'accès vous sera refusé car il n'était pas sécurisé :

 neze@neze ~ $ telnet 192.168.1.1
 Trying 192.168.1.1...
 Connected to 192.168.1.1.
 Escape character is '^]'.
 Login failed.
 Connection closed by foreign host.

À ce stade vous avez un routeur qui fonctionne presque (À la configuration du proxy près.) sur un réseau standard (pas celui de l'École polytechnique) et qui n'émet pas de wifi. Toutes les configurations suivantes sont facultatives et permettent d'ajouter des fonctions au routeur. Certaines sont nécessaires pour que le routeur fonctionne à l'École.

Donner l'accès internet au routeur

Pour que le routeur fonctionne à l'École, il faut qu'il soit branché à la prise de votre casert via la prise bleue du routeur. Il faut ensuite le configurer pour qu'il ait accès à internet.

802.1X

Dans la plupart des caserts de l'X, la sécurité est 802.1X (celle qui demande une authentification). Pour la configurer il faut mettre vos identifiants enex dans le routeur.

  • Connectez-vous au routeur via ssh.
 ssh root@192.168.1.1
  • Éditez le fichier de configuration de wpa.
 vim /etc/wpa_supplicant/polytechnique.conf

Pour éditer le fichier : la touche i vous permet de passer en mode insertion de texte pour mettre vos identifiants et mots de passe, puis Echap vous fait repasser en mode normal, et enfin les touches :x vous permettent d'enregistrer et quitter le fichier.

  • Testez la configuration. Votre routeur doit être branché à internet.
 wpa_supplicant -D wired -i eth1
 -c /etc/wpa_supplicant/polytechnique.conf

Si vous voyez le texte CTRL-EVENT-CONNECTED c'est bon, vous pouvez interrompre avec Ctrl+C et continuer la configuration.

  • Activez le démarrage automatique.
 /etc/init.d/wpa enable

Configuration de wpa-supplicant :

 neze@neze ~ $ ssh root@192.168.1.1
 root@192.168.1.1's password:
   _______                     ________        __
  |       |.-----.-----.-----.|  |  |  |.----.|  |_
  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
  |_______||   __|_____|__|__||________||__|  |____|
           |__| W I R E L E S S   F R E E D O M
  -----------------------------------------------------
 root@OpenWrt:~# vim /etc/wpa_supplicant/polytechnique.conf
 root@OpenWrt:~# wpa_supplicant
                      -c /etc/wpa_supplicant/polytechnique.conf
                      -D wired -i eth1
 Successfully initialized wpa_supplicant
 eth1: Associated with 01:80:c2:00:00:03
 WMM AC: Missing IEs
 eth1: CTRL-EVENT-EAP-STARTED EAP authentication started
 eth1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21
 eth1: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 21 (TTLS) selected
 TLSv1: you should reject under 768-bit DH prime (insecure; only 512 bits)
 eth1: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
 eth1: CTRL-EVENT-CONNECTED - Connection to **:**:**:**:**:** completed [id=0 id_str=]
 ^Ceth1: CTRL-EVENT-DISCONNECTED bssid=**:**:**:**:**:** reason=3 locally_generated=1
 eth1: CTRL-EVENT-TERMINATING 
 root@OpenWrt:~# vim /etc/init.d/wpa
 root@OpenWrt:~# /etc/init.d/wpa enable
 root@OpenWrt:~#

Fichier de configuration de wpa-supplicant pour l'École polytechnique :

 ctrl_interface=/var/run/wpa_supplicant
 ctrl_interface_group=root
 ap_scan=0
 network={
   key_mgmt=IEEE8021X
   eap=TTLS
   identity="clement.durand"
   password="motdepasse"
   phase1="auth=TTLS"
   phase2="auth=PAP"
 }

IP fixe

Si votre configuration est en IP fixe, ouvrez l'interface web d'OpenWRT. Dans l'onglet Network > Interfaces, cliquez sur le bouton Edit de l'interface WAN, changez le protocole en « statique », confirmez en cliquant sur Switch protocol puis remplissez les trois champs « IPv4 address, IPv4 netmask, IPv4 gateway ». Enfin, rajoutez les serveurs dns 129.104.201.53 et 129.104.201.51.

Routeurs-openwrt-ipf-gui.jpg

Si vous n'avez pas accès à l'interface web, connectez vous en ssh au routeur puis tapez les commandes suivantes, en adaptant évidemment les valeurs de l'adresse IP, du masque de sous-réseau et de la passerelle par défaut.

 root@OpenWrt:~# uci set network.wan.proto='static'
 root@OpenWrt:~# uci set network.wan.ipaddr='129.104.222.109'
 root@OpenWrt:~# uci set network.wan.netmask='255.255.255.0'
 root@OpenWrt:~# uci set network.wan.gateway='129.104.222.254'
 root@OpenWrt:~# uci set network.wan.dns='129.104.201.53 129.104.201.51'
 root@OpenWrt:~# uci commit network
 root@OpenWrt:~#

Réglages proxy

Si vous n'avez pas de proxy, cette section est tout de même importante !

Enlever les réglages de proxy

Si vous n'utilisez pas de proxy, il va falloir effacer les règles de proxy. Le plus simple est de taper la commande (connecté en ssh au routeur) :

 root@OpenWrt:~# sed -i 's/^/#/' /etc/firewall.user

Rendre le proxy transparent

Si au contraire vous voulez pouvoir utiliser votre routeur dans un réseau qui a un proxy (comme à l'École), il faut activer la gestion du proxy :

 root@OpenWrt:~# /etc/init.d/redsocks enable

Réglages Wi-Fi

Cette section vous permettra de mettre en place un réseau wifi avec une sécurité correcte et aux normes françaises.

Première méthode

Depuis la page d'interface web du routeur, faites vos réglages wifi dans l'onglet Network > Wifi :

  • Sécurité WPA2 PSK
  • Nom de réseau au choix
  • Mot de passe au choix, plus de 8 caractères
  • Pays France

Routeurs-openwrt-wifi-gui-1.jpg

Routeurs-openwrt-wifi-gui-2.jpg

Routeurs-openwrt-wifi-gui-3.jpg

Pensez aussi à utiliser le bouton d'activation du wifi pour que le réseau soit activé.

Routeurs-openwrt-wifi-gui-4.jpg

Seconde méthode (préférée)

L'utilisation du terminal d'OpenWRT évite certaines erreurs de l'interface web. Connectez-vous au routeur en SSH et suivez la procédure ci-dessous en adaptant à votre choix de nom de réseau et mot de passe wifi.

Attention : votre mot de passe doit faire plus de 8 caractères, sans quoi le réseau wifi ne démarrera jamais.

 root@OpenWrt:~# uci set wireless.@wifi-device[0].disabled=0
 root@OpenWrt:~# uci set wireless.@wifi-iface[0].ssid='MON-RESEAU-WIFI'
 root@OpenWrt:~# uci set wireless.@wifi-iface[0].encryption='psk2'
 root@OpenWrt:~# uci set wireless.@wifi-iface[0].key='MOT-DE-PASSE'
 root@OpenWrt:~# uci set wireless.@wifi-device[0].country='FR'
 root@OpenWrt:~# uci commit wireless; wifi
 root@OpenWrt:~#

Fonctionnalités supplémentaires

Récupération, problèmes

Il se peut, après certaines mauvaises manipulations, que le routeur ne soit plus accessible, que l'interface web disparaisse, que vous ayez des messages d'erreurs intempestifs vous empêchant de le configurer, etc.

 root@OpenWrt:~# touch test
 touch: test: Read-only file system
 root@OpenWrt:~#

Il faut dans ce cas effectuer une opération de récupération du routeur, dont la description est faite avec Linux dans ce document (Il est assez simple de l'adapter pour un Mac, beaucoup plus compliqué pour Windows.) . Vous aurez besoin d'un profil de configuration réseau « IP fixe », décrit page \pageref{ipfixe}.

  • Récupérez le fichier d'openwrt correspondant à votre routeur, et copiez-le dans le répertoire de votre choix (dans notre cas il sera dans ~/firmware.bin).
  • Redémarrez votre routeur.

Au moment où le voyant « cadenas » commence à clignoter, enfoncez le bouton reset (derrière le routeur) jusqu'à ce que le voyant clignote beaucoup plus rapidement.

  • Branchez votre routeur à l'ordinateur et passez dans le profil de configuration IP fixe, puis ouvrez un terminal et exécutez la procédure ci-dessous.
 neze@neze ~ $ md5sum firmware.bin
 06179235c8986228ea0c545d6d69df8b  firmware.bin
 neze@neze ~ $ telnet 192.168.1.1
 Trying 192.168.1.1...
 Connected to 192.168.1.1.
 Escape character is '^]'.
   ...
 ================= FAILSAFE MODE active ================
   ...
 =======================================================
  
 root@(none):/# mount_root
 root@(none):/# cd /tmp
 root@(none):/tmp# scp neze@192.168.1.22:firmware.bin ./
 Do you want to continue connecting? (y/n) y
 neze@192.168.1.22's password:
 firmware.bin              100
 root@(none):/tmp# mtd -r write firmware.bin firmware
 Unlocking firmware ...
  
 Writing from firmware.bin to firmware ... [w]
 Rebooting ...