Essai de FloppyFW
version 1.0.11
(distribution sur une seule disquette)


Note : La version actuelle est la version 1.0.11 et repose sur le noyau 2.2.19.
Vous trouverez tous les détails en anglais sur le site de l'auteur de cette distribution : http://www.zelow.no/floppyfw/
Les version que j'ai essayées avant celle-ci étaient la 1.0.9 (14/01/2001) avec son noyau 2.2.18 et la 1.0.6 basée sur le noyau 2.2.17. Les fichier de configuration ont été modifiés mais la méthode reste la même...


Ce système se contente d'un 386sx ou supérieur, d'un lecteur de disquette de 1.44Mo et de 8Mo de mémoire vive (RAM) et de 2 cartes réseau. Si vous avez moins de 12Mo mettre l'option ONLY_8M=y dans le fichier ./config.


Installation de FloppyFW
Configuration de FloppyFW
Outils de FloppyFW





 
Installation de FloppyFW


Télécharger l'image de la version courante et la transférer sur une disquette. Cette image peut s'appeler floppyfw-current.img, floppyfw-1.0.11.img ou quelque chose de similaire. Nous l'appellerons disquette.img.

La procédure est la suivante sous dos ou windows :
rawrite a: disquette.img
(Rawrite.exe et son contraire rawread.exe ou même RawwriteWin.exe sont disponibles sur un certain nombre de cdrom ou sur internet.)

Sous linux :
dd if=disquette.img of=/dev/fd0

Si vous avez besoin d'un "package" particulier vous pouvez le télécharger ici et le placer dans le répertoire /packages.

Pour les autres téléchargements, rendez-vous ici et

 




Configuration de FloppyFW


Pour la configuration, il faut éditer le fichier /config de la disquette produite précédemment à l'aide du Wordpad de windows ou d'un autre éditeur . En vert , des explications en français et en rouge les changements à effectuer dans le cas où le réseau interne a pour ip 192.168.1.x et l'interface vers le réseau externe 10.0.5.8, les 2 interfaces étant de type ethernet.

Note : Les adresses ip réservées pour les réseaux privées sont :
10.x.x.x (classe A) ; 172.16.x.x à 172.31.x.x (clsse B) et 192.168.0.x à 192.168.255.x (classe C).



#
# Configuration for floppyfw
# Configuration de floppyfw
#
# Fill in the blanks.  
# Remplir les blanc
#
# For configuring of modules to use : /modules.lst
# Pour configurer les modules à utiliser : /modules.lst
# For configuring logging: /syslogd.cfg
# Pour configurer l'enregistrement des événements : /syslogd.cfg
# For configuring network interface cards (usually not necessary): /syslinux.cfg
# Pour configurer les cartes d'interface réseau (inutile en général) : /syslinux.cfg
# For configuring firewall rules and incoming traffic: /firewall.ini
# Pour configurer les règles du pare-feu : /firewall.ini
#
#
# Outside network:
# Réseau extérieur:

#
# eth0 default device.
# eth0 est ici l'interface externe par défaut (première interface ethernet)
#
OUTSIDE_DEV=eth0

#
#
# DHCP is the hook for the DHCP-client for the outside interface.
# If used, you may have hangups of connections when the client has
# to get a new IP-address.
# Le mot-clé DHCP permettra d'utiliser le client -DHCP
# pour l'interface côté extérieur (Internet)
# Lorsqu'il est utilisé on peut avoir un arrêt de la communication
# lorsque le client doit obtenir une nouvelle adresse IP.

#
# EXTERNAL is a hook for booting a external startup script from a package.
# the external script has to be in /etc/ext-up.init
# Le mot clé EXTERNAL sert à lancer un script externe
# de lancement de la communication issu d'un "package".
# Ce script doit être dans /etc/ext-up.init

#
# Adresse IP externe sur l'interface eth0 :
# This is now the default behaviour for the external interface.
# Ceci est maintenant l'option par défaut pour l'interface externe.

OUTSIDE_IP=DHCP

si vous n'utilisez pas DHCP mais une adresse IP connue, utilisez plutôt OUTSIDE_IP=10.0.5.8
comme indiqué plus loin.

#OUTSIDE_IP=EXTERNAL s'utilise avec des "package" comme pppoe ou ppp
#
# The external script can need you to add your username and password, as
# the PPPoE package does. This is where you can add that.
# Le script externe peut avoir besoin de votre login
# et de votre mot de passe. Vous pouvez les mettre ici.

USER_IDENT=
USER_PASSWORD=

