Déploiement d applications embarquées sur routeur IP



Documents pareils
La VOIP :Les protocoles H.323 et SIP

OpenMediaVault installation

WGW PBX. Guide de démarrage rapide

Services Réseaux - Couche Application. TODARO Cédric

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Contrôle de la DreamBox à travers un canal SSH

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

DOCUMENTATION VISUALISATION UNIT

Fiche d identité produit

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

[Serveur de déploiement FOG]

Symantec Backup Exec Remote Media Agent for Linux Servers

Partie 2 (Service de téléphonie simple) :

Virtualisation de Windows dans Ubuntu Linux

Répéteur Wi-Fi GUIDE D'INSTALLATION

Augmenter la portée de votre WiFi avec un répéteur

INSTALLATION. Sécurité des Systèmes d'information et de Communication

Préparer, installer puis effectuer la mise en service d'un système. SUJET

But de cette présentation

Le service FTP. M.BOUABID, Page 1 sur 5

Adaptateur de présentation sans fil Manuel de l utilisateur

FreeNAS Shere. Par THOREZ Nicolas

Elle supporte entièrement la gestion de réseau sans fil sous Windows 98SE/ME/2000/XP.

Note de première mise en service. Passerelle ipro-04n. TTPMSiPRO04N R1.0 fr

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

INSTALLATION. Sécurité des Systèmes d'information et de Communication

MANUEL D'INSTALLATION

Installation du SLIS 4.1

SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Movie Cube. Manuel utilisateur pour la fonction sans fil WiFi

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Un peu de vocabulaire

Partager sa connexion Internet via le WiFi avec Windows 8

Session 8: Android File System

TAGREROUT Seyf Allah TMRIM

Voix sur IP Étude d approfondissement Réseaux

CONFIGURATION IP. HESTIA FRANCE S.A.S 2, rue du Zécart TEMPLEUVE +33 (0) (0) Site internet:

INSTALLER UNE BIBLIOBOX

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Serveur d application WebDev

Soutien technique. Contenu de la boîte. Guide d installation du routeur-modem sans fil ADSL2+ N300 DGN2200v4

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

RX3041. Guide d'installation rapide

L exemple d un serveur Proxy sous Windows NT 4 SERVER MICROSOFT PROXY SERVER 2 Installation et configuration Auteur : Eliane Bouillaux SERIA5

Visio Kit. Mode d'emploi

PROCÉDURE D'INSTALLATION

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Routeur Wi-Fi N300 (N300R)

REPETEUR SANS FIL N 300MBPS

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Guide d'utilisation du Serveur USB

TP 2 : ANALYSE DE TRAMES VOIP

Installation et prise en main

Réseaux et protocoles Damien Nouvel

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk

Projet : PcAnywhere et Le contrôle à distance.

L accès à distance du serveur

Serveurs de noms Protocoles HTTP et FTP

Routeur TP-Link Lite-N sans fil 4 Port 150Mbps WiFi (TL-WR741ND) Manuel de l utilisateur

TP 4 & 5 : Administration Windows 2003 Server

Personnes ressources Tice. Académie de Rouen

TUTORIEL INSTALLATION D UNE WENBOX ETHERNET DE WENGO SUR UN MODEM ROUTEUR DG834 G DE NETGEAR

Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE)

SIP. Sommaire. Internet Multimédia


Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

Les commandes relatives aux réseaux

TUTO 15 : Comment ajouter un ordinateur dans le domaine «Ecole»? École Numérique Rurale. 1.Préparation du poste informatique...1

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

CONCEPT de MICRO-DOMOTIQUE. Système STANTOR-DOMODULOR

Leica icon Series. Guide d'installation et d'activation de licence. Version 1.0 Français

IP sans fil / caméra avec fil. Guide d'installation Rapide (Pour Windows OS)

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Stéphanie Lacerte. Document technique. Connextek. 31 mai Cloudtel

Installation d'un serveur DHCP sous Windows 2000 Serveur

SIP A. Aoun - La Visioconférence SIP - 1

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Partager sa connexion Internet via le WiFi avec Windows 8

Raspberry pi : Développer une petite application web sur Raspberry

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows

Couche application. La couche application est la plus élevée du modèle de référence.

GUIDE D INSTALLATION

Une solution opensource d'affichage dynamique - XIBO

