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.