pont sous linux


Le pont servira de firewall avancé et fera la mise en forme du  trafic sortant et entrant.

                               -------------------------------------
Voici quelque détails.

materiel:
Pentium 90,RAM 32Mo ,DD 500Mo et 3 cartes réseaux dont 1 intégrée.
2 cartes Realtek 8029A  avec le module ne2k-pci.o servent au bridging.
2 cables croisés.
Le noyau est un 2.4.20 recompilé avec le support bridging & Qos.

Au niveau documentation, j'ai la doc léa-linux,le howto bridging et l'article du HS linux mag
sur un firewall proxy ARP.

La doc de Léa-linux est la bienvenue, mais en la suivant, la communication ne se fait pas, les 2 
interfaces reçoivent bien des paquets, mais elles ne communiquent pas entre elles!!
tcpdump n'enregistre que des requètes ARP du style: "who-has 192.168.0.2 tell 192.168.0.3"
"pont" est le nom de l'interface de bridging.

                               -------------------------------------
chargement des modules:

                   #modprobes ne2k-pci

configuration de interfaces:

                   #ifconfig eth0 0.0.0.0 promisc
                   #ifconfig eth1 0.0.0.0 promisc

Création du pont:

                   #brctl addbr pont 

Rattachement des interfaces au pont:

                   #brctl addif pont eth0
                   #brctl addif pont eth1

En se réferant au howto officiel (un peu vieux, mais bon..:), j'apprend qu'il faut activer
l'interface "pont":

                  #ifconfig pont up

                                    ...et voila c'est tout bon.

Il faut bien passer les cartes en promiscous, pour pouvoir communiquer.

La commande #brctl showmacs pont indique les adresses mac des interfaces communiquant avec la machines (local ou distant).

port no	mac addr		is local?	ageing timer
  1	00:01:02:1e:af:fc	no		   0.92
  2	00:10:b5:d9:10:49	no		   0.92
  1	00:40:95:41:0f:5e	yes		   0.00
  2	00:50:bf:4f:15:6c	yes		   0.00

La commande #brctl showstp  pont indique l'etat des interfaces. 

pont
bridge id		8000.004095410f5e
designated root	8000.004095410f5e
root port		   0			path cost		   0
max age		  20.00			bridge max age		  20.00
hello time		   5.00			bridge hello time	   5.00
forward delay		   4.00			bridge forward delay	   4.00
ageing time		 300.00			gc interval		   4.00
hello timer		   4.46			tcn timer		   0.00
topology change timer	   0.00			gc timer		   2.46
flags			


eth0 (1)
port id	   	            8001			state			forwarding
designated root	8000.004095410f5e	path cost		 100
designated bridge	8000.004095410f5e	message age timer	   0.00
designated port	8001			forward delay timer	   0.00
designated cost	   0			hold timer		   0.00
flags			

eth1 (2)
 port id		8002			state			forwarding
designated root	8000.004095410f5e	path cost		 100
designated bridge	8000.004095410f5e	message age timer	   0.00
designated port	8002			forward delay timer	   0.00
designated cost	   0			hold timer		   0.00
flags		

                                -------------------------------------

Les disciplines de Qos ont l'air de bien accrochés, il faut juste "matcher" les paquets avec
le classificateur U32, le support NETFILTER imposant de patcher son kernel(pour le marquage de paquets avec "mangle"). 

Un script "init.d" est disponible ICI, il servira a la mise en place
automatique du pont au démarrage.  il faut bien sur linker le script:
                         
                    #cd /etc/init.d/rc3.d/
                    #ln -s ../pont S01pont
                    #ln -s ../pont K19pont

                                            .....et c'est fini.

                                                                                                    antonio

PS: Je viens de recvoir le noyau 2.4.19 avec le patch netfilter, des que j'ai un moment, je l'installe
et écris les règles, il ne restera qu'a implenter la Qos.
Il faudra aussi réactiver la 3ème carte réseau, pour exporter les logs et l'administrer a distance.
                     
                               ---------------------------------------

Ca y est, le kernel 2.4.19 est installé, dur,dur, je l'ai recompilé a partir d'une autre machine: manque
 de place sur le DD + opération bien trop longue pour mon pentium 75 :).
J'ai tout mis en dur, mais j'ai quand meme copié /lib/modules/2.4.19/ sur ma machine.
Aprés un essai, tout a l'air de marcher nickel.