Size: 18079
Comment: minor fix
|
Size: 18119
Comment: Add link to french translation
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[NetworkConfiguration|English]] - Italiano-~ | ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[NetworkConfiguration|English]] - [[fr/NetworkConfiguration|Français]] - Italiano-~ |
Translation(s): English - Français - Italiano
Prerequisiti per il lettore: Per ottenere il massimo da questo articolo, è consigliabile capire i seguenti concetti prima di leggere: gli strumenti UNIX di base a riga di comando, editor di testo, DNS, TCP/IP, DHCP, netmask, gateway |
Table of Contents
Contents
Impostare un'interfaccia ethernet
La maggior parte delle impostazioni di rete può essere fatta tramite il file di configurazione /etc/network/interfaces; qui si può assegnare un indirizzo IP alla scheda di rete (o usare il DHCP), impostare le informazioni di routing, configurare il mascheramento IP, impostare instradamenti predefiniti e molto altro.
Ricordarsi di aggiungere alla riga "auto" le interfacce che si vogliono attivare all'avvio.
Per ulteriori informazioni consultare man interfaces.
Usare DHCP per configurare l'interfaccia automaticamente
Qualcosa di simile sarà tutto ciò che serve se si utilizza DHCP:
auto eth0 allow-hotplug eth0 iface eth0 inet dhcp
Configurare manualmente l'interfaccia
Se si sta configurando manualmente, qualcosa di simile imposterà il gateway predefinito (rete, broadcast e gateway sono opzionali):
auto eth0 iface eth0 inet static address 192.168.0.7 netmask 255.255.255.0 gateway 192.168.0.254
Per ulteriori informazioni consultare man interfaces.
Impostare velocità e duplex
In alcune reti la negoziazione automatica non è possibile, se è necessario impostare a mano la velocità e la modalità duplex dell'interfaccia, allora sarà richiesta qualche prova. Ecco i passi fondamentali:
installare i pacchetti ethtool e net-tools per avere i programmi ethtool e mii-tool, uno di questi o entrambi potrebbero funzionare
assicurarsi di avere un modo per accedere al sistema, nel caso che l'interfaccia di rete diventi inusabile; una connessione ?ssh potrebbe venire compromessa perciò si dovrebbe avere una strategia di ripiego
- identificare l'interfaccia in questione (spesso sarà eth0) e adattare il resto di queste istruzioni di conseguenza
- provare a determinare quale siano le attuali impostazioni di velocità e duplex, ecco come divertirsi:
per prima cosa provare ethtool eth0 come utente root e vedere se le righe "Speed:" e "Duplex:" paiono valide; in caso contrario ethtool potrebbe non essere supportato dalla periferica
provare mii-tool -v eth0 come utente root e vedere se l'output appare corretto, in caso contrario mii-tool potrebbe non essere supportato dalla periferica
se nessuno dei due è supportato si possono impostare i parametri direttamente nel modulo del kernel, identificando quello in uso leggendo l'output dei comandi dmesg e lsmod; si può usare modinfo NOMEMODULO per vedere se ha dei parametri e quali accetta (per fare confronti modinfo funziona anche su moduli non caricati) ToDo: dove si impostano i parametri per i moduli del kernel?
- provare a cambiare le opzioni dell'interfaccia su cui si sta lavorando, naturalmente è necessario essere root. Usare uno tra:
ethtool -s eth0 autoneg off speed 100 duplex full (nell'ipotesi di 100 Mbps e full duplex)
mii-tool -F 100baseTx-FD eth0 (stessa ipotesi)
se uno di questi comandi configura la scheda con successo lo si può inserire in /etc/network/interfaces affinché venga eseguito quando viene attivata l'interfaccia (ad esempio all'avvio del sistema); tuttavia prima di questo si dovrebbe capire che alcuni driver e dispositivi si comportano diversamente rispetto ad altri.
Quando il modulo viene caricato la scheda di rete può iniziare la negoziazione automatica senza alcun modo di fermarla (in particolare con driver che non accettano parametri); le impostazioni di interfaces vengono applicate in un momento successivo e ciò potrebbe accadere nel bel mezzo della negoziazione; per alcuni perciò è necessario ritardare il comando ethtool o mii-tool di pochi secondi:
iface eth0 inet static address ... netmask ... gateway ... up sleep 5; ethtool -s eth0 ...
o analogamente per il comando mii-tool
- riavviare la macchina per assicurarsi che venga attivata correttamente e prepararsi ad intervenire manualmente (Ctrl-Alt-Del e avviare in modalità single-user da GRUB o LILO) nel caso non funzioni.
Attivare un'interfaccia senza un indirizzo IP
Si usi il metodo manuale per creare un'interfaccia di rete senza un indirizzo IP e i comandi pre-up e post-down per attivarla e disattivarla.
iface eth0 inet manual pre-up ifconfig $IFACE up post-down ifconfig $IFACE down
Definire i nameserver (DNS)
Prima che un computer possa connettersi ad una risorsa di rete esterna (come ad esempio un server web), deve avere il modo di convertire i nomi alfanumerici (wiki.debian.org) in indirizzi numerici (140.211.166.4) (Internet utilizza questi indirizzi IP numerici strutturati come indirizzi di rete).
La libreria C e le altre librerie resolver leggono il file /etc/resolv.conf per la lista dei nameserver; questo è, nella situazionepiù semplice, il file da modificare per impostare la lista dei nomi dei server. Si noti che vari altri programmi per la configurazione dinamica saranno lieti di sovrascrivere le impostazioni:
il programma resolvconf
il demone network-manager
- i client DHCP
Nella maggior parte dei casi il file da modificare è il file di configurazione del tale programma.
Nelle situazioni più complesse l'utilizzo di resolvconf è davvero la strada da percorrere, anche se in configurazioni più semplici è probabilmente eccessivo.
Il file di configurazione resolv.conf
Il file /etc/resolv.conf contiene informazioni che permettono ad un computer di connettersi alla rete e risolvere i nomi in indirizzi (non confondere questo file di configurazione con il programma resolvconf, che sfortunatamente ha un nome molto simile).
Il file resolv.conf contiene solitamente gli indirizzi IP dei nameserver (risolutori di nomi DNS) che cercheranno di tradurre i nomi in indirizzi per ogni nodo disponibile sulla rete; ci saranno una o più righe simili a queste:
nameserver 12.34.56.78 nameserver 12.34.56.79
In questo esempio il sistema sta usando i nameserver agli indirizzi IP 12.34.56.78 e 12.34.56.79. Inserire semplicemente gli IP necessari dopo ogni nameserver, aggiungendo più righe nameserver in caso se ne abbiano altri. Non usare questo metodo se si ha il programma resolvconf installato.
Il file ha molte altre opzioni per definire come il risolutore controlli i nomi, si veda man resolv.conf per i dettagli.
Il programma resolvconf
Il programma resolvconf (opzionale su un sistema Debian) tiene traccia delle informazioni di sistema sugli nameserver attualmente disponibili, non va confuso con il file di configurazione resolv.conf, che purtroppo ha un nome quasi identico.
Il file di configurazione resolv.conf contiene informazioni sui nameserver che il sistema deve usare, tuttavia quando più programmi necessitano di modificare dinamicamente resolv.conf possono interferire tra loro e desincronizzare il file. Il programma resolvconf risolve questo problema agendo come intermediario fra i programmi che provvedono alle informazioni sui nameserver (come i client DHCP) e quelli che utilizzano le informazioni sui nameserver (i risolutori).
Quando resolvconf è installato correttamente, il file /etc/resolv.conf viene rimpiazzato da un collegamento simbolico a /etc/resolvconf/run/resolv.conf e il risolutore usa invece il file di configurazione /etc/resolvconf/run/resolv.conf generato dinamicamente.
Solitamente è necessario solo quando un sistema ha vari programmi che modificano dinamicamente le informazioni dei nameserver, mentre dove queste non cambiano frequentemente, la configurazione con il file resolv.conf è sufficiente.
Non modificare a mano il file resolv.conf se resolvconf è installato, in quanto verrà modificato dai programmi nel sistema, se serve definire i nameserver manualmente (come per un'interfaccia statica) si aggiunga una riga simile al file /etc/network/interfaces:
dns-nameservers 12.34.56.78 12.34.56.79
Posizionare la riga rientrata all'interno di un blocco iface, per esempio subito dopo la riga gateway; inserire gli indirizzi IP dei nameserver dopo dns-nameservers tutti su una sola riga separati da spazi. Non dimenticare la "s" alla fine di dns-nameservers.
Il programma resolvconf è un'aggiunta a Debian piuttosto recente e molti vecchi programmi devono essere aggiornati o riconfigurati per funzionare correttamente. Si veda /usr/share/doc/resolvconf/README per eventuali problemi, ha molte informazioni su come accordare gli altri programmi a resolvconf.
Configurazione DNS per network-manager
Attenzione: questa sezione non è stata testata con una reale configurazione di network-manager, si prega di verificarla e rimuovere questo avviso. Nota: questa sezione sembra applicabile a sistemi Red Hat e non Debian in quanto i primi utilizzano tipicamente /etc/sysconfig/network-scripts/, per cui il riferimento a /etc/sysconfig/network-scripts/ifcfg-* probabilmente non è appropriato.
Se si usa NetworkManager, inserire le proprie configurazioni in /etc/sysconfig/network-scripts/ifcfg-*. Esempio:
DNS1=127.0.0.1 DNS2=8.8.8.8 DNS3=8.8.4.4
Con l'interfaccia grafica questo significa:
- Menu Sistema → Preferenze → Connessioni di rete.
- Scegliere una connessione (nella scheda Via cavo o in quella Senza fili) e cliccare su Modifica.
- Nella scheda Impostazioni IPv4 cambiare il Metodo in qualcosa che non sia “Automatico (DHCP)”. Per esempio “Automatico (DHCP) solo indirizzi” è probabilmente appropriato.
- Inserire i server DNS nel campo “Server DNS”, separati da spazi.
- Cliccare su “Applica.”
Si noti che il client DHCP potrebbe sovrascrivere queste impostazioni, in questo caso considerare se segnalarlo come bug e vedere sotto per la configurazione del client DHCP.
Questa sezione è basata sulla pagina http://code.google.com/speed/public-dns/docs/using.html, consultarla per i dettagli.
Configurare il client DHCP
Esempio: dhclient3 usa /etc/dhcp3/dhclient.conf, la configurazione voluta è:
supersede domain-name-servers 12.34.56.78, 12.34.56.79
o magari
prepend domain-name-servers 12.34.56.78, 12.34.56.79
per i dettagli vedere la pagina di manuale di dhclient.conf(5)
Come usare vlan (dot1q, 802.1q, trunk) in Etch e Lenny
Configurazione manuale
modprobe 8021q apt-get install vlan vconfig add eth0 222 # 222 is vlan number ifconfig eth0.222 up ifconfig eth0.222 mtu 1496 #optional if your network card doesn't support MTU 1504B ifconfig eth0.222 10.10.10.1 netmask 255.255.255.0
Avvertenze quando si usa bridging e vlan
#/etc/network/interfaces auto eth0 bri0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 iface eth0.110 inet manual vlan_raw_device eth0 iface bri0 inet static address 192.168.110.1 network 192.168.110.0 netmask 255.255.255.0 broadcast 192.168.110.255 bridge_ports eth0.110 bridge_stp on bridge_maxwait 10
Se si utilizza una configurazione VLAN bridge, che è probabilmente utile per il networking in ambienti di virtualizzazione, aver cura di collegare a un dispositivo fisico sottostante solo un dispositivo bridge oppure dispositivi VLAN, come mostrato sopra. Se si collega l'interfaccia fisica (eth0) a un bridge (es. bri1) mentre si usa la stessa interfaccia fisica su VLAN apparentemente diverse, tutti i pacchetti rimarranno marcati (kernel più recente del 2.6.37 e più vecchio del 3.2).
Configurazione di rete con script init
Nel file /etc/modules aggiungere la riga:
8021q
Alla sezione iface di /etc/network/interfaces aggiungere il parametro:
vlan_raw_device eth0
Il nome dell'interfaccia dovrebbe essere il nome grezzo dell'interfaccia (lo stesso specificato da vlan_raw_device), seguito da un punto, poi dall'ID VLAN, come ad esempio: eth0.100. Oppure può essere "vlan" seguito dall'ID VLAN, ad esempio: vlan100. In entrambi i casi l'ID VLAN compare alla fine e questo è l'unico posto in cui è configurato. Esempio:
auto eth0.222 iface eth0.222 inet static address 10.10.10.1 netmask 255.255.255.0 network 10.10.10.0 broadcast 10.10.10.255 vlan_raw_device eth0
Come creare un collegamento con link aggregation con vlan in Etch
NetworkConfiguration/debian_bonding.dia
Come impostare una configurazione di rete Debian per uno dei server qui sopra con bonding con backup attivo con 3 vlan {vlan10,vlan20,vlan30} senza SPOF e senza vlan nativa.
aptitude install vlan ifenslave-2.6
Configurazione di rete
Esempio di configurazione di uno switch Cisco:
interface GigabitEthernet1/2 description eth1 www.niif.hu :) switchport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20,30 switchport mode trunk no ip address no cdp enable spanning-tree portfast trunk
bonding con backup attivo
Creare il file /etc/modprobe.d/bonding.conf contenente:
alias bond0 bonding options bonding mode=active-backup miimon=100 downdelay=200 updelay=200 primary=eth1
/etc/network/interfaces
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto bond0 iface bond0 inet manual up ifconfig bond0 0.0.0.0 up slaves eth1 eth0 auto vlan10 iface vlan10 inet static address 10.10.10.12 netmask 255.255.0.0 network 10.10.0.0 broadcast 10.10.255.255 vlan-raw-device bond0 gateway 10.10.0.1 dns-search hup.hu dns-nameservers 10.10.0.2 auto vlan20 iface vlan20 inet static address 10.20.10.12 netmask 255.255.0.0 network 10.20.0.0 broadcast 10.20.255.255 vlan-raw-device bond0 auto vlan30 iface vlan30 inet static address 10.30.10.12 netmask 255.255.0.0 network 10.30.0.0 broadcast 10.30.255.255 vlan-raw-device bond0
Indirizzi IP multipli su un'interfaccia
Gli alias di interfaccia permettono alla stessa interfaccia di rete di avere più indirizzi IP; ciò è utile se si ha bisogno di avere più di un server visibile su internet. Si noti che gli host virtuali possono gestire più server Apache con un solo IP; Apache risponde al nome di dominio fornito dal client nell'intestazione HTTP. In altre situazioni è necessario un IP esterno per ogni server che utilizza la stessa porta.
Questo esempio in /etc/network/interfaces assegna tre indirizzi IP a eth0.
# the loopback interface auto lo iface lo inet loopback # auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42 netmask 255.255.255.0 gateway 192.168.1.1 auto eth0:0 allow-hotplug eth0:0 iface eth0:0 inet static address 192.168.1.43 netmask 255.255.255.0 auto eth0:1 allow-hotplug eth0:1 iface eth0:1 inet static address 192.168.1.44 netmask 255.255.255.0
Un alias di interfaccia non deve avere "gateway" o "dns-nameservers". È consentita l'assegnazione IP dinamica.
La configurazione di cui sopra è il metodo tradizionale passato che riflette l'uso tradizionale di ifconfig per configurare i dispositivi di rete. ifconfig ha introdotto il concetto di alias di interfacce o interfacce virtuali; queste hanno nomi nella forma interfaccia:numero e ifconfig le tratta in modo molto simile alle interfacce reali.
L'utilità ifconfig è in fase di eliminazione e verrà sostituita da ip contenuta nel pacchetto iproute; questa non utilizza lo stesso concetto di alias o interfacce virtuali ma tratta invece gli indirizzi aggiuntivi come oggetti di prima classe. Il nuovo metodo per configurare indirizzi multipli su un'unica interfaccia è quello di utilizzare il meccanismo up e down per chiamare ip al momento giusto per aggiungere e rimuovere questi indirizzi IP aggiuntivi.
Questo esempio di /etc/network/interfaces assegna tre indirizzi IP a eth0 e li etichetta.
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42 netmask 255.255.255.0 gateway 192.168.1.1 up ip addr add 192.168.1.43/24 dev eth0 label eth0:0 down ip addr del 192.168.1.43/24 dev eth0 label eth0:0 up ip addr add 192.168.1.44/24 dev eth0 label eth0:1 down ip addr del 192.168.1.44/24 dev eth0 label eth0:1
Ulteriori informazioni si trovano alla pagina http://www.shorewall.net/Shorewall_and_Aliased_Interfaces.html