Handbook:PPC/Networking/Modular/it

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:PPC/Networking/Modular and the translation is 100% complete.
Manuale PPC
Installazione
Riguardo l'installazione
Scegliere il supporto
Configurare la rete
Preparare i dischi
Il file stage
Installare il sistema base
Configurare il kernel
Configurare il sistema
Installare gli strumenti
Impostare programma d'avvio
Concludere
Lavorare con Gentoo
Introduzione a Portage
Opzioni USE
Funzionalità di Portage
Sistema script di init
Variabili d'ambiente
Lavorare con Portage
File e cartelle
Variabili
Miscelare i rami del software
Strumenti aggiuntivi
Catalogo pacchetti personalizzato
Funzionalità avanzate
Configurare la rete
Come iniziare
Configurazione avanzata
Networking modulare
Wireless
Aggiungere funzionalità
Gestione dinamica


Moduli di rete

Netifrc supporta gli script per la rete modulare, intendendo con ciò che il supporto per nuovi tipi di interfacce e moduli di configurazione può essere facilmente aggiunto mantenendo la compatibilità con quelli esistenti.

I moduli caricano in via predefinita se il pacchetto di cui hanno bisogno è installato. Se gli utenti specificano qui un modulo che non ha il suo pacchetto installato allora otterranno un errore riportante quale pacchetto bisogna installare. Nel caso ideale, l'impostazione dei moduli è usata solo quando due o più pacchetti, che forniscono lo stesso servizio, vengono installati e si ha bisogno di preferirne uno all'altro.

Nota
Tutte le impostazioni qui discusse sono memorizzate in /etc/conf.d/net se non altrimenti specificato.
FILE /etc/conf.d/netDefinizioni dei moduli
# Preferire ifconfig a iproute2
# modules="ifconfig"

# Si possono specificare anche altri moduli per un interfaccia
# In questo caso si preferisce dhclient a dhcpcd
modules_eth0="dhclient"

# Si possono specificare anche quali moduli non utilizzare - ad esempio può essere
# che si usi un supplicant o linux-wlan-ng per controllare la configurazione del wireless ma
# si vogliono ancora configurare le impostazioni di rete secondo l'ESSID a cui si è associati
modules="!iwconfig"

Gestori delle interfacce

Vengono forniti due gestori di interfacce: ifconfig e iproute2. Si ha bisogno di uno di essi per fare qualsiasi tipo di configurazione di rete.

Entrambi sono installati in via predefinita come parte del profilo di sistema. iproute2 è il pacchetto più potente e flessibile. ifconfig e net-tools non dovrebbero più essere usati per l'impostazione della configurazione di rete.

Poichè iproute2 e ifconfig fanno cose molto simili, si permette che la loro configurazione di base funzioni per entrambi. Ad esempio, la configurazione sotto funziona a prescindere dal modulo usato.

FILE /etc/conf.d/netConfigurazione di esampio
config_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"

DHCP

DHCP è un mezzo per ottenere un indirizzo IP, insieme ad altre informazioni di rete (server DNS, gateway, etc.) da un server. Con un server DHCP funzionante in una rete, l'utente deve solo dire ad ogni dispositivo di ottenere le informazioni di configurazione via DHCP, che è poi utilizzato per configurare automaticamente il dispositivo. Naturalmente, ciò richiede una connessione di rete (p.es. tramite un access point wireless, PPPoE, etc.).

Il DHCP può essere fornito da dhclient o dhcpcd. Ogni modulo DHCP ha i suoi pro e i suoi contro - ecco un rapido resoconto:

Modulo DHCP Pacchetto Pro Contro
dhclient net-misc/dhcp Creato da ISC, la stessa gente che ha creato il software BIND DNS. Molto configurabile. Può essere usato per fornire DHCPv4 o DHCPv6. La configurazione è eccessivamente complessa, il software è piuttosto pesante, non può ottenere i server NTP dal DHCP, di norma non invia l'hostname. Non più mantenuto alla fonte.
dhcpcd net-misc/dhcpcd Da lungo tempo il predefinito di Gentoo, nessuna dipendenza da strumenti esterni, attivamente sviluppato da Gentoo. Fornisce DHCPv4 and DHCPv6 allo stesso tempo. A volte può essere lento, non si trasforma ancora in un servizio quando il lease è infinito.

Se più di un client DHCP è installato, è possibile specificare quale client usare impostando la variabile "modules", p.es. modules="dhcpcd". Altrimenti, se dhcpcd è installato, viene usato in via predefinita.

Per inviare specifiche opzioni al modulo DHCP, usare module_eth0="...", dove module è il nome del modulo DHCP in uso - per esempio, "dhcpcd_eth0".