#
# For dialup PPP use:
# Pour démarrer une session ppp sur ligne téléphonique standard
#
SERIAL_PORT=/dev/ttyS0
PORT_SPEED=57600
TELEPHONE=
PPP_CONNECT_TIMEOUT=60
PPP_CONNECT_POLL=6

#
# Setting fixed IP on the outside.
# Indiquer un IP fixe sur l'interface extérieure

#OUTSIDE_IP=

#
#
# This has to be set if you are running with a fixed outside IP
# Ces trois lignes sont nécessaires si vous utilisez un IP fixe sur l'interface externe
#
OUTSIDE_NETMASK=255.255.255.0
OUTSIDE_NETWORK=10.0.5.0
OUTSIDE_BROADCAST=10.0.5.255


# mac address for outside nic
# Some ISPs uses bootp style dhcp tables and some just remembers the last
# used MAC address.
# adresses mac pour l'interface externe
# certais fournisseurs d'accès à internet utilisent (ISP ou FAI)
# des tables dhcp du style bootp et certains mémorisent juste
# la dernière adresse mac utilisée
# this allows you to swap nics
ceci permet de faire facilement l'échange
# OUTSIDE_MAC=00:00:e8:48:6c:cb


#
# Your inside network, this has 10.42.42.* set as default, this is
# addresses assigned for internal networks according to RFC 1918.
# Votre réseau interne, il a 10.42.42.* comme adresse
# par défaut, ce sont des adresses destinées aux réseaux internes
# en accord avec le RFC 1918

#
# eth1 is the default device for the internal network.
# eth1 est l'interface par défaut pour le réseau interne.
#
# adresse interne (réseau local) sur interface eth1
# Remplacer

# INSIDE_IP=10.42.42.1
# INSIDE_DEV=eth1
# INSIDE_NETMASK=255.255.255.0
# INSIDE_NETWORK=10.42.42.0
# INSIDE_BROADCAST=10.42.42.255
# Par :
INSIDE_IP=192.168.1.1
INSIDE_DEV=eth1
INSIDE_NETMASK=255.255.255.0
INSIDE_NETWORK=192.168.1.0
INSIDE_BROADCAST=192.168.1.255


#
# Misc
# These are not nescessary to set if you are using DHCP.
# Divers
# Ils ne sont pas nécessaires si vous utilisez DHCP

#
DEFAULT_GATEWAY=10.0.5.1   par exemple, fourni par votre FAI
NAME_SERVER_IP1=212.95.71.1   par exemple, fourni par votre FAI
NAME_SERVER_IP2=212.95.71.2   par exemple, fourni par votre FAI
DOMAIN=ac-strasbourg.fr   par exemple, fourni par votre FAI
HOSTNAME=floppyfw


#
# (y)es or (n)o
#
# Ouvre un shell
OPEN_SHELL=y
# si vous n'avez que 8 Mo sur cette machine mettre y
ONLY_8M=n

# Choose the serial port for the console "n" for none.
# Choisir le port série pour la console ou "n" pour aucun.
#
#SERIAL_CONSOLE=ttyS0
SERIAL_CONSOLE=n

#
# Turning on syslogd and klogd.
# This is a nice thing but will eat CPU which is why it is turned
# off by default.
# Activer syslogd et klogd.
# Pratique mais très consommateur en puissance de processeur
# c'est pourquoi il est désactivé par défaut.

#
USE_SYSLOG=n
SYSLOG_FLAGS="-m 360"

# If you don't like the -- MARK -- messages:
#
#SYSLOG_FLAGS="-m 0"


Si vous avez des problèmes pour détecter les 2 interfaces (ou plus) vous pouvez éditer la ligne de commande dénommée append line dans syslinux.cfg pour les configurer directement (sur un 386 par exemple):

default floppyfw
display floppyfw.msg
label floppyfw
  kernel vmlinuz
  append initrd=initrd.gz root=/dev/fd0 ether=5,0x300,0,eth0 ether=11,0x320,0,eth1
      par exemple au lieu de ether=0,0,0,eth0 ether=0,0,0,eth1
      la syntaxe pour ether est :
      ether=numéro_d'interruption,adresse_d'enrée/sortie,0,ethN


Pour améliorer le pare-feu (firewall) il est possible d'éditer le fichier firewall.ini afin d'avoir plus qu'un mandatement (masquerading) basic il se complétera lui-même avec les valeurs données dans /config pour les adresses IP ou reçues par DHCP. /bin/gi détecte L'adresse IP externe.

Pour ajouter ou supprimer des modules ip_masq ou ajouter d'autres modules on éditera modules.lst

Pour configurer syslogd on éditera syslog.cfg. syslogd est une commande qui enregistre les messages du système dans un fichier nommé syslog et placé généralement dans /var ou /var/log. Pour que des information de transfert sur le réseau y apparaissent il faudra valider logging in dans les règles de firewall.






 
Outils de FloppyFW


