[ Présentation | Connexion ADSL avec un speedtouch USB | Connexion avec la Mandrake 10.0 Reconnexion automatique | Héberger un serveur web "at home" ( présentation , dans le cas d'une config de basedans le cas d'une config avec Mdk10.0dans la pratique ) | Mettre en place un firewall | Tester sa connexion (tests de vitesse, tests de sécurité) ]

Trucs et astuces liés à l'ADSL

Dernière modification 5 janvier 2005


Présentation

Voilà une page un peu fourre tout sur un certain nombre de sujet en relation avec une connexion de type ADSL avec un simple modem USB.

Connexion ADSL avec un speedtouch USB

Par défaut la Mandrake a installé un certain nombre de packages (dont speedtouch) pour gérer la connexion, il installe notamment pppoa3 qui est nécessaire pour établir une connexion. Mais ce n'est pas vraiment du plug and play, il y a encore un peu de travail.
On récupère les drivers à l'URL speedtouch.sourceforge.net on décompresse l'archive en tapant

tar xvfz speedtouch-1.2.tar.gz

Cela donne un répertoire speedtouch-1.2 dans lequel on tape

./configure
make

Puis en tant que root

make install

Dans le répertoire /usr/local/sbin on trouvera l'exécutable modem_run. On peut récupérer le firmware à l'adresse suivante
http://speedtouch.sourceforge.net/index.php?/download.en.html. Vous pouvez aussi le récupérer dans votre partition windows, pour ma part il se trouve sous /mnt/windows/Program Files/Alcatel/SpeedTouch USB. Quelque soit le firmware récupéré il faut le renommer mgmt.o et le placer sous /usr/share/speedtouch/.
A présent on récupère les outils pour le speedtouch sur www.linux-sottises.net/speedtouch-usb.php. On y récupèrera l'archive qu'on décompresse en tapant

tar xvzf speedtool-USB.tar.gz

Cela donne le répertoire speedtools-USB-0.5. En tant que root dans ce répertoire il faut taper

sh install.sh

Cela va créer un répertoire /usr/local/adsl avec un certain nombre d'outils. Voilà mon fichier /etc/adsl.conf

DELAY=60
IFCONFIG=/sbin
IPDELAY=60
DDNSDELAY=30
LOG=/var/log/adsl
PPPD=/usr/sbin/pppd
SCRIPT=adsl
MGMT=/usr/share/speedtouch
MODEM_RUN=/usr/local/sbin
USBDEVFS=/proc/bus/usb
PPPOA=pppoa3
DDNS=/usr/local/adsl
CHECKIP="/usr/local/adsl"
ADSL="/etc/rc.d/init.d"

Sur ma mandrake j'ai du déplacer le fichier /etc/rc.d/adsl sous /etc/rc.d/init.d. Normalement le plus gros du travail est fait. Sous /etc/ppp/peers j'ai également un fichier adsl qui contient

noauth
noipdefault
pty "/usr/sbin/pppoa3 -c -vpi 8 -vci 35"
sync
kdebug 1
noaccomp
nopcomp
noccp
novj
holdoff 4
maxfail 25
persist
usepeerdns
defaultroute
user "login-chez-le-fai"
lcp-echo-failure 3
lcp-echo-interval 40

A noter l'option persist qui normalement sert à retenter une connexion en cas de coupure (marche pas chez moi :-(( pour une histoire de module USB qui tombe après une reconnexion...). Le mot de passe est défini dans le fichier /etc/ppp/chap-secrets (droit à 600) avec la syntaxe suivante

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses

'login-chez-le-fai' * 'mot-de-passe-en-clair' *

Vous pouvez lancer maintenant une connexion en tapant en tant que root

/etc/rc.d/init.d/adsl start

Et l'arrêter avec

/etc/rc.d/init.d/adsl stop

[retour haut de la page ]

Connexion avec la Mandrake 10.0

Avec la mandrake 10.0 la méthode précédente n'a pas fonctionné. J'ai installé speedtouch-USB (comme présenté dans le chapitre précédent) puis les packages suivants speedtouch, pppoatm. Voilà quelques fichiers de config