Si tende a rendere DHCP più o meno compatibile - come tale si supportano i seguenti comandi usando la variabile dhcp_eth0. La modalità predefinita è di non impostare alcuno di essi:

release
Rilascia l'indirizzo IP per riutilizzarlo.
nodns
Impedisce di sovrascrivere /etc/resolv.conf
nontp
Impedisce di sovrascrivere /etc/ntp.conf
nonis
Impedisce di sovrascrivere /etc/yp.conf
FILE /etc/conf.d/netConfigurazione tipo DHCPv4
# Richiesto solo se è installato più di un modulo DHCP
modules="dhcpcd"

config_eth0="dhcp"
dhcpcd_eth0="-t 10"# Scade dopo 10 secondi
dhcp_eth0="release nodns nontp nonis"# Ottiene solo un indirizzo
Nota
dhcpcd invia l'hostname corrente al server DHCP in via predefinita quindi non è più necessario specificarlo.
FILE /etc/conf.d/netConfigurazione tipo DHCPv6
# Richiesto solo se è installato più di un modulo DHCP
modules="dhclient"

config_eth0="dhcpv6"
# Per usare sia DHCPv4 che DHCPv6 in una rete con doppio stack, rimuovere la riga sopra e togliere il commento alle seguenti righe
#config_eth0="dhcp
#dhcpv6"
# Per passare argomenti di esecuzione a dhclient per DHCPv6
dhclientv6_eth0="-t 10"# Scade dopo 10 secondi
# Imposta opzioni DHCPv6 generiche
dhcpv6_eth0="release nodns nontp nonis nogateway nosendhost"

ADSL con PPPoE/PPPoA

Primo, installare il software ADSL:

root #emerge --ask net-dialup/ppp

Secondo, creare lo script di rete per PPP e lo script di rete per l'interfaccia Ethernet usata dal PPP:

root #ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
root #ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Assicurarsi di impostare rc_depend_strict a YES in /etc/rc.conf

Ora bisogna configurare /etc/conf.d/net.

FILE /etc/conf.d/netConfigurazione di base del PPPoE
config_eth0=null(Definisceinterfacciaethernet)
config_ppp0="ppp"
link_ppp0="eth0"(Definisceinterfacciaethernet)
plugins_ppp0="pppoe"
username_ppp0='user'
password_ppp0='password'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"

rc_net_ppp0_need="net.eth0"

E' anche possibile configurare la password in /etc/ppp/pap-secrets.

FILE /etc/ppp/pap-secretsModello di pap-secrets
# Il simbolo * è importante
"username" * "password"

Se il PPPoE è usato con un modem USB allora assicurarsi di fare l'emerge di br2684ctl. Si prega di leggere /var/db/repos/gentoo/net-dialup/speedtouch-usb/files/README per informazioni su come configurarlo adeguatamente.

Importante
Si prega di leggere attentamente la sezione sull'ADSL e il PPP in /usr/share/doc/netifrc-*/net.example.bz2. In esso sono contenute spiegazioni molto più dettagliate di tutte le impostazioni di cui ogni specifica configurazione del PPP avrà probabilmente bisogno.

APIPA (Automatic Private IP Addressing)(Assegnazione automatica indirizzo IP privato)

APIPA cerca di trovare un indirizzo libero nell'intervallo 169.254.0.0-169.254.255.255 usando arping per effettuare il ping sull'interfaccia ad un indirizzo casuale di quell'intervallo. Se non riceve risposta, quell'indirizzo viene assegnato all'interfaccia

Ciò è utile solo per reti locali dove:

  • non c'è un server DHCP;
  • il sistema non si connette direttamente a Internet; e
  • tutti gli altri computer usano APIPA.

Per avere il supporto ad APIPA, si faccia l'emerge di net-misc/iputils con l'opzione USE arping o di net-analyzer/arping .

FILE /etc/conf.d/netConfigurazione di APIPA
# Provare prima DHCP - se fallisce allora ripegare su APIPA
config_eth0="dhcp"
fallback_eth0="apipa"

# Usare solo APIPA
config_eth0="apipa"

Bonding(Concatenare interfacce)

Il bonding è usato per aumentare l'ampiezza di banda della rete o per migliorare la robustezza nei confronti dei guasti hardware. Se un sistema ha due schede di rete dirette alla stessa rete, si possono concatenare: le applicazioni vedranno una sola interfaccia, ma entrambe le schede di rete saranno usate.

Ci sono molti modi di configurare il bonding. Alcuni di essi, come la modalità 802.3ad LACP, richiedono che siano supportati dallo switch e configurazione aggiuntiva negli stessi. Come fonte per le singole opzioni, si prega di fare riferimento alla copia locale di /usr/src/linux/Documentation/networking/bonding.txt.