Manuel d'installation de DVD MAKER USB2.0

56K Performance Pro Modem

1- Principe général : 2- Architecture réseau pour ToIP : 3 Bilan. Qu est-ce que la VoIP/ToIP? IPBX/Protocoles utilisés

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

TD séance n 2c Mise à jour des Systèmes

Machine virtuelle W4M- Galaxy : Guide d'installation

Projet Administration Réseaux

Routeur Gigabit WiFi AC 1200 Dual Band

Déploiement sécuritaire de la téléphonie IP

Guide de l'utilisateur de l'application mobile

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Transcription:

BOUHOURS Benoit BOURAOUI Sami LARREY Jérémy TRAISSAC Nathanaël Electronique 3 ème Année Option Systèmes Embarqués Déploiement d applications embarquées sur routeur IP Responsable : AHMED Toufik Année 2007/2008

SOMMAIRE : INTRODUCTION... 2 1 Le projet OpenWrt :... 3 1.1 OpenWrt :... 3 1.2 Applications :... 3 1.3 Structure :... 4 1.4 Flasher un routeur avec OpenWrt :... 4 2 Les éléments de base :... 7 1.1 Connexion par ssh :... 7 1.2 Wifi :... 7 1.3 Connexion Internet... 7 1.4 Serveur web:... 7 1.5 Mise en oeuvre de l'interface USB:... 8 3 - Le SIP de notre routeur :... 9 3.1 Le protocole SIP :... 9 3.2 Milkfish :... 10 CONCLUSION... 12 1

INTRODUCTION Un routeur Wifi est conçu pour transporter l information d un nœud à l autre dans un réseau sans fil. Il est doté d un microprocesseur et d un système d exploitation qui est dédié principalement à la réalisation de cette tâche. Avec l avènement de routeurs pouvant intégrer un système d exploitation de type Linux minimal, l usage d un routeur WIFI a pu être étendu à des applications plus appropriées à l utilisateur. Dans le cadre de ce projet, nous nous proposons d intégrer dans un routeur WIFI des applications spécifiques, non disponibles dans le "firmware" d origine. Pour cela, nous avons choisi le routeur ASUS WL-500g Premium, qui a pour particularité la présence de ports USB, et la distribution OpenWrt Kamikaze 7.09, dernière version du firmware OpenWrt, spécialement conçu pour les routeurs. Le but de ce projet est d embarquer, en plus de nouvelles fonctionnalités de base, un support de voix sur IP utilisant le protocole SIP sur le routeur. Une telle fonctionnalité a déjà été implémentée sur la version précédente d OpenWrt (White Russian), et a donc besoin d être adaptée à la nouvelle version. 2

1 Le projet OpenWrt : 1.1 OpenWrt : OpenWrt est une distribution GNU/Linux développée dans le but de remplacer les «firmwares» des équipements de Broadcom. On peut citer par exemple comme plateformes compatibles avec OpenWrt les routeurs WLAN de Linksys, Asus, Belkin, Dell, US Robotics etc. Cependant, les routeurs les plus populaires sont le Linksys WRT54GS et l'asus WL500g deluxe. Le développement d'un tel projet a été possible grâce aux «firmwares» constructeurs sous licence GPL. Utilisés comme base, les développeurs ont pu légalement travailler sur des «firmwares» intégrant des fonctionnalités absentes des «firmwares» d'origine. La dernière version d'openwrt est distribuée sous le nom de Kamikaze 7.09 assurant entre autre une plus grande compatibilité avec les différentes plateformes. 1.2 Applications : Le système d'exploitation basé sur Linux offre un large éventail d'applications à l'utilisateur. Celui ci peut alors utiliser pleinement les ressources du routeur afin de satisfaire son besoin. Parmi les utilisations possibles on peut citer notamment : La conversion du routeur en Hotspot Wifi (c'est le cas des routeurs de la communauté FON faisant office de point d'accès public chez les particuliers). Le partage de fichiers entre plusieurs utilisateurs reliés au routeur. L'hébergement de pages web grâce au serveur web inclus dans la distribution. La possibilité de gérer à distance la diffusion de musique en reliant une carte son au routeur. Les applications de télésurveillance en reliant une Webcam IP au routeur. La gestion de la voix sur IP et de la messagerie instantanée disponibles pour tous les utilisateurs reliés au routeur. etc. Figure 1: Quelques applications d'openwrt 3

