Differences between revisions 1 and 2
Revision 1 as of 2011-08-12 00:40:04
Size: 3202
Editor: Kurgan
Comment:
Revision 2 as of 2011-08-12 00:41:52
Size: 3300
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
 * Alla fine, installare il kernel-image che e` stato creato in {{{/usr/src}}}:  * Alla fine, installare il kernel-image che e` stato creato in {{{/usr/src}}} (eventualmente anche i kernel-headers se dovessero servire per compilare altri moduli sul kernel):

Firewall con due o piu` ADSL in bilanciamento

Questa configurazione serve a creare un firewall in grado di usare contemporanemente due (o piu`) ADSL per servire, con il NAT, una rete di client. Il carico del traffico generato dai client viene distribuito sulle due ADSL in percentuali stabilite in configurazione. Nel caso in cui una delle ADSL muoia, pero`, occorre necessariamente intervenire a mano per "disattivarla", a meno che non venga a mancare il link sulla NIC del firewall, nel qual caso il sistema si rende conto da solo che quel percorso e` morto, e smette di usarlo fino a che non torna il link.

Purtroppo per ottenere questo risultato occorre applicare una patch al kernel, perche` non facendolo succede che una parte del traffico nattato esce sull'interfaccia sbagliata (traffico su eth1 con l' ip di eth2 e viceversa). La patch inserisce un ulteriore meccanismo di controllo sullo stato delle connessioni nattate e su dove devono essere inoltrati i pacchetti.

Passo 1: ricompilare il kernel

  • Installare il source del kernel e cio` che serve per compilarlo:
    aptitude install linux-source-2.6 kernel-package ncurses-dev fakeroot wget bzip2
  • Scaricare la patch relativa al proprio kernel dal sito http://www.ssi.bg/~ja/#routes. Per il kernel di Debian Squeeze, versione 2.6.32, useremo la patch http://www.ssi.bg/~ja/routes-2.6.32-16.diff.

  • Estrarre il tar.bz2 del kernel in /usr/src
  • Entrare nella directory del sorgente del kernel
  • Applicare la patch:
    patch  -p 1 < ../routes-2.6.32-16.diff
  • Copiare la configurazione del kernel che stiamo usando attualmente (che si suppone sia lo stesso dei sorgenti) da /boot:

    cp /boot/config-2.6.32-5-amd64 .config
  • Dare un make menuconfig e se necessario modificare i parametri del kernel (o modificarli a mano nel file .config). A riguardo leggere le note delle patch, se indicano che occorre modificare qualcosa. Con questa versione del kernel non dovrebbe essere necessario.

  • Dare un make-kpkg clean

  • Ora compilare con il parametro append-to-version= una stringa a mia scelta che inizia con "-"

    make-kpkg --initrd --append-to-version=-multipath1 kernel-image kernel-headers
  • Ora puoi andare a farti una pizza, ci vorra` un'ora circa...
  • Alla fine, installare il kernel-image che e` stato creato in /usr/src (eventualmente anche i kernel-headers se dovessero servire per compilare altri moduli sul kernel):

    dpkg -i "package del kernel.deb"
  • Controlla quale versione fa partire grub ed eventuale correzione in /etc/default/grub
  • Riavvia e spera che il kernel si carichi bene

Passo 2: configurare le interfacce

Questo firewall richiede necessariamente una interfaccia fisica (o al limite una vlan, ma non un alias) per ogni ADSL, quindi per un esempio con due ADSL servono come minimo tre interfacce (LAN, WAN1, WAN2). Configurare le interfacce normalmente in /etc/network/interfaces avendo cura di NON impostare un gateway predefinito in nessuna delle WAN. In questo modo la macchina parte senza un gateway impostato, quindi di default non va su internet.

Passo 3: configurare il routing

TODO

Passo 4: regole di firewll per il nat

TODO

LinuxDebian/MultiPathRouting (last edited 2013-02-04 14:08:20 by Kurgan)