Innanzitutto, ripulire la configurazione delle interfacce partecipanti:

FILE /etc/conf.d/netRipulire configurazione delle interfacce
config_eth0="null"
config_eth1="null"
config_eth2="null"

Poi, definire il bonding tra le interfacce:

FILE /etc/conf.d/netDefinire il bonding
slaves_bond0="eth0 eth1 eth2"
config_bond0="192.168.100.4/24"
# Scegliere una modalità corretta e opzioni di configurazione aggiuntive adatte ai propri bisogni
mode_bond0="balance-alb"

Rimuovere i servizi net.eth* dal runlevel relativo, creare un servizio net.bond0, e aggiungerlo al runlevel appropriato.

Bridging(Unire segmenti di rete diversi) (Supporto a 802.1d)

Il bridging è usato per collegare insieme reti. Ad esempio, un network può avere un server che lo collega ad Internet tramite un modem ADSL, e anche un adattatore wireless per consentire ad altri dispositivi sul network di accedere ad Internet attraverso quel modem. E' possibile creare un bridge (connessione) che unisca insieme le due interfacce.

FILE /etc/conf.d/netConfigurazione del bridge
# Configurare il bridge - "man brctl" per maggiori dettagli
bridge_forward_delay_br0=0
bridge_hello_time_br0=200
bridge_stp_state_br0=1

# Per aggiungere porte al bridge br0
bridge_br0="eth0 eth1"

# Bisogna configurare le porte a valori nulli così il dhcp non verrà avviato
config_eth0="null"
config_eth1="null"

# Infine dare un indirizzo al bridge - si potrebbe usare anche il DHCP
config_br0="192.168.0.1/24"

# Dipende da eth0 e eth1 poichè potrebbero richiedere ulteriore configurazione
rc_net_br0_need="net.eth0 net.eth1"
Importante
Per usare alcune configurazioni di bridge, consultare la documentazione sul nome della variabile.
Importante
Quando si effettua il bridging usando IPv6, SLAAC richiede che STP sia impostato a 1 come si vede nell'esempio sopra.

Indirizzo MAC

Attraverso il file di configurazione di rete è possibile cambiare pure l'indirizzo MAC delle interfacce .

FILE /etc/conf.d/netEsempio di modifica dell'indirizzo MAC
# Per impostare l'indirizzo MAC
mac_eth0="00:11:22:33:44:55"

# Per rendere casuali solo gli ultimi 3 byte
mac_eth0="random-ending"

# Per rendere casuale tra lo stesso tipo fisico di connessione (p.es. fibra,
# rame, wireless) , tutti i produttori
mac_eth0="random-samekind"

# Per rendere casuale tra qualsiasi tipo fisico di connessione (p.es. fibra, rame,
# wireless) , tutti i produttori
mac_eth0="random-anykind"

# Per rendere completamente casuale - ATTENZIONE: alcuni indirizzi MAC generati così potrebbero
# NON comportarsi come sperato
mac_eth0="random-full"

Tunneling(Incapsulare un protocollo di rete dentro un altro)

Il tunneling non ha bisogno che sia installato alcun software aggiuntivo in quanto il gestore dell'interfaccia può farlo.

FILE /etc/conf.d/netConfigurazione del tunneling
# Per tunnel GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# Per tunnel IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# Per configurare l'interfaccia
config_vpn0="192.168.0.2 peer 192.168.1.1"

VLAN (Supporto di 802.1q)

Per il supporto alla VLAN, assicurarsi che sys-apps/iproute2 sia installato, e che iproute2 sia usato come modulo di configurazione (invece di ifconfig).

Una VLAN, Virtual LAN (LAN virtuale) è un gruppo di dispositivi di rete che si comportano come se fossero collegati ad un singolo segmento di rete, anche se potrebbe non esserlo. I membri di una VLAN possono vedere solo altri membri della stessa VLAN, anche quando condividono la stessa rete fisica.

Per configurare le VLAN, innanzitutto specificare i numeri delle VLAN in /etc/conf.d/net così:

FILE /etc/conf.d/netSpecificare i numeri delle VLAN
vlans_eth0="1 2"

Successivamente, configurare l'interfaccia per ogni singola VLAN:

FILE /etc/conf.d/netConfigurazione dell'interfaccia per ogni VLAN
config_eth0_1="172.16.3.1 netmask 255.255.254.0"
routes_eth0_1="default via 172.16.3.254"

config_eth0_2="172.16.2.1 netmask 255.255.254.0"
routes_eth0_2="default via 172.16.2.254"

Configurazioni particolari delle VLAN sono gestite da vconfig così:

FILE /etc/conf.d/netConfigurare le VLAN
vlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Importante
Per usare alcune configurazioni delle VLAN, consultare la documentazione sul nome delle variabili.