1.3 Structure : La distribution OpenWrt est construite autour du noyau Linux 2.4 permettant aux composants matériels du routeur de communiquer avec la couche logicielle. Les applications fonctionnant sur le routeur font appel pour la plupart aux bibliothèques standard C (libc) fournissant les fonctions de base du langage C. Cependant, pour minimiser l'empreinte mémoire du système d'exploitation, OpenWrt repose sur les bibliothèques uclibc moins gourmandes en espace mémoire et particulièrement bien adaptées aux système embarqués. Enfin, la distribution propose en standard l'application Busybox pour rendre son système interactif avec l'utilisateur. En effet, il s'agit un programme unique incorporant un shell (ash) ainsi que la plupart des commandes UNIX classiques comme ls, cd, vi. L'avantage d'avoir un programme unique est toujours l'économie de l'espace mémoire. Figure 2: Structure du firmware 1.4 Flasher un routeur avec OpenWrt : Figure 3: Chaine de compilation et téléchargement 4

Tout d'abord, il faut récupérer l'archive contenant le code source du «firmware» sur le site d'openwrt. Il s'agit d'une archive «tar» compressée que l'on décompresse dans notre répertoire de travail : $ tar xvf kamikaze_7.09.tar.bz2 $ cd kamikaze_7.09 On peut lancer ensuite l'utilitaire de configuration d'openwrt grâce à la commande : $ make menuconfig L'utilitaire de configuration permet de sélectionner les différentes applications fournies par OpenWrt. D'autre part il permet aussi de configurer l'utilitaire Busybox afin de définir les commandes dont l'utilisateur a besoin. Bien que la configuration par défaut fournisse un système opérationnel l'utilisateur a tout intérêt à configurer selon ses besoins afin de minimiser l'empreinte mémoire du système. Une fois la configuration terminée, on peut sortir de l'utilitaire et lancer la compilation : $ make Figure 4: Utilitaire de configuration OpenWrt 5

Une fois la compilation terminée, on dispose des images binaires du «firmware» dans le répertoire "/bin". Il s'agit d'images au format «.trx» ou «.bin» qui vont chacune implémenter un système de fichiers différent sur la mémoire flash du router (squashfs, jffs2 ou ext2). L'utilisateur choisit donc l'image correspondant au système de fichier qu'il souhaite implanter (squashfs pour un système compact en lecture seule ou jffs2/ext2 pour plus de fonctionnalités). La procédure de téléchargement de la nouvelle image s'effectue grâce à un port Ethernet côté LAN sur le routeur et en utilisant le protocole TFTP. Pour flasher un routeur de type Asus WL500g, il faut tout d'abord démarrer celui ci en mode sans échec. Pour démarrer le routeur dans ce mode, il suffit d'établir l'alimentation en maintenant le bouton reset enfoncé. L'adresse IP par défaut du routeur étant 192.168.1.1 les commandes permettant de télécharger l'image sont les suivantes : $ tftp 192.168.1.1 tftp> binary tftp> trace tftp> put openwrt-xxx-x.x-xxx.trx Après cette manipulation, il faut finalement rebooter le router après 5 minutes afin de finaliser l'installation. On peut ensuite accéder au routeur grâce à une commande telnet : $ telnet 192.168.1.1 Figure 5: Accès au shell de Kamikaze 7.09 6

2 Les éléments de base : 1.1 Connexion par ssh : On peut tout d'abord mettre en place un mot de passe pour restreindre l'accès au routeur. Ceci peut être fait grâce à la commande passwd. La connexion au routeur se fera par la suite en utilisant ssh: 1.2 Wifi : ssh -l root 192.168.1.1 Le WIFI est désactivé par défaut sur le routeur ASUS WL 500GP après l'installation de OpenWRT Kamikaze. On a besoin de l'activer pour pouvoir établir la connexion au réseau. Pour cela il faut d'abord modifier le fichier de configuration «/etc/wireless» de la manière suivante: option disabled 0 On peut effectuer la même opération directement en utilisant une commande uci. Ces commandes permettent sous Kamikaze d'accéder directement aux fichiers de configuration de «/etc/config» en lecture et en écriture. uci set wireless.w10.disabled=0 Il faut ensuite taper la commande suivante pour appliquer les modifications apportées: uci commit wireless && wifi La commande uci show wireless permet de vérifier la configuration du WIFI. On peut également utiliser la commande ifconfig pour vérifier la présence de l'interface WIFI. 1.3 Connexion Internet On peut également établir une connexion à Internet à partir du routeur en brancher le câble réseau sur le broche WAN du routeur Ceci peut nous être utile au téléchargement des packages nécessaires pour la suite. 1.4 Serveur web: Dans le système de fichiers de Kamikaze, on remarque la présence d'un répertoire «/www» dans lequel on peut placer des pages html auxquelles on accède depuis un navigateur en tapant l'adresse IP du routeur: http://192.168.1.1 7

