1. APPENDICE C - Linux Bridge

1) Procurarsi ed estrarre i sorgenti del kernel (http://www.kernel.org).

2)Scaricare la patch del kernel. I kernel successivi al 2.2 (dal 2.4 e successivi) non hanno bisogno dell a patch perchè il codice è già integrato nell' archivio.Tuttavia è necessaria una patch per l'utilizzo del bridge firewalling (solo con iptables!!!)

Tutti i sorgenti possono essere scaricati da qui:

http://bridge.sourceforge.net/download.html

In particolare, abbiamo usato la patch: bridge-nf-0.0.7-against-2.4.19.diff

Assumendo che il kernel e la patch siano in /usr/src/linux

#cd /usr/src/linux

#pathc -p1 < bridge-nf-0.0.7-against-2.4.19.diff

e ricompilare il kernel (vedi sezione successiva).

Bisogna ache aver installato le bridge-utils (anche dopo la ricompilazione del kernel).

Ne esistono sia gli rpm che i sorgenti tar.gz (http://bridge.sourceforge.net/download.html)





Ricompilazione del kernel

#bash: cd /usr/src/linux

#bash: make mrproper; make make xconfig;

#bash: make dep; make bzImage; make modules; makem modules_install

Configurare il bridge

Assicurarsi che le interfacce coninvolte nel bridge funzionino e siano attive.

Consultare la guida di ifconfig e/o

Non preoccuparsi di assegnare IP-addresses o net-masks alle interfacce coinvolte.

Se avete compilato il bridge come modulo, assicuratevi la sua presenza con:

#bash: modprobe -v bridge

Se le bridge-utils sono state correttamente installate, avete a disposizione il nuovo comando brctl.



Sintassi del comando brctl

6.1. brctl Command Synopsis

root@mbb-1:~ # brctl

commands:

addbr <bridge> add bridge (1)

addif <bridge> <device> add interface to bridge (2)

delbr <bridge> delete bridge (3)

delif <bridge> <device> delete interface from bridge (4)

show show a list of bridges (5)

showbr <bridge> show bridge info (6)

showmacs <bridge> show a list of mac addrs (7)

setageing <bridge> <time> set ageing time (8)

setbridgeprio <bridge> <prio> set bridge priority (9)

setfd <bridge> <time> set bridge forward delay (10)

setgcint <bridge> <time> set garbage collection interval (11)

sethello <bridge> <time> set hello time (12)

setmaxage <bridge> <time> set max message age (13)

setpathcost <bridge> <port> <cost> set path cost (14)

setportprio <bridge> <port> <prio> set port priority (15)

stp <bridge> <state> {dis,en}able stp (16)