[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ successivo ]

La guida Debian
Capitolo 10 - Costruire un gateway con un sistema Debian


Debian offre gli strumenti per costruire un gateway multiuso, in grado di padroneggiare NAT, posta, DHCP, DNS cache, HTTP proxy cache, CVS, NFS, e Samba per una LAN casalinga. Vedere Netfilter, dove molti argomenti sulla configurazione di rete vengono spiegati.


10.1 Configurazione di rete


10.1.1 Configurazione dell'host per il gateway

Una LAN usa gli indirizzi IP per la seguente rete privata, per evitare interferenze con gli indirizzi IP provenienti da Internet.

     Classe A: 10.0.0.0                    con mask 255.0.0.0
     Classe B: 172.16.0.0 - 172.31.0.0     con mask 255.255.0.0
     Classe C: 192.168.0.0 - 192.168.255.0 con mask 255.255.255.0

Per la configurazione IP, Debian usa /etc/network/interfaces.

Per esempio, se eth0 si connette ad Internet tramite un indirizzo IP fornito da DHCP e eth1 si connette alla LAN, /etc/network/interfaces sarà impostato come segue (Woody e seguenti):

     auto lo
     iface lo inet loopback
     
     auto eth0 
     iface eth0 inet dhcp
     
     auto eth1 
     iface eth1 inet static 
     address 192.168.1.1 
     network 192.168.1.0
     netmask 255.255.255.0 
     broadcast 192.168.1.255

Date il seguente comando per aggiornare la configurazione di rete sulla base di un nuovo /etc/network/interfaces:

     # /etc/init.d/networking restart

Ricorda: il file interfaces di Woody o di rilasci successivi non è compatibile con Potato.

Se il sistema utilizza una NIC PCMCIA,l'impostazione di rete deve avvenire tramite /etc/pcmcia/network.opts in Potato. In Woody questo problema è stato risolto.

Se avete dubbi, controllate l'ouput dei seguenti comandi:

     # ifconfig
     # cat /proc/pci
     # cat /proc/interrupts
     # dmesg|more

Talvolta DSL (PPPoE?) ha dei problemi col MTU. fate riferimento all'LDP DSL-HOWTO. Se avete problemi con siti web particolari, guardate Strani problemi di accesso con alcuni siti web, Sezione 3.7.5.


10.1.2 Tappe della configurazione di rete

Il set tipico di programmi:

     # apt-get install nfs samba dhcpd dhcp-client bind squid procmail fetchmail 
     # apt-get install ssh cvs

Poi, controllate i seguenti file:

     /etc/init.d/dhcpd       (modificate per servire solo LAN = eth1)
     /etc/host.allow         (ALL: 192.168.0.0/16 127.0.0.0/8) per NFS
     /etc/exports            (Necessario per NFS)
     /etc/bind/db.192.168.1  (aggiungere)
     /etc/bind/db.lan        (aggiungere)
     /etc/bind/named.conf    (modificare)
     /etc/resolv.conf        (modificare)
     /etc/hosts
     /etc/dhcpd.conf         (modificare per LAN = eth1)
     /etc/dhclient.conf      (modificare per forzare il DNS locale)
     /etc/samba/smb.conf
     /etc/exim/exim.conf
     /etc/mailname
     /etc/aliases
     /etc/squid.conf         (aggiungere tutti gli IP degli host della LAN sotto allowed)

bind crea una cache locale dei server DNS server e cambia DNS in localhost. Controllate /etc/resolv.conf:

     nameserver 127.0.0.1
     search lan.aokiconsulting.com

10.2 Configurare netfilter

Il progetto netfilter/iptables è un sottosistema di firewalling per Linux 2.4 e successivi. Vedere Netfilter, dove vengono spiegati molti argomenti relativi alla configurazione di rete.


10.2.1 Le basi di netfilter

Netfilter processa i pacchetti usando una catena di 5 table: PREROUTING, INPUT, FORWARD, OUTPUT, and POSTROUTING.

                      decisione sul
                      routing
     IN ------>  PRE ---> ------> FORWARD -----> ----> POST -----> OUT
     interfaccia ROUTING  \       tracciamento /       ROUTING     interfaccia
                 DNAT     |       filtro       ^       SNAT
                 REDIRECT |                    |      MASQUERADE
                          v                    |
                        INPUT                OUTPUT
                          | filtro             ^ filtro,DNAT 
                          v                    |
                          \--> Processo Locale --/
                                  programmi nello user-space

