Labs OpenWRT

1. Matériel nécessaire

1.1. TL-WR841ND

TP-Link TL-WR841ND
Figure 2 : TP-Link TL-WR841ND

Pages officielles

Il existe plusieurs versions du matériel, ce qui implique plusieurs versions du firmware pour un même modèle. On peut encore trouver aujourd'hui des versions 8, 9, 10 et 11. Voici les caractéristiques de ce matériel :

  • Processeur : AR9341 (v8), QCA9533-AL3A (v9, v10 et v11) cadencés entre 535 et 560 MHz
  • Flash : 4 Mo
  • RAM : 32 Mo
  • Wireless 802.11bgn
  • Switch Ethernet (différent v8/v9) avec 5 ports 100 Mbps

Autant de services supportés sur un système de fichiers de 4 Mo est remarquable !

On observe sur ce matériel :

  • 5 ports Ethernet 10/100 Mbps
  • deux antennes Wi-Fi qui étendent une interface de réseau sans fil
  • un bouton On/Off
  • un bouton reset

Aussi d'un point de vue logique, voici l'agencement des interfaces :

  • 4 ports LAN : Switch0 eth0
  • 1 port WAN eth1
  • Interface Wi-Fi wlan0
  • LAN : Pont (bridge) VLAN x + Wi-Fi br-lan

Ce matériel vieillissant est donc limité à 4 Mo de Flash et 32 Mo de RAM. Openwrt a publié un avis sur cette situation : 4/32 warning.

On proposera des alternatives matérielles pour ce lab telles que :

  • TP-Link TL-WR810N
  • TP-Link TL-WDR3600
  • Gl.Inet AR300M
  • ou encore tout autre matériel supporté dans la liste OpenWRT Table of Hardware

En 2016, on proposera le TL-WR810N, un modèle d'expérimentation plus compact, plus performant et bon marché.

TP-Link TL-WR810N
Figure 3 : TP-Link TL-WR810N

De la même époque, mis à jour en 5 GHz et en Gigabit Ethernet, avec 128 Mo de RAM et 8 Mo de Flash, le TP-Link TL-WDR3600 :

TP-Link TL-WDR3600
Figure 4 : TP-Link TL-WDR3600
  • https://openwrt.org/fr/toh/tp-link/tl-wdr3600
  • Architecture: MIPS MIPS 74Kc
  • Vendor: Qualcomm Atheros
  • bootloader: U-Boot
  • System-On-Chip: AR9344 (MIPS)
  • CPU/Speed 560 MHz
  • Flash-Chip: Spansion FL064KIF docs
  • Flash size: 8192 KiB
  • RAM: 128 MiB
  • Wireless No1: Atheros AR9340 2.4GHz 802.11bgn
  • Wireless No2: Atheros AR9582 5GHz 802.11an
  • switch: Atheros AR8327N Gigabit Switch
  • USB: Yes 2 x 2.0 (GL850G chip - 4 ports capable)

Gl.Inet AR300M

Mieux encore le mini-routeur Gl.Inet AR300M qui est une plateforme qui embarque nativement OpenWRT.

  • https://www.gl-inet.com/docs/mini/ar300m/
  • Atheros 9531 650Mhz CPU
  • Wireless 802.11bgn
  • Dual Flash: 16MB Nor + 128MB Nand
  • 128MB DDR2 RAM
  • UART, PCIe, USB-A Interfaces
  • Alimentation USB Female Micro-B 5V 1W, 3.3V
  • Dimension/poids 585825mm, 39g
  • Bootloader: uBoot
  • WI1 antenna connector: U.FL, RP-SMA
  • ETH chip1: Qualcomm Atheros QCA9531

Gl.Inet AR300M Gl.Inet AR300M Gl.Inet AR300M

1.2. Logiciels Console/Telnet/SSH

  • putty.exe
  • pscp.exe
  • plink.exe
  • WinSCP

1.3. Images OpenWrt pour TL-WR841ND

  • Versions Trunk ou Stable
  • Images Factory ou Sysupgrade

TL-WR841N(D) v8

TL-WR841N(D) v9

TL-WR841N(D) v10

TL-WR841N(D) v11

1.4. Mise-à-jour vers OpenWRT

Cette étape est nécessaire uniquement pour passer du système TP-LINK vers un système OpenWRT. L'image utilisée est l'image factory qui est une image compilée pour le flasheur de bootloader ou le logiciel de flash d'origine.

