FLI4L, un routeur RNIS/ADSL qui tient sur une disquette
par
popularité : 1%
Un vieux PC, une carte RNIS et une disquette suffisent pour construire un routeur/firewall pour un réseau local domestique ou d’une TPE. Comment ? Grâce à FLI4L.
Fli4l est un routeur Ethernet, ISDN (RNIS), ADSL fondé sur Linux (Debian).
Une seule disquette est nécessaire. Et il suffit d’un PC 486 avec 16 Mo de RAM pour créer un routeur.
La disquette peut être créée sous Unix, Linux ainsi que sous Windows.
Aucune connaissance spécifique à Linux n’est nécessaire mais il est néanmoins utile de maîtriser les commandes de base du système. Et une connaissance de base des réseaux telle que TCP/IP, DNS et routage est également conseillée.
Par Eric M.C.DECLERCK
eric.m.c.declerck@free.fr
Caractéristiques :
Création de la disquette du routeur sous Unix, Linux et Windows,
Configuration à l’aide d’un seul fichier texte (ASCII).
Support pour IP-Masquerading et Port-Forwarding (NAT et PAT),
Least-Cost-Routing (LCR) : sélection automatique du fournisseur d’Accès Internet en fonction d’un horaire prédéfini et du coût des communications,
Affichage du protocole de la connexion et calcul du coût des communications,
Client Windows/Unix/Linux imonc inclus (interface vers imond et telmond),
Upload de nouveaux fichiers via le client Windows, imonc (afin de mettre à jour le routeur),
Disquette de démarrage en vfat,
Utilisation possible de disquettes de 1680 ko,
Filtrage de paquets (Packet filter) : contrôle des accès vers les ports du routeur (firewall),
Utilisation d’interfaces virtuelles WAN appelées circuits,
Utilisation possible en parallèle des circuits ADSL et RNIS.
Routeur :
Noyau Linux 2.2.19,
IP-Masquerading + PacketFilter pour la sécurité,
Serveur DNS afin d’éviter l’accès des PC Windows vers le WAN pour la plupart des requêtes,
Affichage des informations de connexion (monitoring) et LCR pour le serveur imond,
Gestion des appels téléphoniques entrants pour le serveur telmond.
Support Ethernet :
Gestionnaires pour la plupart des cartes réseau : plus de 40 familles de cartes reconnues.
Support ADSL :
Driver Roaring Penguin PPPoE avec Dial-on-Demand (numérotation à la demande facultative),
PPTP pour les connections ADSL en Autriche et Pays-Bas (EXPERIMENTAL).
Support ISDN :
Drivers HiSaX actuels : support pour 37 adaptateurs ISDN,
Différentes variantes de connexion : in/out/callback, raw-ip/ppp,
Agrégation de canaux (Multilink PPP) : sélection automatique ou manuelle en fonction de la bande passante,
Sélection manuelle du second canal via le client Windows/Unix,
En option : routage IPX.
Applications en option : (packages)
Serveur DNS,
Serveur DHCP,
Login SSH,
Service Telnet et/ou FTP,
Affichage online/offline simple par LED,
Programme d’affichage en LCD avec format changeable.
Console série en option (voir HOWTO : http://www.fli4l.de/german/extern/docu/stable/doc/english/html/akap_en.html),
Mini-serveur pour ADSL monitoring,
Module IPSEC, ipsec et pptp,
Restriction d’accès pour des réseaux distants,
Support PCMCIA (EXPERIMENTAL),
Protocole des messages sytème : syslogd et klogd,
Configuration des adaptateurs ISA-PNP : iaspnp tools,
Utilitaires supplémentaires pour le débogage,
Configuration du port série,
Système de secours pour le contrôle distant via ISDN,
Ecran LCD : affichage des connexions et du flux de données,
Serveur/routeur PPP via le port série,
Emulateur ISDN via le port série,
Serveur d’impression,
Accès au serveur de temps pour la synchronisation du réseau,
Exécution de commandes/procédures quand un appel téléphonique se présente (ex : Internet dial-in),
Support pour l’IP aliasing (permet d’avoir plus d’une adresse IP par carte réseau).
Hardware :
ISDN : minimal : CPU 386 à 25MHz, recommandé : CPU 486 à 33 MHz,
ADSL : minimal : 486 CPU - DX2/66, recommandé : CPU 486 DX4/100 à 100 MHz ou CPU Pentium à 75 MHz,
Mémoire 8MB, recommandé : 16 MB,
Adaptateur Ethernet (support pour plus de 40 familles d’adaptateurs),
ISDN : adaptateur ISDN supporté par HiSaX (Type 1-37), AVM-B1 ISA/PCI ou ICN-2B,
Pas de disque dur, juste un lecteur de disquette,
Une disquette de démarrage contenant tous les fichiers nécessaires.
Pour l’affichage des informations de contrôle du routeur FLI4L, une autre application est disponible : le client imonc. Ce programme est disponible pour Windows et pour Linux (unix/gtk-imonc).
Pour Windows : http://www.wallmeier-online.de/imonc.
Pour Linux et gtk : http://userpage.fu-berlin.de/ Ezeank/gtk-imonc.
Vous trouverez ici d’autres clients pour KDE, Windows, etc. : http://www.fli4l.de/german/addons.htm.
Site Web : http://www.fli4l.de.
Auteur du programme : Frank Meyer.
Vous trouverez ces informations en anglais et bien d’autres à l’adresse : http://www.fli4l.de/german/extern/docu/stable/doc/english/html/index_en.html.
Il est conseillé de commencer par une installation sur disquette. Mais, il est également possible d’installer fli4l sur un disque dur ou une cartouche Zip.
Cette solution (utilisation d’une disquette) est idéale pour tout ceux qui possèdent un second ordinateur déjà relié en réseau via un hub (concentrateur) ou un switch (commutateur).
Je vais ici décrire l’installation que j’ai faite pour un essai de connexion en ISDN.
Afin de rendre les choses un peu difficiles j’ai choisi d’utiliser la carte Gazel ISA.
L’équipement de mon réseau :
1. Cartes réseau D-LINK DFE-530TX,
2. HUB SMC 3616TC,
3. Câbles Cat5 non croisées,
4. Adaptateurs ISDN :
_Gazel ISA-PNP,
_ELSA microlink PCI.
Ordinateur faisant fonction temporaire de routeur : Pentium 200 MHz muni d’un lecteur de disquette.
Procédure :
Il faut d’abord s’assurer que les utilitaires isapnp sont installés sur l’ordinateur qui fera fonction de routeur.
Faire un pnpdump > isapnp.conf-tmp
,
Editer le fichier isapnp.conf-tmp. Enlever toutes les parties qui ne concernent pas la carte Gazel. Ne pas oublier de préciser l’IRQ et l’IO exact de la carte. Pour connaître ces deux paramètres, vous pouvez vous reporter aux informations fournies par le Gestionnaire de périphériques) de Windows (si Windows est installé sur le PC), ou bien lancer un utilitaire de configuration sous MS-Dos livré avec la carte ISDN,
Copier isapnp.conf-tmp sur une disquette (formatée en vfat) en le renommant en isapnp.conf.
Attention, dans la doc on préconise de le faire après le démarrage du routeur. A éviter, cela ne marche pas !
Il est inutile de faire quoi que ce soit sous le compte root pour fli4l. Donc, restez sous votre compte utilisateur.
Télécharger fli4l-2.0.4.tar.gz depuis (http://www.fli4l.de/english/e_download.htm ou http://www.fli4l.de/german/download.php).
Télécharger isdn.tar.gz.
Télécharger gtk-imonc-0.1.6.tar.gz (trop fainéant pour taper les commandes au clavier :)),
Décompacter fli4l-2.0.4.tar.gz dans un sous-répertoire de mon dossier utilisateur. (ex : ˜/isdn-routeur),
Décompacter isdn.tar.gz dans le dossier fli4l-2.0.4/ (ex : ˜/isdn-routeur/fli4l-2.0.4/),
Décompacter gtk-imonc-0.1.6.tar.gz dans un sous dossier de mon dossier utilisateur,
Copier isapnp.conf qui se trouve sur la disquette dans ˜/isdn-routeur/fli4l-2.0.4/opt/etc/,
Aller dans ˜/isdn-routeur/fli4l-2.0.4/.
POUR FLI4L :
Editer ˜/isdn-router/fli4l-2.0.4/config/base.txt,
L’adapter en fonction de sa configuration et des services que l’on souhaite mettre en place et sauver ensuite le fichier base.txt.
POUR ISDN :
Aller dans ˜/isdn-routeur/fli4l-2.0.4/config/.
Editer le fichier isdn.txt.
L’adapter à sa configuration et l’enregistrer.
Les deux fichiers joints sont des exemples pour MA configuration.
Et maintenant construisons la disquette !
Aller dans ˜/isdn-routeur/fli4l-2.0.4 et introduire une disquette vierge dans le lecteur,
Formater la disquette : fdformat /dev/fd0u1680
(de préférence, choisissez une disquette de bonne qualité pour utiliser ce format),
Pour plus de sécurité : ./mkclean.sh
,
Compresser les fichiers nécessaires : ./mktgz.sh
,
Copier les fichiers sur la disquette : ./mkfloppy.sh -h
(le paramètre -h est nécessaire pour les disquette de 1680 ko).
Puisque j’ai choisi une numérotation manuelle sous X-Window, construisons le programme gtk-imonc !
Remarque : pour les mordus du clavier, vous pouvez utiliser une application en console : imonc, à télécharger sur le site de fli4l.de).
Aller dans ˜/gtk-imonc-0.1.6,
Exécuter ./configure
,
Exécuter ./make
,
Exécuter su
afin de basculer sous le compte root,
Exécuter ./make install
afin d’installer le programme gtk-imonc dans /usr/local/bin.
Vous pouvez par la suite repérer le fichier gtk-imoc.desktop et le copier ou le glisser à la souris vers le Bureau.
Voilà ! C’est aussi simple que cela.
Ne pas oublier si ce n’est pas déjà fait, de saisir les commandes suivantes (en root) :
ifconfig eth0 192.168.12.x netmask 255.255.255.0 up
route add default gw 192.168.12.1 eth0
Pour autant que votre réseau est le 192.168.12.0 !!
Elles réinitialisent la carte réseau avec l’adresse IP correspondante au réseau sur lequel le routeur ISDN officie et ajustent la passerelle par défaut.
Remplacez 192.168.12.x par l’adresse IP du poste de travail.
La minute de vérité !
Introduisons la disquette dans l’ordinateur qui doit fonctionner en tant que routeur et mettons-le en route.
...syslinux.....
...kernel........
Messages d’erreur ??? Impossible ;-)
Login :
Saisissez votre login, puis votre mot de passe.
ATTENTION, le clavier est en qwerty-US. Choisissez donc un mot de passe qui reste facile à mémoriser et qui ne fait pas appel aux lettres A, Q, Z, W et M.
De retour à votre poste de travail, lancez gtk-imonc. Cliquez sur le bouton DIAL. Un témoin de connexion s’affiche dans le bas de la fenêtre.
Have fun !
PS : toute la documentation officielle est dans le répertoire ˜/isdn-routeur/fli4l-2.0.4, malheureusement en allemand. Une liste de diffusion existe mais uniquement en allemand !
Je conseille de faire une deuxième disquette et, dans le fichier base.txt, de changer le paramètre : (pour le cas où :))
MOUNT_BOOT=’ro’ # mount boot device (floppy) : ro, rw, no
A voir sur : http://www-public.tu-bs.de:8080/˜y0011440/Router_html/index.html.
Voici une ’one-floppy’ passerelle construite par Torben Baras. Il l’a nommé ’Silent Router’. Devinez pourquoi ;-)
Construit à partir d’une carte mère 486-DX2 Intel 66 Mhz CPU dans un rack de 19" et fli4l.
Commentaires