10.2.2 La table di netfilter

I pacchetti vengono processati ad ogni anello della catena, usando le seguenti table.


10.2.3 I target di netfilter

Le regole di firewall hanno parecchi target:


10.2.4 I comandi di netfilter

I comandi base di iptables sono:

     iptables -N catena # crea una catena
     
     iptables -A catena \ # aggiunge una regola alla catena
     -t table \ # usa una table (filter, nat, mangle) -p
     protocollo \ # tcp, udp, icmp, o tutti, -s
     indirizzo-sorgente[/mask] \ --sport porta[:porta] \ #
     porta sorgente se -p è tcp o udp -d destination-address[/mask] \
     --dport porta[:porta] \ # porta di destinazione se -p è tcp o udp
     -j target \ # cosa fare se corrisponde -i
     nome-interfaccia-ingresso \ # per INPUT, FORWARD, PREROUTING -o
     nome-interfaccia-uscita # per FORWARD, OUTPUT, POSTROUTING

10.2.5 IP-masquerade

Le macchine in una LAN possono accedere all'esterno attraverso un gateway su cui gira IP-masquerade (NAT) mediante la condivisione di un unico indirizzo IP accessibile dall'esterno.

     # apt-get install ipmasq

Applicate le rules come da esempio per rafforzare la protezione di ipmasq. Vedere /usr/share/doc/ipmasq/examples/stronger/README. Per la kernel-image-2.4 Debian, assicuratevi di caricare i moduli appropriati. Vedere Funzioni di rete, Sezione 7.2.3 per le configurazioni necessarie.

Per la kernel-image-2.2 Debian, modificate Z92timeouts.rul in /etc/masq/rules come segue per assicurare una connessione più lunga ai siti remoti (buona per mail di grosse dimensioni, ecc.):

     # tcp, tcp-fin, udp
     # 2hr, 10 sec, 160 sec - default
     # 1 day, 10 min, 10 min - più lungo, esempio
     $IPCHAINS -M -S 86400 600 600

In più, se la rete è raggiunta tramite una NIC PCMCIA, ipmasq deve essere lanciato da /etc/pcmcia/network.opts. (leggete /usr/share/doc/ipmasq/ipmasq.txt.gz)


10.2.6 Redirigere una connessione SMTP (2.4)

Supponiamo che abbiate un portatile che è configurato per utilizzare altri parametri di LAN e che vogliate usare il vostro agente di posta sul portatile senza doverlo riconfigurare.

Aggiungendo le regole seguenti tramite il comando iptables alla macchina gateway redirigerà la connessione SMTP alla macchina gateway.

     # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -j REDIRECT \
                -p tcp --dport smtp --to-port 25 # smtp=25, INPUT is open

Per una serie di regole di redirezione più completa, considerate l'installazione del pacchetto ipmasq e l'aggiunta di M30redirect.def alla directory /etc/ipmasq/rules/.


10.3 Gestione di connessioni multiple di rete

[DA CORREGGERE] Regole di routing: (da Phil Brutsche pbrutsch@tux.creighton.edu) Vedere il manuale iproute per i dettagli. Il traffic control (tc) potrebbe anche risultare interessante.

L'ambiente:

     eth0: 192.168.1.2/24; gateway 192.168.1.1
     eth1: 10.0.0.2/24; gateway 10.0.0.1
     Nessun masquerading su questa macchina.

Alcune magie:

     # ip rule add from 192.168.1.2 lookup 1
     # ip rule add from 10.0.0.2 lookup 2
     # ip route add to default via 10.0.0.1 metric 0
     # ip route add to default via 192.168.1.1 metric 1
     # ip route add table 1 to 192.168.1.0/24 via eth0
     # ip route add table 1 to 10.0.0.2/24 via eth1
     # ip route add table 1 to default via 192.168.1.1
     # ip route add table 2 to 192.168.1.0/24 via eth0
     # ip route add table 2 to 10.0.0.2/24 via eth1
     # ip route add table 2 to default via 10.0.0.2

[DA CORREGGERE] Non l'ho mai fatto personalmente. Come impostare una connessione dialup come riserva di una connessione veloce con la caratteristica di auto-dial? Patch sono ben accolte :)


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ successivo ]

La guida Debian

1.07-12, mer set 8 02:54:31 UTC 2004

Osamu Aoki osamu@debian.org
Editor: David Sewell dsewell@virginia.edu
Traduzione italiana: Davide Di Lazzaro mc0315@mclink.it
Autori, Sezione A.1