1.5 Mise en oeuvre de l'interface USB: Pour pouvoir utiliser les ports USB du routeur, nous avons besoin d'installer certains packages, soit en les téléchargeant directement depuis Internet, ou bien en les transférant par «scp» depuis une autre machine connectée sur le réseau wifi du routeur. Les packages sont disponibles sur: http://downloads.openwrt.org/kamikaze/7.09/brcm- 2.4/packages Nous avons besoin des packages suivants: kmod-fs-vfat_2.4.34-brcm-1_mipsel.ipk : prise en charge du système de fichiers vfat. kmod-scsi-core_2.4.34-brcm-1_mipsel.ipk : nécessaire à l'installation de périphériques. kmod-usb-core_2.4.34-brcm-1_mipsel.ipk kmod-usb-storage_2.4.34-brcm-1_mipsel.ipk kmod-usb2_2.4.34-brcm-1_mipsel.ipk Nécessaires à la prise en charge de périphériques USB Pour installer les packages nous utilisons la commande suivante: ipkg install [nom du package] Une fois les packages installés on a besoin de relancer le système avec la commande : reboot On peut par la suite brancher par exemple un périphérique de stockage USB à l'un des ports du routeur. Pour pouvoir accéder au périphérique, il faut le monter sur le système de fichiers dans /mnt: mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt On peut vérifier si le périphérique est détecté par la commande dmesg, et y accéder dans le répertoire «/mnt». Pour démonter le périphérique, on utilise la commande umount /mnt 8

3 - Le SIP de notre routeur : 3.1 Le protocole SIP : Session Initial Protocol (SIP) est un protocole de communication multimédia standardisé par l IETF (Internet Engineering Task Force) qui a été conçu pour ouvrir, modifier et terminer des sessions entre un ou plusieurs utilisateurs. Ce protocole a été conçu de façon à avoir une implémentation facile et une bonne flexibilité. SIP n est pas destiné, par contre, à être un protocole de communication général. C'està-dire qu il ne transporte aucune donnée multimédia, il ne fait que gérer les sessions entres des utilisateurs. Ce protocole utilise des commandes simples en caractères ASCII, rappelant le protocole HTML, dont les principales sont : INVITE : Demande de début de session avec un autre utilisateur ACK : Confirme l établissement de la session BYE : Termine la session. Les requêtes sont émises à partir d un User Agent, il en existe 2 types les SIP Client User Agent et les SIP Server User Agent, suivant quel est le type du participant. Ces agents permettent d émettre et de recevoir les requêtes. Un exemple d échange standard dans le cas de la voix sur IP (VoIP) est représenté cidessous : Figure 6 : échange standard dans le cas de la voix sur IP (VoIP) 9

