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.
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.
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,
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.
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.
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
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]"
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
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é).
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/