Contenu de /etc/ppp/options

usepeerdns
noauth
lock
noipdefault

Contenu de /etc/ppp/peers/adsl

debug
kdebug 1
noipdefault
defaultroute
sync
noauth
noaccomp
nopcomp
noccp
novj
holdoff 4
persist
maxfail 25
usepeerdns
user "login"
plugin "/usr/lib/pppd/2.4.1/pppoatm.so"
8.35

Contenu de /etc/ppp/pap-secrets et chap-secrets

# Secrets for authentication using PAP
# client        server  secret                  IP addresses
'login' * 'motdepasse' *

Maintenant j'ai créé un exécutable /usr/local/sbin/internet qui contient

#!/bin/bash
modprobe speedtch
modprobe pppoatm
modem_run -v 2 -k -f /usr/share/speedtouch/mgmt.o
pppd call adsl

Il est lancé par /etc/rc.d/rc.local à chaque démarrage. Plus besoin de gérer les reconnexions, c'est automatique.

Quand je le lance, voilà ce que j'obtiens

Jun 14 13:30:58 tosh su(pam_unix)[4081]: session opened for user root by (uid=5001)
Jun 14 13:31:08 tosh su(pam_unix)[4116]: session opened for user root by (uid=5001)
Jun 14 13:31:38 tosh kernel: CSLIP: code copyright 1989 Regents of the University of California
Jun 14 13:31:38 tosh kernel: PPP generic driver version 2.4.2
Jun 14 13:32:02 tosh modem_run[4160]: modem_run version 1.2-beta3 started by root uid 0
Jun 14 13:32:02 tosh modem_run[4160]: Found SpeedTouch USB modem
Jun 14 13:32:02 tosh modem_run[4160]: Modem revision: 0200
 Jun 14 13:32:02 tosh kernel: usb 1-1: usbfs: interface 1 claimed while 'modem_run' sets config #1
Jun 14 13:32:02 tosh kernel: usb 1-1: usbfs: interface 2 claimed while 'modem_run' sets config # 1
Jun 14 13:32:02 tosh modem_run[4160]: Best offset   1776 with probability 100%
Jun 14 13:32:02 tosh modem_run[4160]: Best offset    983 with probability 100%
Jun 14 13:32:02 tosh modem_run[4160]: Firmware info (CRC:0xd80bf9f7, Size:991, Checked: Yes, Alcatel/Thomson Boot block (old))
Jun 14 13:32:02 tosh modem_run[4160]: Best offset   2772 with probability 100%
Jun 14 13:32:02 tosh modem_run[4160]: Best offset 527744 with probability 100%
Jun 14 13:32:02 tosh modem_run[4160]: Firmware info (CRC:0x37c189ed, Size:527752, Checked: Yes, 1.4.0 - Win32(4.0.100))
Jun 14 13:32:04 tosh kernel: usb 1-1: bulk timeout on ep5in
Jun 14 13:32:04 tosh kernel: usb 1-1: usbfs: USBDEVFS_BULK failed ep 0x85 len 512 ret -110
Jun 14 13:32:04 tosh modem_run[4160]: BLOCK1 :    991 bytes   uploaded : OK
Jun 14 13:32:05 tosh modem_run[4160]: BLOCK2 :    511 bytes downloaded : OK
Jun 14 13:32:06 tosh modem_run[4160]: BLOCK3 : 527752 bytes   uploaded : OK
Jun 14 13:32:06 tosh modem_run[4160]: BLOCK4 :    511 bytes downloaded : OK
Jun 14 13:32:07 tosh kernel: usb 1-1: usbfs: interface 0 claimed while 'modem_run' sets config #1
Jun 14 13:32:07 tosh kernel: usb 1-1: usbfs: interface 1 claimed while 'modem_run' sets config #1
Jun 14 13:32:07 tosh kernel: usb 1-1: usbfs: interface 2 claimed while 'modem_run' sets config #1
Jun 14 13:32:07 tosh modem_run[4160]: Found kernel mode driver
Jun 14 13:32:07 tosh modem_run[4160]: Modem reference : 3566067A......
Jun 14 13:32:19 tosh modem_run[4161]: [monitoring report] ADSL link went up
Jun 14 13:32:37 tosh modem_run[4160]: ADSL synchronization has been obtained
Jun 14 13:32:37 tosh modem_run[4160]: ADSL line is up (1216 kbit/s down | 160 kbit/s up)
Jun 14 13:32:48 tosh pppd[4163]: Plugin /usr/lib/pppd/2.4.1/pppoatm.so loaded.
Jun 14 13:32:48 tosh pppd[4163]: PPPoATM plugin_init
Jun 14 13:32:48 tosh pppd[4163]: PPPoATM setdevname - remove unwanted options
Jun 14 13:32:48 tosh pppd[4163]: PPPoATM setdevname_pppoatm - SUCCESS:8.35
Jun 14 13:32:48 tosh pppd[4164]: pppd 2.4.1 started by root, uid 0
Jun 14 13:32:48 tosh pppd[4164]: Using interface ppp0
Jun 14 13:32:48 tosh pppd[4164]: Connect: ppp0 <--> 8.35
Jun 14 13:32:52 tosh pppd[4164]: local  IP address 81.249.223.2
Jun 14 13:32:52 tosh pppd[4164]: remote IP address 193.253.160.3
Jun 14 13:32:52 tosh pppd[4164]: primary   DNS address 80.10.246.1
Jun 14 13:32:52 tosh pppd[4164]: secondary DNS address 80.10.246.132



