Configurare shorewall in modo da far funzionare tutto in GNet potrebbe non essere banale. Detto in altro modo, ci abbiamo perso un po' di tempo prima di capire come potesse funzionare.
Riporto un esempio dei file principali che si trovano in Shorewall (o almeno dei pezzi interessanti) perché anche voi nuovi partecipanti non incontriate le stesse difficoltà :)
Ovviamente questa configurazione è un esempio, e non è detto che sia il modo perfetto di fare le cose.
Vogliamo fare le seguenti operazioni:
gnet
in modo che poi tutte le interfacce di rete che fanno parte della rete ricadano sotto di essa e non sia necessario riscrivere ogni volta le stesse regole;gnet
dei messaggi di ospf e il routing all'interno della zone;
Definiamo prima di tutto la zona gnet
nel file /etc/shorewall/zones
:
# /etc/shorewall/zones ZONE TYPE gnet ipv4
Controlliamo che in /etc/shorewall/shorewall.conf
sia presente la voce
IP_FORWARDING = On
per attivare l'IP forwarding.
Modifichiamo ora il file /etc/shorewall/interfaces
per fare in modo che tutte
le interfacce di rete affacciate su GNet rientrino nella zona gnet
. Scriveremo
quindi delle voci simili a queste
# /etc/shorewall/interfaces ZONE INTERFACE BROADCAST OPTIONS gnet gnet1 detect tcpflags, nosmurfs gnet gnet2 detect tcpflags, nosmurfs
dove gnet1
e gnet2
sono le interfacce affacciate su gnet
.
Permettiamo ora il traffico del protocollo 89 all'interno della zona gnet
editando
il file /etc/shorewall/rules
ed aggiungendo le seguenti righe:
# /etc/shorewall/rules # # Accettiamo i messaggi dalla zona gnet sul protocollo 89 ACCEPT gnet $FW:224.0.0.0/4 89 ACCEPT gnet gnet:224.0.0.0/4 89
Vogliamo ora permettere il routing all'interno della zone gnet
(questo è il passo fondamentale)
e editiamo quindi file /etc/shorewall/policy
introducendo la riga
# /etc/shorewall/policy SOURCE DEST POLICY [ ... ] gnet gnet ACCEPT
A questo punto ricarichiamo shorewall:
shorewall safe-restart
e speriamo che tutto funzioni.