Routeur opensource avec OpenWRT

 

Premier article d'une petite série concernant la mise en place d'un routeur réseau avec un système de gestion libre OpenWRT.

Prérequis

Mon besoin est de mettre en place un routeur réseau qui gère les fonctions suivantes :

  • gestion d'un réseau local
  • DHCP
  • firewall
  • DNS
  • load balancing entre deux connexions ADSL
  • Wifi
  • VPN
  • WOL
  • VLAN
  • faible consommation électrique
  • switch intégré
  • accès ssh
  • une interface web de management (facultatif mais c'est un plus)

 

Le matériel

La première étape consiste à choisir le matériel qui va servir de routeur. On peut prendre l'option d'un vieux PC sur lequel on installerait un système d'exploitation et toute une série de logiciels, il faudrait cependant plusieurs cartes réseau, une carte wifi pour répondre aux besoins.

J'ai donc pris l'option d'acheter un routeur du commerce. J'ai opté pour le modèle suivant : TP-Link N600, modèle TL-WDR3600.

Les caractéristiques principales sont les suivantes :

  • Vitesse sans fil simultané de 300Mbps sur la bande 2.4GHz et 300Mbps sur la bande 5GHz pouvant atteindre une bande passante totale de 600Mbps
  • 2*Ports USB
  • 4 ports Gigabit
  • 1 port WAN
  • alimentation externe 12V

J'ai aussi rajouté un boitier TP-Link Wifi Range Extender pour augmenter la portée du Wifi dans la maison.

NDM : j'aime beaucoup la matériel TP-Link, de bonne qualité à des prix abordables.

 

D'autres matériels peuvent être utilisés, la liste du matériel compatible OpenWRT se trouve ici.

 

OpenWRT

Une fois le matériel choisi il faut choisir un système d'exploitation. Les impératifs sont simples :

  • système opensource
  • système ayant une base documentaire importante
  • système ayant une communauté active

NDM : je me base souvent sur ces trois critères pour choisir mes logiciels.

Le choix a donc été assez rapide, openwrt, une petite citation de wikipedia car rien ne sert de plagier ce qui est déjà bien fait : http://fr.wikipedia.org/wiki/OpenWrt

OpenWrt est une distribution GNU/Linux minimaliste pour matériel embarqué (routeurs, tablettes, téléphones…).

Historiquement développée pour remplacer le firmware des routeurs basés sur des System-on-Chip Broadcom (par exemple les routeurs WLAN d'Asus, Belkin, Dell, Linksys, US Robotics, Viewsonic), OpenWrt fournit une interface Web avec le firmware Whiterussian (webif) et Kamikaze via les projets X-Wrt et LuCI.

 

Installation

Préparer l'installation

Je vais pas trop m'étendre sur l'installation car elle dépend énormément de l'état dans lequel est le routeur.

Si il sort directement d'usine, le firmware openwrt peut-être téléchargé via l'interface du constructeur (RTFM).

Si il à déjà été flashé, il faudra le flashé par une des méthodes disponibles comme par exemple via TFTP.

Je ne peux que conseiller de lire plusieurs liens et forums avant de commencer. Je vous fournis le lien générique à partir duquel commencer vos recherches : http://wiki.openwrt.org/doc/howto/generic.flashing

NDM : je suis passé par une installation via flashing tftp.

 

Le firmware

Ici aussi il faut un peu chercher avant de commencer. Il faut trouver le bon firmware correspondant à votre matériel. Par exemple je suis tombé sur cet article http://wiki.openwrt.org/toh/tp-link/tl-wdr3600 qui correspond à mon matériel et qui m'a donc permis de trouver que mon firmware est le suivant : openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin

 

Premiers pas

Je considère donc que le routeur a été flashé. On le retrouve accessible à l'adresse IP 192.168.1.1. Pour simplifier le début d'installation on va passer par l'interface Web Luci : http://192.168.1.1.

Changer le mot de passe

La première chose fondamentale à faire est de changer le mot de passe d'admin en cliquant sur le lien "Go to password configuration..."

 

System / System

Une fois le mot de passe changé on va modifier les paramétres système de base :

  • hostname : définir un nom d'hôte pour le routeur
  • timezone : Europe/Paris si vous êtes en France
  • ntp : ntp client et si besoins ntp server

 

Network / Interfaces

On va s'intéresser ici à la configuration des réseaux. Pour commencer on a deux réseaux :

  • LAN : le réseau local desservi par les ports du switch
  • WAN : réseau extérieur

Pour info mon réseau ressemble à peu près à ceci

Réseau maisonEn cliquant sur "Edit", on peut modifier les paramètres des différents réseaux.

Par exemple pour mon réseau local :

Paramètres généraux du réseau

On définit ici, l'adresse IP sur le réseau local, le masque et les autres paramètres réseau si nécessaire :

parametres_lan_1

Les interfaces physiques

On attribue les interfaces sur lesquelles le réseau va être disponible (je reviendrai en détails sur les interfaces physiques lors de la mise en place du load balancing de liens ADSL) :

parametres_lan_2

Les paramètres du parefeu

On assigne la zone du firewall qui concerne ce réseau :

parametres_lan_3

Network / Wifi

Pour finir ce premier article on va activer et paramétrer le wifi. L'essentiel à mettre en place est :

  • ESSID : identifiant du réseau
  • la sécurité réseau : au minima WPA-PSK avec une clé de bonne longueur
  • optionnel le filtrage par adresses MAC

 

Conclusion

Nous voilà avec un petit routeur configurable comme nous le voulons sans les limitations des firmware installés par les constructeurs. Par la suite on verra :

  • comment configurer des serveurs des dns externes autres que ceux du FAI
  • comment gérer un dns local
  • comment mettre en place un partage de charge entre plusieurs liens adsl
  • mettre en place un vpn
  • configurer le firewall
  • pourquoi pas mettre en place un media server