[retour haut de la page ]

Reconnexion automatique

ATTENTION Cette manip est inutile dans le cas de l'installation type Mandrake 10.0 vu ci dessus.
Régulièrement la connexion est coupée, on peut facilement pallier à cela. Après avoir lancé la connexion adsl (/etc/rc.d/init.d/adsl start), je lance le script verifconnex suivant (très largement inspiré de celui proposé par http://www.linux-sottises.net)  en tâche de fond. Il vérifiera toutes les minutes si la connexion est toujours active, si ce n'est pas le cas il la relance.

#!/bin/sh

. /etc/adsl.conf

# Check IPs from ifconfig
getip() {
        IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

# Check if ppp0 is up; if it is not, restart the connection.
while true; do
        sleep 60
        getip
        if ! [ "$IP" ]; then
                /etc/rc.d/init.d/adsl stop
                sleep 5
                /etc/rc.d/init.d/usb start
                sleep 5
                /etc/rc.d/init.d/adsl start
                sleep 10
        fi
done

Quelques commentaires, j'ai modifié le script d'origine car j'avais des soucis avec le module USB lors d'une reconnexion. Cela ne marche bien que dans cet ordre avec ces temporisations pour ma configuration ! Cela dit je pense qu'il suffirait de mettre /etc/rc.d/init.d/adsl restart pour que ça marche.

Avant de mettte en place se script vérifier d'abord que l'option persist vue plus haut marche chez vous.

[retour haut de la page ]

Héberger un serveur web "at home"

Présentation

Il existe un certain nombre de sites qui proposent de vous fournir un nom de domaine qui est redirigé sur votre PC perso que vous ayez une adresse statique ou dynamique. L'un des plus connus (et efficaces) et www.dyndns.org.
Cliquez sur Sign Up Now, saisissez les informations qui vous sont demandées, un mail de confirmation vous est envoyé. Une fois votre compte activé, loguez vous et choisissez dynamic DNS dans la liste des services.
Puis Add a host, les options Enable Wildcard, Mail Exchanger, Backup MX peuvent rester inchangés. C'est fait vous avez créé votre domaine, maintenant vous devez configurer votre serveur Apache avec des hôtes virtuels qui vont pointer vers vos domaines. Exemple avec mes deux domaines chez dyndns, voilà la fin du fichier httpd.conf

# mon adresse IP sur internet
NameVirtualHost 81.249.222.141

# définition de mes hôtes virtuels
<VirtualHost funix.homelinux.org>
ServerName funix.homelinux.org
DocumentRoot /www/homepage/online-local
ErrorLog logs/online-error_log
TransferLog logs/online-access_log
CustomLog logs/online-access_log combined
</VirtualHost>

<VirtualHost ohoarau.homelinux.org>
ServerName ohoarau.homelinux.org
DocumentRoot /www/homepage/ohoarau-local
ErrorLog logs/ohoarau-errror_log
TransferLog logs/ohoarau-access_log
CustomLog logs/ohoarau-access_log combined
</VirtualHost>

On précise dans le fichier /etc/hosts l'adresse IP sur internet des hôtes virtuels, en rajoutant tout à la fin.

81.249.222.141 ohoarau.homelinux.org
81.249.222.141 funix.homelinux.org

Relancer Apache, et normalement vos sites virtuels sont accessibles depuis internet. Ze problème est que vous ne gardez pas éternellement la même adresse IP, à la prochaine reconnexion vous aurez peut être une adresse IP (sauf si vous avez une adresse IP statique bien entendu). Il faut donc pouvoir reconfigurer le fichier httpd.conf et hosts à chaque reconnexion.

[retour haut de la page ]

Tout d'abord sur le site checkip.sourceforge.net  on récupèrera ipcheck.py qu'on placera sous /usr/local/adsl. Ce script python sert à indiquer à dyndns qu'on a changé d'adresse IP pour qu'il remette à jour ses bases de données (serveurs de noms).

Pour résumer à chaque reconnexion il faudra:
- trouver la nouvelle adresse IP
- indiquer la nouvelle adresse pour vos sites virtuels dans  le fichier /etc/hosts
- indiquer la nouvelle adresse pour la variable NameVirtualHost dans le fichier /usr/local/apache/conf/httpd.conf (on supposera pour le reste que votre fichier de configuration se trouve sous /usr/local/apache/conf/ à adapter en fonction de votre config)
- indiquer à dyndns que vos serveurs ont changé d'adresse IP
- relancer Apache

Pour faire tout cela, je me suis très largement inspiré des astuces données sur http://www.linux-sottises.net que j'ai adaptées à mon système car tel quel cela ne marchait pas sur mon poste Linux.
Sur /usr/local/apache/conf/ j'ai un fichier httpd.conf.trame1 qui est le fichier httpd.conf tronqué de toute la partie consacrée aux hôtes virtuels. J'ai aussi un fichier httpd.conf.trame2 qui contient la partie hôtes virtuels sans la variable NameVirtualHost qui sera rajoutée plus tard, c'est à dire pour moi le contenu de ce dernier fichier est:

<VirtualHost funix.homelinux.org>
ServerName funix.homelinux.org
DocumentRoot /www/homepage/online-local
ErrorLog logs/online-error_log
TransferLog logs/online-access_log
CustomLog logs/online-access_log combined
</VirtualHost>

<VirtualHost ohoarau.homelinux.org>
ServerName ohoarau.homelinux.org
DocumentRoot /www/homepage/ohoarau-local
ErrorLog logs/ohoarau-errror_log
TransferLog logs/ohoarau-access_log
CustomLog logs/ohoarau-access_log combined
</VirtualHost>

De la même manière on construit un fichier /etc/hosts.trame basé sur /etc/hosts qui va contenir les adresses IP de votre réseau local. Cela donne cela pour ma part

127.0.0.1              localhost
192.168.13.11       tosh.kervao.fr tosh www.sql.kervao.fr www.funix.kervao.fr www.online.kervao.fr ohoarau.kervao.fr
192.168.13.75      asterix.kervao.fr asterix

Voilà maintenant mon script gérant la connexion initiale, les reconnexions et la reconfiguration d'Apache,


[retour haut de la page ]

Dans le cas d'une configuration comme indiquée ici

Ce script reseau est un mix de plusieurs scripts disponibles sur http://www.linux-sottises.net.

#!/bin/sh
# script pour gérer la connexion initiale
# les reconnexions automatiques

# et les reconfigurations du serveur Apache

# Check IPs from ifconfig
getip() {
    IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

# fonction pour relancer Apache
relanceapache() {
    getip
    LOG=/var/log/adsl
    date >> $LOG
    echo starting relance_apache >> $LOG
    echo -n "new IP: " >> $LOG
    echo $IP >> $LOG
    # les deux fonctions suivantes permettent d'indiquer à dyndns le changement d'adresse IP
    python /usr/local/adsl/ipcheck.py -a $IP -d /usr/local/adsl login-dyndns mot-de-passe-en-clair-dyndns funix.homelinux.org,ohoarau.homelinux.org
    # réécriture automatique des fichiers httpd.conf et hosts
    HOSTS=/etc/hosts
    HOSTS_TRAME=/etc/hosts.trame
    HOSTS_TEMP=/etc/hosts.temp
    APACHE=/usr/local/apache/conf/httpd.conf
    APACHE1=/usr/local/apache/conf/httpd.conf.trame1
    APACHE2=/usr/local/apache/conf/httpd.conf.trame2
    APACHE_TEMP=/usr/local/apache/conf/httpd.conf.temp

    cp $HOSTS_TRAME $HOSTS_TEMP
    echo $IP ohoarau.homelinux.org >> $HOSTS_TEMP
    echo $IP funix.homelinux.org >> $HOSTS_TEMP
    cp $HOSTS_TEMP $HOSTS
    rm $HOSTS_TEMP

    cp $APACHE1 $APACHE_TEMP
    echo NameVirtualHost $IP >> $APACHE_TEMP
    cat $APACHE2 >> $APACHE_TEMP
    cp $APACHE_TEMP $APACHE
    rm $APACHE_TEMP
    # on relance apache
    /etc/rc.d/init.d/httpd restart
}

# on vérifie toutes les minutes que la connexion est toujours active
while true; do
    getip
    # si la connexion est plus active, on la relance, et on reconfigure Apache
    if ! [ "$IP" ]; then
        /etc/rc.d/init.d/adsl stop
        sleep 5
        /etc/rc.d/init.d/usb start
        sleep 5
        /etc/rc.d/init.d/adsl start
        sleep 10
        relanceapache
    fi
    sleep 60
done

L'appel des commandes /etc/rc.d/init.d/adsl et /etc/rc.d/init.d/usb dans cet ordre précis peut paraître un peu bizarre, mais c'est au bout de multiple essais le seul enchaînement qui convenait à ma configuration Linux. Normalement je pense qu'il suffirait de mettre
/etc/rc.d/init.d/adsl restart.

[retour haut de la page ]

Dans le cas d'un configuration type Mdk10.0

Voilà mon fichier /usr/local/sbin/lanceapache

#!/bin/sh
# script pour gérer les reconnexions automatiques
# avec reconfiguration du serveur Apache

# Check IPs from ifconfig
getip() {
    IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

# fonction pour relancer Apache
relanceapache() {
    getip
    LOG=/var/log/adsl
    date >> $LOG
    echo starting relance_apache >> $LOG
    echo -n "new IP: " >> $LOG
    echo $IP >> $LOG
    # les deux fonctions suivantes permettent d'indiquer à dyndns le changement d'adresse IP
    python /usr/local/adsl/ipcheck.py -a $IP -d /usr/local/adsl comptedyndns motdepassedyndns funix.homelinux.org,ohoarau.homelinux.org
    # réécriture automatique des fichiers httpd.conf et hosts
    HOSTS=/etc/hosts
    HOSTS_TRAME=/etc/hosts.trame
    HOSTS_TEMP=/etc/hosts.temp
    APACHE=/usr/local/apache/conf/httpd.conf
    APACHE1=/usr/local/apache/conf/httpd.conf.trame1
    APACHE2=/usr/local/apache/conf/httpd.conf.trame2
    APACHE_TEMP=/usr/local/apache/conf/httpd.conf.temp

    cp $HOSTS_TRAME $HOSTS_TEMP
    echo $IP ohoarau.homelinux.org >> $HOSTS_TEMP
    echo $IP funix.homelinux.org >> $HOSTS_TEMP
    cp $HOSTS_TEMP $HOSTS
    rm $HOSTS_TEMP

    cp $APACHE1 $APACHE_TEMP
    echo NameVirtualHost $IP >> $APACHE_TEMP
    cat $APACHE2 >> $APACHE_TEMP
    cp $APACHE_TEMP $APACHE
    rm $APACHE_TEMP
    # on relance apache
    /etc/rc.d/init.d/httpd restart
}

relanceapache

A la fin de /etc/ppp/ip-up on rajoute /usr/local/sbin/lanceapache ainsi apache est reconfiguré à chaque connexion et reconnexion.

[retour haut de la page ]

Dans la pratique

Dans la pratique, j'ai deux serveurs Apache qui tournent sur ma machine. L'un sur le port 80 (Apache 1.3) accessible d'internet, hyper sécurisé (modules minimales, pas de CGI, PHP bridé, ... voir ma page Apache) avec deux hôtes virtuels (http://ohoarau.homelinux.org et http://funix.homelinux.org), et l'autre fonctionnant sur le port 8080 (Apache 2) accessible uniquement depuis mon réseau local sur lequel tourne une image de mes sites http://www.funix.org et http://olivier.funix.org et autres (hôte virtuel phpMyAdmin, documentation Apache, ...).
Le premier serveur dispose de pages web dans une partition à part appartenant à un utilisateur à compte bloqué (utilisateur nobody, groupe nogroup). Je suis propriétaire des pages web du deuxième serveur. Régulièrement je fais une copie des pages webs (configuré avec cron) du serveur local vers le serveur accessible depuis internet avec changement de propriétaire. Voilà le fichier apache-local placé sour /etc/cron.daily qui réalise chaque jour avec webalizer une mise à jour des stats d'accès aux sites locaux et une copie des pages web.  Seuls les fichiers index.php différent entre les serveurs locaux disponibles sur internet et ceux disponibles seulement sur le réseau local.

#!/bin/bash
cd /usr/local/apache/webalizer/online
/usr/local/bin/webalizer /usr/local/apache/logs/online-access_log
cd /usr/local/apache/webalizer/ohoarau
/usr/local/bin/webalizer /usr/local/apache/logs/ohoarau-access_log
cp -Rf /roger/homepage/ohoarau /roger/homepage/ohoarau-local
cp -Rf /roger/homepage/online /roger/homepage/online-local
cp -f /roger/homepage/temp/index-online.php /roger/homepage/online-local/index.php
cp -f /roger/homepage/temp/index-ohoarau.php /roger/homepage/ohoarau-local/index.php
chown -R nobody:nogroup /roger/homepage/ohoarau-local
chown -R nobody:nogroup /roger/homepage/online-local

Voilà le fichier /var/log/adsl après une reconnexion

dim avr 18 11:21:59 CEST 2004
starting relance_apache
new IP: 81.251.76.241
ipcheck.py: funix.homelinux.org good 81.251.76.241 -update successful
ipcheck.py: ohoarau.homelinux.org good 81.251.76.241 -update successful

Je me retrouve avec un fichier /usr/local/adsl/ipcheck.dat automatiquement mis à jour contenant

81.251.76.241

funix.homelinux.org
ohoarau.homelinux.org

Si ipcheck.py se plaint que le fichier ipcheck.dat n'existe pas (lors de la première connexion par exemple), il suffira de taper

python /usr/local/adsl/ipcheck.py -a $IP --makedate -d /usr/local/adsl login-dyndns mot-de-passe-en-clair-dyndns funix.homelinux.org,ohoarau.homelinux.org
[retour haut de la page ]

Mettre en place un firewall

Il existe déjà d'excellents sites qui détaillent le fonctionnement de netfilter (dont fait parti iptables). Je me garderai bien d'essayer d'en faire autant. Pour ceux qui veulent tout savoir sur netfilter pour construire un firewall aux petits oignons ces sites sont vraiment très bien détaillés

http://www.linux-france.org/prj/inetdoc/guides/packet-filtering-HOWTO/
http://olivieraj.free.fr/fr/linux/programme/netfilter_cfg/
http://christian.caleca.free.fr/netfilter/

L'inconvénient de ces sites est qu'il ne fournit pas forcément une solution clé en main, il faudra se creuser un peu le ciboulot pour construire son firewall. Pour ceux qui veulent pas faire cet effort lea-linux donne des exemples plus basiques qui pourraient convenir à tout un chacun

http://lea-linux.org/reseau/murdefeu.php3
http://lea-linux.org/reseau/firewall.php3

La palme revient à ce site http://easyfwgen.morizot.net/ qui permet de générer à la volée un script firewall adapté à votre config.

Sur ma Mandrake, j'ai mis les règles iptables dans un script /etc/rc.d/rc.firewall, j'ai aussi un script /etc/rc.d/flush_iptables (récupéré sur Lea-linux) qui permet de remettre à 0 toutes les règles iptables. Ces deux scripts sont des exécutables. Voilà flush_iptables

#!/bin/sh
#
# Script pour vider les règles iptables
# Arnaud de Bermingham
# duracell@apinc.org

#
# On remet la police par défaut à ACCEPT
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#
# On remet les polices par défaut pour la table NAT
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

#
# On vide (flush) toutes les règles existantes
#
iptables -F
iptables -t nat -F

#
# Et enfin, on efface toutes les chaînes qui ne
# sont pas à defaut dans la table filter et nat

iptables -X
iptables -t nat -X

# Message de fin
echo " [termine]"


[retour haut de la page ]


J'ai également un script exécutable /etc/rc.d/init.d/firewall (récupéré aussi sur Lea-linux) qui permet de lancer et d'arrêter le firewall, j'ai rajouté des lignes pour configurer le lancement et l'arrêt automatique il contient

#!/bin/bash
#
# Lancement du script de Firewall
# Arnaud de Bermingham

# Default-Start etat de marche  2 3 5
# Default-Stop etat de marche   0 1 6

# chkconfig: 2345 25 90
# description: Packet filtering firewall

. /etc/init.d/functions

RETVAL=0

# Fonction pour le lancement du firewall
start() {
        echo -n "Application des règles IpTables: "
        /etc/rc.d/rc.firewall
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/firewall
        echo
        }

# Fonction pour arrêter le firewall (on flush)
stop() {
       echo -n "Flush des règles IpTables: "
       /etc/rc.d/flush_iptables
       RETVAL=$?
       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/firewall
       echo
       }
case "$1" in
        start)
             start
             ;;
        stop)
             stop
             ;;
        restart)
             stop
             start
             ;;
        status)
             /sbin/iptables -L
             /sbin/iptables -t nat -L
             RETVAL=?
             ;;
        *)
             echo "Usage: firewall {start|stop|restart|status}"
             RETVAL=1
             esac

