Page suivantePage pr�c�denteTable des mati�res

8. Connexion d'un proxy/firewall � un FAI � l'aide d'un modem et de PPP

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.

8.1 Exemple pour Debian 2.1

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.

8.2 Exemple pour Suse 6.1

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

8.3 Exemple pour Slackware 3.6

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.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:34