Soit le matériel est neuf, soit on a procédé à la restauration du logiciel original (https://openwrt.org/toh/tp-link/tl-wr841nd#go_back_to_original_firmware).

Objectif

Remplacer le firmware TP-Link original par celui d’OpenWRT (version Trunk ou Stable) et réaliser une configuration minimale. L’activité peut prendre 30 minutes. L’intérêt est de manipuler le matériel réseau avec un OS ouvert, évolutif, stable et facile à prendre en main.

Matériel nécessaire

  • une station de travail
  • une connexion Internet
  • un routeur TL-841ND v9.0
  • le firmware correpsondant (image Factory)

Procédure

Etape 1 : Identification de la version du matériel

Vérifier la version Hardware au verso du matériel.

Etape 2 : Connectique et démarrage

  • Connectique : connexion de la station de travail à un port LAN (jaune) et l’Internet sur le port WAN (bleu).
  • Allumer le routeur.
  • Le routeur offrira par défaut des adresses IP dans la plage 192.168.0.0/24 sur son interface LAN.

Etape 3 : Mise à jour

Mise à jour du firmware. Le routeur est accessible par défaut en HTTP sur l’adresse 192.168.0.1.

  • Ouvrir un navigateur Web et se rendre à l’adresse http://192.168.0.1/ (admin:admin)
  • Aller dans le menu System Tools/Firmware Upgrade, choisir le fichier du firmware et appuyer sur le bouton “Upgrade”.
  • Patienter plusieurs minutes le temps du redémarrage.

Etape 4 : Installation de l'interface graphique

Après la mise à jour, le routeur dispose d’une nouvelle adresse IPv4 en 192.168.1.1. L’adresse de la station de travail a changé également de manière dynamique.

Pour installer l’interface graphique.

  • A partir de la station de travail, se connecter avec le logiciel putty en Telnet sur l’adresse du routeur 192.168.1.1
  • Mettre à jour la liste des paquetages : opkg update
  • Installer l’interface Web graphique : opkg install luci
  • Lancer le serveur Web à chaque redémarrage : /etc/init.d/uhttpd enable
  • Démarrer le serveur Web : /etc/init.d/uhttpd start

Etape 5 : Interface Web

Accéder au routeur via l'interface désormais à l'écoute sur la nouvelle adresse http://192.168.1.1/

2. Remise à zéro

2.1. Démarrage en mode sans échec

Cette opération permet de reprendre la main sur le routeur en le démarrant en mode sans échec (Failsafe boot).

OpenWrt possède un mode de démarrage sans échec interne qui essaye de contourner tous les paramètres de configuration en faveur de quelques paramètres inscrits en dur dans le code. Une fois entré dans ce mode, le routeur devient accessible à l'adresse 192.168.1.1/24 (même si la configuration est fixée à une autre valeur) avec seulement les services essentiels qui fonctionnent. Depuis cet état (démarrage sans échec), vous pouvez vous reconnecter via telnet (à l'adresse 192.168.1.1) et régler certains problèmes.

Sources et compléments : http://openwrt.org/fr/doc/howto/generic.failsafe

  1. Eteindre le routeur
  2. Déconnecter la connexion “Wan” du routeur
  3. Connecter le PC à un port “Lan” du routeur
  4. Maintenir sont doigt sur le bouton reset pendant plus de 30 secondes en rebranchant l’alimentation, la dernière diode clignote rapidement

2.2. Remise à zéro de la configuration

En réalité, le système lui-même est présent sur une partition en lecture seule. Toute modification ou ajout au firmware original est enregistré dans une partition “rootfs_data”. “mtd” est le logiciel qui permet d’agir sur des disques Flash.

Sources et compléments : http://openwrt.org/fr/doc/techref/flash.layout

  1. (Fixer l’adresse IP de l’interface du PC à 192.168.1.2/24)
  2. Lancer un telnet 192.168.1.1 et lire le message d’accueil ? Quelle est l’information importante à retenir ?
  3. Effacer la configuration : mtd -r erase rootfs_data

3. Mise-à-jour du système en version stable

La dernière version stable est déjà compilée avec l’interface graphique. On devra se passer d’une interface graphique avec la version Trunk téléchargée.

Sources et compléments :

3.1. Placer le dernier firmware sur le routeur

Deux options sont disponibles :

  • Avec une connexion Internet, à partir du routeur
  • En transférant le fichier du firmware par SSH

Première Option

Directement à partir du routeur avec vérification d’intégrité (connexion WAN nécessaire), veuillez adapter les URLs :

  1. Lancer un telnet 192.168.1.1
  2. se rendre dans le dossier /tmp : cd /tmp
  3. Télécharger le dernier firmware : par exemple, wget http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin
  4. Télécharger la somme de contrôle MD5 :wget http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/md5sums
  5. Lancer la vérification : md5sum -c md5sums 2> /dev/null | grep OK

Seconde Option

En SSH/SCP à partir d’une station de travail Windows.

  • Sur le routeur, activer SSH en changeant le mot de passe (de de l’utilisateur root) : passwd
  • Sortie de la session telnet : exit
  • Installer pscp.exe sur son pc (Equivalent Linux scp) ou via WinSCP (client graphique)
  • placer le firmware sur le routeur en une seule ligne : pscp -scp openwrt-*-sysupgrade.bin root@192.168.1.1:/tmp/

3.2. Mise à jour du firmware OpenWRT

Exécution de la commande : sysupgrade -v /tmp/openwrt-*-sysupgrade.bin

4. Vérification du réseau

Sources et compléments : http://openwrt.org/doc/uci/network

4.1. Vérification des interfaces