Parmi les commandes les plus utiles on peut citer : cat cd df echo ifconfig mount ping route traceroute umount. Certaines sont dites internes, c'est à dire intégrées à l'interpréteur de commandes (shell), les autres, externes, se retrouvent sous forme d'exécutables dans un ou plusieurs répertoires comme /bin . Vous trouverez quelques détails plus loin.

Pour visualiser la table de routage on tapera tout simplement :
route
Pour afficher les interfaces réseau et leur adresse IP :
ifconfig
Pour verifier la présence d'une machine sue le sous-réseau :
ping nom_ou_adresse_la_machine
Puis Ctrl c pour arrêter la commande

 
Quelques commandes interne utiles du shell bash


cdPermet de changer de répertoire.
echo chaîneEnvoie chaîne vers la sortie standard suivi d'un retour de chariot.
echo -n chaînefais la même chose sans retour de chariot à la fin.

 
Commandes situées dans le répertoire /bin.


arpCommande TCP/IP concernant les correspondances entre adresses IP et adresses matérielles (carte réseau).
ash
bashshell, il gère la ligne de commande et exécute des scripts.
bzip2
bunzip2
compresseur et décompresseur au format bz2.
catLit un ou plusieurs fichiers et les envoie sur la sortie standard
chgrpChange le groupe auquel appartient le(s) fichier(s).
chmodChange les droits d'accès au(x) fichier(s).
chownChange le propriétaire du(des) fichier(s).
clearEfface l'écran.
cpCopie le ou les fichiers.
dateAffiche ou fixe la date et l'heure actuelle.
dd
dfAffiche l'espace disponible sur systèmes de fichier montés.
dhcpcdRécupère les paramètres réseau à l'aide du protocole DHCP
dmesgAffiche les messages de contrôle du tampon circulaire du noyau.
falseCette commande ne fait rien d'autre que renvoyer un code d'erreur non nul (faux)
fdflush
giFournit l'adresse IP externe
gunzip
gzip
Compresseur/décompresseur de fichier au selon l'algorithme Lempel-Ziv (LZ77).
hostnameAffiche le nom de la machine.
ifconfigAffiche ou fixe les paramètres IP d'une interface.
insmodCharge un module du noyau.
ipchainsAffiche ou fixe les paramètres de routage et de mandatement (masquerading).
ipmasqadmSert au paramètrage du mandatement (masquerading).
killPermet d'envoyer un signal à un ou plusieurs processus comme le signal TERM qui en demande l'arrêt.
klogdpermet de déterminer quels message du noyau doivent être affichés sur la console.
lnCrée des liens qui permettent d'appeler de fichier avec différents noms.
lsmodAffiche la liste des modules actifs.
lsAffiche la liste des fichiers d'un répertoire.
mkdirCrée un (des) répertoire(s).
mknod
moreaffiche le contenu d'un fichier une page à la fois.
mountpermet de monter de systèmes de fichiers.
mvDéplace ou renomme des fichiers ou répertoires.
netstatCommande TCP/IP permettant d'afficher le statut des connexions réseau.
open
pingCommande TCP/IP permettant de vérifier si un hôte est en ligne et répond.
psaffiche la liste des processus en cours d'exécution.
pwdAffiche la référence absolue du répertoire de travail actuel.
rmEf face un ou plusieurs fichiers
rmdirSupprime des répertoires (ils doivent avoir été vidés avant !)
routeCommande TCP/IP permettant de modifier ou d'afficher les tables de routage.
shShell unix standard (souvent bash sous linux).
sleepAttend un certain temps en secondes.
star
syncEnregistre sur les disques, les tampons des systèmes de fichiers.
syslogdCommande TCP/IP qui enregistre les message système dans un jeu de fichiers donnés dans /etc/syslog.conf. Il écoute un port TCP.
touchActualise la date de dernière modification d'un fichier.
trCopie l'entrée standard vers la sortie standard en remplaçant des caractères.
tracerouteCommande TCP/IP qui permet de retracer le chemin parcouru par les paquets jusqu'à une autre machine.
truerenvoie un code de retour nul (OK).
umountDémonte un système de fichier
untarPermet d'extraire un ou des fichiers d'un archive archive.tar
updateDémon chargé de vider les tampons du noyau à intervalle régulier. Il travaille en tâche de fond.
zcatAffiche sur la sortie standard le contenu d'un ou plusieurs fichiers compressés avec gzip.





Retour à la page d'accueil
FloppyFW
Envoyer un e-mail à F. PORT