Product SiteDocumentation Site

Capitolo 10. Infrastruttura di rete

10.1. Gateway
10.2. Rete privata virtuale (VPN)
10.2.1. OpenVPN
10.2.2. Rete privata virtuale con SSH
10.2.3. IPSec
10.2.4. PPTP
10.3. Qualità del servizio (QoS)
10.3.1. Principi e meccanismi
10.3.2. Configurazione ed implementazione
10.4. Instradamento dinamico
10.5. IPv6
10.5.1. Tunneling
10.6. Server dei nomi di dominio (DNS)
10.6.1. Principi e meccanismi
10.6.2. Configurazione
10.7. DHCP
10.7.1. Configurazione
10.7.2. DHCP e DNS
10.8. Strumenti di diagnosi di rete
10.8.1. Diagnosi locale: netstat
10.8.2. Diagnosi da remoto: nmap
10.8.3. Sniffer: tcpdump e wireshark
Linux beneficia del notevole patrimonio di Unix nel campo delle reti, e Debian offre una gamma completa di strumenti per la loro creazione e gestione. Questo capitolo esamina questi strumenti.

10.1. Gateway

Un gateway è un sistema di connessione tra reti diverse. Questo termine si riferisce spesso al «punto di uscita» di una rete locale sul percorso obbligato per tutti gli indirizzi IP esterni. Il gateway è connesso a ciascuna delle reti che collega insieme, e agisce come un router per trasmettere i pacchetti IP tra le varie interfacce.
Quando una rete locale utilizza un intervallo di indirizzi privati (non instradabili su Internet), il gateway deve attuare il mascheramento degli indirizzi in modo che le macchine sulla rete possano comunicare con il mondo esterno. L'operazione di mascheramento è una sorta di proxy operante a livello di rete: ogni connessione in uscita da una macchina interna viene sostituita con una connessione dal gateway stesso (in quanto il gateway ha un indirizzo instradabile verso l'esterno), i dati che passano dalla connessione mascherata vengono inviati alla nuova, ed i dati che ritornano in risposta vengono inviati attraverso la connessione mascherata alla macchina interna. Il gateway utilizza una serie di porte TCP dedicate a questo scopo, di solito con numeri molto elevati (oltre 60000). Ogni connessione proveniente da una macchina interna appare quindi al mondo esterno, come una connessione proveniente da una di queste porte riservate.
Il gateway può anche eseguire due tipi di Network Address Translation (Traduzione degli Indirizzi di Rete o abbreviato NAT). Il primo tipo, Destination NAT (DNAT) consiste nel modificare l'indirizzo IP di destinazione (e/o la porta TCP o UDP) per una connessione (generalmente) in ingresso. Il meccanismo di controllo e tracciatura del collegamento modifica anche i pacchetti successivi nella stessa connessione per assicurare la continuità nella comunicazione. Il secondo tipo di NAT è Source NAT (SNAT), di cui è un caso particolare il masquerading (mascheramento). SNAT modifica l'indirizzo IP sorgente (e/o la porta TCP o UDP) del pacchetto (generalmente) in uscita. Come per DNAT, tutti i pacchetti nella connessione sono opportunamente gestiti dal meccanismo di tracciamento della connessione stessa. Si noti che NAT è rilevante solo per IPv4 e il suo limitato spazio di indirizzi; in IPv6, l'ampia disponibilità di indirizzi riduce notevolmente l'utilità di NAT, consentendo a tutti gli indirizzi "interni" di essere direttamente instradabili su Internet (ciò non implica che le macchine interne siano accessibili, in quanto i firewall intermedi sono in grado di filtrare il traffico).
Basta teoria, andiamo sul pratico. Trasformare un sistema Debian in un gateway è una questione semplice, basta attivare l'apposita opzione nel kernel Linux, mediante il filesystem virtuale /proc/:
# echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
Questa opzione può anche essere attivata automaticamente all'avvio, se /etc/sysctl.conf imposta l'opzione net.ipv4.conf.default.forwarding a 1.

Esempio 10.1. Il file /etc/sysctl.conf

net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
Lo stesso effetto può essere ottenuto per IPv6 semplicemente sostituendo ipv4 con ipv6 nel comando manuale e modificando la riga net.ipv6.conf.all.forwarding nel file /etc/sysctl.conf.
Abilitare il mascheramento IPv4 è un'operazione leggermente più complessa che coinvolge la configurazione del firewall netfilter.
Similmente, l'utilizzo di NAT (per IPv4) richiede configurare netfilter. Dato che lo scopo primario di questo componente è il filtraggio dei pacchetti, i dettagli sono elencati nel Capitolo 14: «Sicurezza» (vedere la Sezione 14.2, «Firewall o filtraggio dei pacchetti»).