ifconfig -a
  • Quelles sont les interfaces ?
  • Leur état
  • Leur adresse IPv4
  • Leurs adresses IPv6
  • Leur usage/type

4.2. Analyse de la table de routage IPv4

route

4.3. Analyse de la table de routage IPv6

route -A inet6

4.4. Vérification du trajet à travers l'Internet

traceroute www.google.com

4.5. On peut aussi procéder à un ping stratégique

ping www.google.com

ping 8.8.8.8

ping 192.168.1.1

4.6. Vérification DNS

Résolveur de nom :

cat /etc/resolv.conf

cat /tmp/resolv.conf.auto

Résolution de nom :

nslookup www.google.com

4.7. Redémarrage du réseau

/etc/init.d/network restart

4.8. Configuration TCP/IP du noyau

cat /etc/sysctl.conf

5. Fichiers de configuration

5.1. Services

ps

top

ps | grep uhttpd

ps | grep dropbear

5.2. Liste des fichiers

ls -l /etc/config/
  • dhcp : service DHCP/DHCPv6
  • dropbear : service SSH
  • firewall : service firewall Netfilter
  • luci : application graphique
  • network : interfaces TCP/IP
  • system : système ()
  • ubootenv : démarrage
  • ucitrack : correspondance entre UCI et les services
  • uhttpd : service WEB
  • wireless : interfaces wi-fi

5.3. Lire le contenu d’un fichier avec le programme cat

cat /etc/config/wireless

5.4. Lire le contenu d’un fichier avec le programme less

less /etc/config/network

5.5. Faire une copie d’un fichier

Copie d'un fichier texte avec cat :

cat /etc/config/network > /etc/config/network.old
ls -l /etc/config/net*

Plus simplement copier avec la commande cp :

cp /etc/config/wireless  /etc/config/wireless.old
ls -l /etc/config/wi*

6. Configuration de la passerelle

Le but de l'exercice est de monter une passerelle OpenWRT selon le modèle présenté ci-dessus.

Les tâches consistent à configurer et activer différents services :

  • Activer un service sécurisé d'accès distant
  • Activer l'adressage IP côté LAN et côté WAN
  • Vérifier le routage
  • Vérifier les services IP
    • DHCP
    • Neighbor Discovery IPv6
    • DHCPv6
    • DNS
    • Firewall

6.1. Activation de SSH

passwd

6.2. Configuration de l’interface br-lan en bash

cat /etc/config/network | grep '192.168.1.1'

Changement de l’adresse de 192.168.1.1 en 192.168.8.1 :

sed -i "s/1\.1/8\.1/g" /etc/config/network

Vérification

cat /etc/config/network | grep '192.168.8.1'

Prendre en compte les changements d’interface

reboot

6.3. Configuration des paramètres système

  • Hostname : LAB-XXXXXX
  • Timezone : Europe/Brussels
  • NTP list server : 0.be.pool.ntp.org

Écrire dans un fichier avec vi

vi /etc/config/system

Installation et usage de nano

date; df -h | head -n 2
opkg update
date; df -h | head -n 2
opkg install nano
date; df -h | head -n 2
nano /etc/config/system

6.4. Modification du port HTTP d’administration (commandes UCI)

On peut aussi configurer tout le système via des commandes uci (voir https://openwrt.org/doc/uci#command_line_utility)

uci set uhttpd.main.listen_http=8080
uci commit uhttpd
/etc/init.d/uhttpd restart
netstat -antp | grep 8080
grep 8080 /etc/config/uhttpd

7. Examen de l’interface graphique

7.1. Redémarrage

Pour que tous ces paramètres soient pris en compte, il est certainement nécessaire de redémarrer le périphérique.

7.2. Accès Web

L’interface graphique est désormais accessible via un navigateur Web sur l’URL http://LAB-XXXXXX:8080/

7.3. Menu Status

  • Aperçu général : Overview
  • Routes
  • Table ARP
  • Routes IPv4
  • Routes IPv6
  • System logs
  • Kernel logs
  • Real Times Graphs
    • Charge
    • Trafic
    • Sans-fil
    • Connexions

7.4. Menu System

  • System Properties
    • Hostname : RXXX
    • Timezone : Europe/Brussels
    • NTP client
    • NTP server
    • 0.be.pool.ntp.org
    • Logging Syslog
  • Administration : régler SSH
  • Password (désactiver Telnet/activer SSH)
  • Software : installation de logiciels supplémentaires
  • Startup : vérifier les services au démarrage
  • Scheduled Tasks
  • LED Configuration
  • Flash operations
    • Backup / Restore configuration
    • Flash new firmware image en gardant ou non la configuration
    • reboot

7.5. Menu Network

Interfaces

  • Statut, démarrage, édition
  • Intégrer une nouvelle interface
  • Préfixe IPv6 ULA

Wifi

Switch

DHCP et DNS

Hostnames

Static routes

Firewall

  • Vérification des paramètres de zone

Diagnostics

8. Activités étendues

results matching ""

    No results matching ""