Enfin le protocole SIP n étant qu un protocole de contrôle de la couche application dans le modèle ISO, il est totalement indépendant du protocole utilisé pour transporter les données multimédia. En général, pour la voix sur IP par exemple, il s agit de RTP (Real-Time Protocol) en liaison UDP. Afin de supporter le protocole SIP, nous avons étudié puis installé le logiciel Milkfish sur notre routeur. 3.2 Milkfish : De façon à pouvoir utiliser ce protocole sur notre routeur, nous avons implémenté le package Milkfish. Ce package, entièrement compatible avec la distribution OpenWrt, comprend entre autres la prise en charge du protocole SIP, un serveur SIP et un Jabber offrant la possibilité d utiliser la messagerie instantanée. Les paquets à télécharger pour pouvoir installer Milkfish sont : milkfish-sip milkfish-rtpproxy milkfish-openser milkfish-services milkfish-webif Le premier problème que nous avons rencontré est que le développement de Milkfish n a été prévu que pour la distribution «White Russian» de OpenWrt, alors que nous devions utiliser «Kamikaze». De façon à pouvoir étudier ce logiciel nous avons donc commencé par charger le firmware WhiteRussian dans le routeur avec Milkfish. En effet le package était compatible et comprenait une interface web très pratique et assez évoluée. On a pu constater également avec WireShark que le serveur SIP fonctionnait. Après cette étude, nous avons rechargé le firmware Kamikaze pour voir si Milkfish pouvait fonctionner. Il s est avéré que la fonctionnalité de Milkfish était suffisante pour permettre au routeur de supporter le protocole SIP et fournir les applications de ce packages. Seule l interface Web ne fonctionnait pas, du fait de la structure différente du firmware. Il est sûrement possible de l implémenter en effectuant quelques modifications dans les fichiers de configuration de Milkfish, mais le temps ne nous l a pas permis. Nous avons pu ainsi tester la gestion du protocole SIP à travers une connexion en VoIP entre plusieurs ordinateurs. Nous disposions d un ordinateur portable sous Linux (distribution Ubuntu) avec le logiciel de voix sur IP «Linphone» ainsi que d un autre portable sous Windows XP avec le logiciel SJPhone et d un PDA Dell Axim, également avec SJPhone. La communication s est établie sans aucun problème, tout comme le reste du déroulement de la session. Nous avons eu la possibilité de nous enregistrer dans la base de donnée du serveur SIP du routeur et ainsi non plus appelé par une adresse IP mais par le pseudonyme de cette personne. Un exemple d échange est disponible en annexe. Enfin, la possibilité de gérer le protocole SIP nous permet de faire plus que de la voix sur IP, notamment notre routeur pourrait tout à fait être implanté dans le projet HomeSIP (voir illustration page suivante). Ce projet fonctionne entièrement à partir du protocole SIP, le principe est de pouvoir connecter ensemble le maximum d appareils électronique d une maison (électroménager, Internet, ordinateurs, téléphones, Webcam...) afin de pouvoir profiter d un réseau entièrement contrôlable à distance. 10

Figure 7 : Projet HomeSIP Exemple d échange de trames SIP entre le serveur et un participant : REGISTER sip:192.168.1.1 SIP/2.0 Via: SIP/2.0/UDP 192.168.8.146:5060;rport;branch=z9hG4bK1215351527 From: <sip:1111@192.168.8.146>;tag=585294075 To: <sip:1111@192.168.8.146> Call-ID: 803649225@192.168.8.146 CSeq: 7 REGISTER Contact: <sip:1111@192.168.8.146:5060> Max-Forwards: 70 User-Agent: Linphone-1.7.1/eXosip Expires: 0 Content-Length: 0 SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.8.146:5060;rport=5060;branch=z9hG4bK1215351527;received=192.168.1.173 From: <sip:1111@192.168.8.146>;tag=585294075 To: <sip:1111@192.168.8.146>;tag=329cfeaa6ded039da25ff8cbb8668bd2.38f3 Call-ID: 803649225@192.168.8.146 CSeq: 7 REGISTER Server: OpenSer 1.0.0 (boozy.milkfish.org) Content-Length: 0 Warning: 392 192.168.1.1:5060 "Noisy feedback tells: pid=453 req_src_ip=192.168.1.173 req_src_port=5060 in_uri=sip:192.168.1.1 out_uri=sip:192 11

CONCLUSION Ce projet a été très intéressant et nous a permis de découvrir un domaine jusque là assez vaste pour nous. Tout d abord, il nous a permis de flasher un routeur pour mettre un autre "firmware" qui se nomme OpenWrt. Ensuite, nous avons mis en place diverses applications avec le montage d une clé USB permettant d agrandir l espace mémoire du routeur selon l utilisation de ce que l on veut en faire. Nous avons également installé un protocole SIP (Session Initiation Protocol) permettant de faire de la voix sur IP (Internet Protocol). Pour cette application, nous avons pu tester une communication entre deux ordinateurs mais également entre un ordinateur et un PDA (Personal Digital Assistant). 12