Connecter un r�seau priv� � l'Internet avec un serveur d�di� qui g�re le routage des paquets � partir du r�seau local vers l'Internet tout en proposant des services de proxy/cache et la s�curit� d'un firewall est un th�me complexe qui va au-del� du but de ce document. Il existe d'autres « Howto » qui expliquent ces sujets de mani�re beaucoup plus compr�hensible. Vous trouverez, � la fin de ce document, une liste de liens et de r�f�rences vers ces documents.
Ici, nous nous contentons de configurer Diald en supposant que l'ordinateur
fait d�ja du masquage d'adresses IP (IP-Masquerading), dispose d'un proxy
tel que Squid, d'une connexion � un FAI correctement configur�e
et que la s�curit� des acc�s aux ports TCP/UDP a �t� revue (fichiers
/etc/inetd.conf
et autres tels que securetty
,
host.allow
, etc.).
Pour faire simple, il suffit uniquement de reconfigurer les r�gles pour le
masquage/le filtrage/l'acc�s, � chaque fois que le jeu d'interfaces change, donc
quand l'interface ppp0 est �tablie et qu'elle est d�truite. De bons endroits pour
faire cela sont les scripts ip-up
et ip-down
de pppd.
Avec Debian il vous suffit d'installer le paquetage ipmasq et de dire, au
moment de la configuration, que vous voulez changer les r�gles de mani�re
synchrone � pppd.
Des scripts seront cr��s dans les r�pertoires
/etc/ppp/ip-up.d
et /etc/ppp/ip-down.d
pour prendre en charge
le lancement de /sbin/ipmasq
, un script qui analyse les interfaces
existantes et cr�e une configuration simple qui est valable dans la plupart des
cas ; vous pouvez le personnaliser � l'aide des fichiers de r�gles de
/etc/ipmasq/rules
.
La seule correction � faire apr�s avoir install� ce paquetage est de modifier le
moment du lancement du script ipmasq en effa�ant le lien symbolique contenu
dans le r�pertoire /etc/rcS.d
et en en cr�ant un nouveau dans
/etc/rc2.d
apr�s S20diald
. � pr�sent, quand ipmasq
est
ex�cut� pour analyser les interfaces, s10
existe d�j�. S90ipmasq
est
un bon nom pour ce lien symbolique qui pointe vers /etc/init.d/ipmasq
.
Le fait d'utiliser Debian vous permet de ne pas avoir � vous soucier de la
version de votre noyau puisque le script /sbin/ipmasq
utilise
ipfwadm
ou ipchains
selon le cas.
Cet exemple nous vient de M. Cornish Rex, troll@tnet.com.au
.
Les commandes d'ip-masq et du contr�le de routage mises en oeuvre ici sont � employer avec les noyaux version 2.2 qui utilisent ipchains et ne sont pas valides pour les versions 2.0.
Nous allons supposer que l'interface ethernet a l'adresse ip 192.168.1.1 avec un masque r�seau de 16 bits, soit 255.255.0.0.
Voici le fichier /etc/ppp/ip-up
:
#!/bin/sh
# $1 = Interface
# $2 = Tty device
# $3 = speed
# $4 = local ip
# $5 = remote ip
# $6 = ipparam
/sbin/ipchains -F input
/sbin/ipchains -P input DENY
/sbin/ipchains -A input -j ACCEPT -i eth0 -s 192.168.0.0/16 -d 0.0.0.0/0
/sbin/ipchains -A input -j DENY -p udp -i $1 -s 0.0.0.0/0 -d $4/32 0:52 -l
/sbin/ipchains -A input -j DENY -p udp -i $1 -s 0.0.0.0/0 -d $4/32 54:1023 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 0:112 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 114:1023 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 6000:6010 -l
/sbin/ipchains -A input -j DENY -p icmp --icmp-type echo-request \
-i $1 -s 0.0.0.0/0 -l
/sbin/ipchains -A input -j DENY -p icmp -f -i $1 -s 0.0.0.0/0 -l
/sbin/ipchains -A input -j DENY -p udp -i $1 -s 0.0.0.0/0 -d $4/32 5555 -l
/sbin/ipchains -A input -j DENY -p udp -i $1 -s 0.0.0.0/0 -d $4/32 8000 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 8000 -l
/sbin/ipchains -A input -j DENY -p udp -i $1 -s 0.0.0.0/0 -d $4/32 6667 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 6667 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 4557 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 4559 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 4001 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 2005 -l
/sbin/ipchains -A input -j DENY -p tcp -i $1 -s 0.0.0.0/0 -d $4/32 6711 -l
/sbin/ipchains -A input -j DENY -i $1 -s 192.168.0.0/16 -d 0.0.0.0/0 -l
/sbin/ipchains -A input -j ACCEPT -i $1 -s 0.0.0.0/0 -d $4/32
/sbin/ipchains -A input -j ACCEPT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0
/sbin/ipchains -A input -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 -l
/sbin/ipchains -F output
/sbin/ipchains -P output DENY
/sbin/ipchains -A output -j ACCEPT -i eth0 -s 0.0.0.0/0 -d 192.168.0.0/16
/sbin/ipchains -A output -j DENY -i $1 -s 192.168.0.0/16 -d 0.0.0.0/0 -l
/sbin/ipchains -A output -j ACCEPT -i $1 -s $4/32 -d 0.0.0.0/0
/sbin/ipchains -A output -j ACCEPT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0
/sbin/ipchains -A output -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0
/sbin/ipchains -F forward
/sbin/ipchains -P forward DENY
/sbin/ipchains -M -S 120 120 120
/sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24
/sbin/ipchains -A forward -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0
exit 0
Voici le fichier /etc/ppp/ip-down
:
#!/bin/sh
# $1 = Interface
# $2 = Tty device
# $3 = Speed
# $4 = Local ip
# $5 = Remote ip
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward
/sbin/ipchains-restore < /etc/ppp/orig.chains
Voici le dernier fichier du dernier script, origin.chain
(statut original
d'ipchains) :
# orig.chains
# cr�e avec : ipchains-save> orig.chains
:input ACCEPT
:forward ACCEPT
:output ACCEPT
-A input -s 0.0.0.0/0.0.0.0 -d 192.168.1.1/255.255.255.255
-A output -s 192.168.1.1/255.255.255.255 -d 0.0.0.0/0.0.0.0
Cet exemple nous a �t� donn� par Hoo Kok Mun, hkmun@pacific.net.sg
.
C'est l'exemple le plus simple qu'il m'ait �t� donn� de voir mais il est
compl�tement fonctionnel. Cet exemple nous montre comment
configurer le masquage avant l'existence de l'interface s10
et il ne
change pas quand l'interface ppp0 appara�t. Si vos exigences en mati�re de
s�curit� sont assez �lev�es, il peut s'av�rer limit�.
#/etc/rc.d/rc.local
/sbin/ipfwadm -F -p deny
/sbin/ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0
Comme vous pouvez le voir, il est destin� aux noyaux version 2.0.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:34