Avanti Indietro Indice

4. Guida rapida alla transizione dai kernel 2.0 e 2.2

Mi dispiace per tutti coloro che sono rimasti traumatizzati dal passaggio dalla 2.0 (ipfwadm) alla 2.2 (ipchains). Ci sono novità buone e cattive.

Prima di tutto, si possono utilizzare ipchains e ipfwadm come prima. E' necessario però usare insmod per caricare i moduli del kernel `ipchains.o' o `ipfwadm.o' presenti nell'ultima distribuzione di netfilter. Questi sono mutuamente esclusivi, o si usa uno o l'altro (siete avvertiti), e non dovrebbero essere combinati con nessun modulo di netfilter.

Quando si è installato uno o l'altro di questi moduli si può usare ipchains e ipfwadm come al solito, con però le seguenti differenze:

Gli hacker inoltre noteranno che:

4.1 Voglio giusto il masquerading! Aiuto!

Questo è ciò che vuole la maggior parte delle persone. Se si ha un indirizzo IP dinamico PPP (dialup) (se non lo si sa, allora lo si ha), quello che si desidera è di poter dire alla propria box che tutti i pacchetti provenienti dalla propria rete locale devono essere visti come provenienti dalla box collegata in dial-up.

# Carica il modulo NAT (questo aggiunge tutti gli altri).
modprobe iptable_nat

# Nella tabella NAT (-t nat), appendi una regola (-A) che dopo il routing
# (POSTROUTING) per tutti i pacchetti in uscita dalla ppp0 (-o ppp0)
# mascheri la connessione (-j MASQUERADE).
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Attiva l'IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Si noti che qui non si sta effettuando alcun filtraggio dei pacchetti, per questo tipo di operazioni si legga il Packet Filtering HOWTO: `Mescolare NAT e filtraggio dei pacchetti'.

4.2 Che cosa a riguardo di ipmasqadm?

Questo è un bacino di utenza ancora più ristretto, perciò non mi sono preoccupato molto di garantire la compatibilità. Per effettuare il port forwarding si può semplicemente usare `iptables -t nat'. Per esempio, in Linux 2.2 probabilmente si è fatto uso di:

# Linux 2.2
# Fai proseguire i pacchetti TCP diretti alla porta 8080 indirizzo 1.2.3.4
# verso l'indirizzo 192.168.1.1 porta 80
ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80

Ora invece si dovrebbe usare:

# Linux 2.4
# Appendi una regola di pre-routing (-A PREROUTING) alla tabella NAT (-t nat)
# in modo che i pacchetti TCP (-p tcp) destinati all'indirizzo 1.2.3.4 (-d
# 1.2.3.4) porta 8080 (--dport 8080) siano diretti (-j DNAT) verso l'indirizzo
# 192.168.1.1, porta 80 (--to 192.168.1.1:80).
iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 \
        -j DNAT --to 192.168.1.1:80


Avanti Indietro Indice