exit

Pour un lancement automatique à l'état de marche 2, 3 et 5 on tapera

cd /etc/rc.d/init.d
chkconfig --level 235 firewall on

Et pour un arrêt aux autres états de marche

chkconfig --level 016 firewall off

Pour ceux à qui la ligne de commande donnent des boutons, il reste les interfaces à iptables dont shorewall fait parti.

Voilà la doc en français si vous êtes un poste isolé (pas de réseau local)
http://shorewall.net/standalone_fr.html
Si vous avez deux interfaces (internet et réseau local par exemple) c'est par ici (toujours en français)
http://shorewall.net/two-interface_fr.html
Et enfin si vous avez trois interfaces (internet, réseau local, wireless par exemple)
http://shorewall.net/three-interface_fr.html

[retour haut de la page ]

Tester sa connexion

Tests de sécurité

Voilà quelques sites pour tester votre firewall

http://www.pcflank.com/test.htm
http://grc.com/default.htm (cliquez sur le lien ShieldUp!)
http://check.sdv.fr
http://www.auditmypc.com/freescan/prefcan.asp
http://www.ixus.net/modules.php?name=scan (enregistrement nécessaire sur le site)

Mais le meilleur des tests est de trouver un pote sur internet qui veut bien vous scanner avec nmap ou nessus (page auditer sa sécurité).

[retour haut de la page ]

Tests de vitesse

Voici quelques sites pour tester votre vitesse connexion.

http://www2.tsr.ch/bandtest/test.php

http://www.ixus.net/modules.php?name=speed
Un site qui recense 100 autres pour estimer sa vitesse de connexion !
http://www.libellules.ch/100speedtest.php
Et également http://grenouille.com/
 
[Retour page d'accueil FUNIX]
[retour haut de la page ]