Difference between revisions of "Network configuration (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Configurazione indirizzo IP: aggiunto link a Wikipedia)
m (fix wikilinks)
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Networking (Italiano)]]
 
[[Category:Networking (Italiano)]]
 
[[Category:Getting and installing Arch (Italiano)]]
 
[[Category:Getting and installing Arch (Italiano)]]
{{i18n|Configuring Network}}
+
[[cs:Configuring Network]]
 +
[[en:Configuring Network]]
 +
[[es:Configuring Network]]
 +
[[nl:Configuring Network]]
 +
[[pt:Configuring Network]]
 +
[[ro:Configurare retea]]
 +
[[ru:Configuring Network]]
 +
[[sk:Configuring Network]]
 +
[[tr:Ağ_Yapılandırması]]
 +
[[zh-CN:Configuring Network]]
 
{{Article summary start|Sommario}}
 
{{Article summary start|Sommario}}
 
{{Article summary text|Una semplice guida per la configurazione di rete e risoluzione di problemi annessi.}}
 
{{Article summary text|Una semplice guida per la configurazione di rete e risoluzione di problemi annessi.}}
 
{{Article summary heading|Panoramica}}
 
{{Article summary heading|Panoramica}}
{{Article summary text|Arch Linux fornisce due opzioni per la gestione della rete: '''''network''''' e [[netcfg (Italiano)|''netcfg'']]. Il demone ''network'' è una soluzione semplice e diretta per ambienti desktop e server. La rete [[wireless setup (Italiano)|wireless]] necessita di una configurazione addizionale. Lo script ''netcfg'' fornisce il supporto roaming per gli utenti mobili e facilita la gestione dei profili di rete; [[NetworkManager (Italiano)|NetworkManager]] e [[Wicd (Italiano)|Wicd]] sono alternative popolari. }}
+
{{Article summary text|Arch Linux fornisce due opzioni per la gestione della rete: '''''network''''' e [[netcfg (Italiano)|''netcfg'']]. Il demone ''network'' è una soluzione semplice e diretta per ambienti desktop e server. La rete [[Wireless Setup (Italiano)|wireless]] necessita di una configurazione addizionale. Lo script ''netcfg'' fornisce il supporto roaming per gli utenti mobili e facilita la gestione dei profili di rete; [[NetworkManager (Italiano)|NetworkManager]] e [[Wicd (Italiano)|Wicd]] sono alternative popolari. }}
 +
{{Article summary heading|Articoli Correlati}}
 +
{{Article summary wiki|Jumbo Frames}}
 +
{{Article summary wiki|Firewalls}}
 +
{{Article summary wiki|Samba (Italiano)}}
 +
{{Article summary wiki|Wireless Setup}}
 
{{Article summary end}}
 
{{Article summary end}}
 +
  
 
==Primo controllo==
 
==Primo controllo==
 
Molte volte, l’installazione di base ha già creato una configurazione di rete funzionante. Per verificare, utilizzare il seguente comando:
 
Molte volte, l’installazione di base ha già creato una configurazione di rete funzionante. Per verificare, utilizzare il seguente comando:
{{command| ping -c 3 www.google.com|<nowiki>
+
{{hc|ping -c 3 www.google.com|<nowiki>
 
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.
 
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.
 
64 bytes from 74.125.224.146: icmp_req=1 ttl=50 time=437 ms
 
64 bytes from 74.125.224.146: icmp_req=1 ttl=50 time=437 ms
Line 19: Line 34:
 
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
 
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
 
rtt min/avg/max/mdev = 298.107/373.642/437.202/57.415 ms
 
rtt min/avg/max/mdev = 298.107/373.642/437.202/57.415 ms
</nowiki>|prompt=$}}
+
</nowiki>}}
  
{{Tip| L'opzione {{codeline|-c 3}} effettua 3 ping. Vedere{{codeline|man ping}} per maggiori informazioni.}}
+
{{Suggerimento| L'opzione {{ic|-c 3}} esegue {{ic|ping}} 3 volte. Vedere{{ic|man ping}} per maggiori informazioni.}}
  
 
Se funziona, si possono personalizzare le impostazioni con le  opzioni che seguono.
 
Se funziona, si possono personalizzare le impostazioni con le  opzioni che seguono.
  
==Impostare il nome del PC==
+
Se il comando precedente riporta errori di host sconosciuti, significa che il pc non è riuscito a risolvere il nome di dominio. Ciò potrebbe dipendere dal proprio provider o dal proprio router/gateway. Si può provare a pingare un indirizzo IP statico, per accertarsi che la macchina abbia accesso ad Internet.
Un hostname è un nome univoco creato per identificare un pc in rete. Con Arch Linux, l’hostname del pc è impostabile in {{Filename|/etc/[https://wiki.archlinux.org/index.php/Rc.conf_%28Italiano%29 rcconf]}} o, fino a quando non si riavvia, con il comando ''hostname''.
+
Per gli hostnames si possono utilizzare solo caratteri alfanumerici. Il trattino (-) può essere utilizzato, ma né all’inizio né alla fine dell’hostname. La lunghezza di quest'ultimo è limitata a 63 caratteri.
+
  
Editare {{Filename|/etc/rc.conf}} ed impostare HOSTNAME con il nome desiderato (archlinux nell'esempio):
+
{{hc |
HOSTNAME="archlinux"
+
  
Dopo aver impostato l’hostname, è una buona idea includere lo stesso in {{Filename|/etc/hosts}}. Questo aiuterà i processi che fanno riferimento al computer attraverso il suo hostname per trovarne l’indirizzo IP.
+
$ ping -c 3 8.8.8.8 |
  
Editare {{Filename|/etc/hosts}} ed aggiungere lo stesso HOSTNAME che è stato inserito in {{Filename|/etc/rc.conf}}:
+
<nowiki>PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 +
 
 +
64 bytes from 8.8.8.8: icmp_req=1 ttl=53 time=52.9 ms
 +
 
 +
64 bytes from 8.8.8.8: icmp_req=2 ttl=53 time=72.5 ms
 +
 
 +
64 bytes from 8.8.8.8: icmp_req=3 ttl=53 time=70.6 ms
 +
 
 +
 
 +
--- 8.8.8.8 ping statistics ---
 +
 
 +
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
 +
 
 +
rtt min/avg/max/mdev = 52.975/65.375/72.543/8.803 ms</nowiki>}}
 +
 
 +
{{Suggerimento|8.8.8.8 è un indirizzo statico semplice da ricordare. Si tratta dell'indirizzo del principale server DNS di Google, quindi può essere considerato affidabile, e generalmente non è bloccato da filtri sui contenuti e da proxy.}}
 +
 
 +
Se si riesce a pingare quell'indirizzo, si può provare ad [[Configuring_Network (Italiano)#Indirizzo_IP_Statico| aggiungere questo nameserver al proprio file resolv.conf]].
 +
 
 +
==Impostare l'host name==
 +
Un host name è un nome univoco creato per identificare un pc in rete. Con Arch Linux, l’host name del pc è impostabile in {{ic|/etc/[[rc.conf (Italiano)|rcconf]]}} o, fino a quando non si riavvia, con il comando {{ic|hostname}}.
 +
Per gli host names si possono utilizzare solo caratteri alfanumerici. Il trattino ({{ic|-}}) può essere utilizzato, ma né all’inizio né alla fine dell’host name. La lunghezza di quest'ultimo è limitata a 63 caratteri.
 +
 
 +
Semplicemente inserire il proprio host name in {{ic|/etc/hostname}}; non inserire il nome di dominio in {{ic|/etc/hostname}}. Qualora non esistesse, creare il file, come nell'esempio
 +
{{ic|archlinux}} è l'host name:
 +
 
 +
{{hc|/etc/hostname|
 +
 
 +
archlinux
 +
 
 +
}}
 +
 
 +
Dopo aver impostato l’host name, è importante includere lo stesso in {{ic|/etc/hosts}}. Questo aiuterà i processi che fanno riferimento al computer attraverso il suo hostname per trovarne l’indirizzo IP, così come faranno i programmi che si basano sulla chiamata di sistema {{ic | gethostname ()}} per determinare l'host name del sistema.
 +
 
 +
Editare {{ic|/etc/hosts}} ed aggiungere lo stesso HOSTNAME che è stato inserito in {{ic|hostname}}:
 
  127.0.0.1      archlinux.domain.org  localhost.localdomain      localhost    archlinux
 
  127.0.0.1      archlinux.domain.org  localhost.localdomain      localhost    archlinux
  
Per impostare l’hostname temporaneamente (fino al successivo riavvio), utilizzare il comando {{codeline|hostname}} da root:
+
{{Nota|Il nome di dominio completo (FQDN) dovrebbe essere '''il primo elemento dopo l'indirizzo IP'''. Tutti i nomi sul lato destro sono solo alias per il nome host/dominio situato più a sinistra. Potete controllare se questo è stato configurato correttamente eseguendo {{ic|hostname --fqdn}}.}}
{{cli|# hostname archlinux}}
+
  
== Caricare il modulo del dispositivo ==
+
Per impostare l’hostname temporaneamente (fino al successivo riavvio), utilizzare il comando {{ic|hostname}} dal pacchetto {{Pkg|inetutils}} da root:
 +
{{bc|# hostname archlinux}}
  
Udev dovrebbe riconoscere il modulo dell’interfaccia di rete (NIC) e caricarlo automaticamente al boot. Se ciò avviene, saltare questa sezione. Altrimenti bisogna individuare il modulo necessario al funzionamento della scheda:
+
== Driver dispositivo ==
{{cli|# hwdetect --show-net}}
+
  
Individuato il modulo, lo si può caricare con:
+
=== Controllo stato driver ===
{{cli|# modprobe ''<modulename>''}}
+
Udev dovrebbe riconoscere il modulo dell’interfaccia di rete (NIC) e caricarlo automaticamente al boot. Controllare la voce  "Ethernet controller" nell'output di {{ic|lspci -v}}. Esso dovrebbe indicare quali moduli del kernel contengono il driver del proprio dispositivo di rete. Ad esempio:
 +
{{hc|lspci -v|<nowiki>
 +
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
  
Se [[udev (Italiano)|udev]] non individua e carica il modulo giusto automaticamente durante la fase di boot, si può inserirlo tra gli array di {{Codeline|MODULES}} in {{Filename|/etc/rc.conf}}, in modo tale da non doverlo caricare manualmente ad ogni boot con {{Codeline|modprobe}}. Ad esempio, se il modulo di rete è {{Codeline|tg3}}:
+
...
 +
  Kernel driver in use: atl1
 +
Kernel modules: atl1
  
   MODULES=(... tg3 snd-cmipci ...)
+
</nowiki>}}
 +
 
 +
Dopodichè, controllare che sia caricato il modulo, tramite ''dmesg | grep <module name>''. Ad esempio:
 +
 
 +
dmesg |grep atl1
 +
 
 +
    ...
 +
    atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex
 +
 
 +
Se il driver è caricato correttamente, saltare questa sezione. Altrimenti, è necessario individuare quale modulo è necessario per il proprio particolare modello.
 +
 
 +
=== Caricare il modulo del dispositivo ===
 +
 
 +
Utilizzare Google per individuare il modulo/driver corretto per il chip. Una volta individuato il modulo da utilizzare, è possibile caricarlo con:
 +
 
 +
   # modprobe <modulename>
 +
 
 +
== Interfacce di rete ==
 +
 
 +
=== Nomi dispositivi persistenti ===
 +
Per le schede madri con schede di rete NICs integrate, è importante conoscere quale NIC è considerata primaria (ad esempio, "eth0") e quale NIC è considerata secondaria (ad esempio, "eth1"). Molti problemi di configurazione sono causati da utenti che non impostano correttamente la configurazione di "eth0" nel file {{ic|/etc/rc.conf}}, quando in realtà, hanno il cavo Ethernet collegato in "eth1".
 +
 
 +
[[Udev (Italiano)|Udev]] è responsabile dell'assegnazione dei nomi ai dispositivo. Con Udev ed i driver di rete modulari, la numerazione dell'interfaccia di rete non è persistente anche dopo un riavvio, perché i driver vengono caricati in parallelo e, quindi, in ordine casuale. Configurare la connessione di rete è difficile se non si sa se ​​la propria scheda verrà chiamata {{ic|eth0}} oppure {{ic|eth1}}. E' possibile risolvere utilizzando {{ic|ifrename}}, vedere [[Rename network interfaces]]. E' anche possibile creare manualmente delle regole udev che assegnino alle interfacce nomi basati sull'interfaccia degli indirizzi MAC. Vedere [[Udev#Network device|Persistent Device Names]].
 +
 
 +
=== Ottenere il nome corrente del dispositivo ===
 +
Il nome attuale NIC può essere individuato con il tool ''ip''.
 +
{{hc|<nowiki>$ ip addr | sed '/^[0-9]/!d;s/: <.*$//'</nowiki>|
 +
 
 +
1: lo
 +
2: eth1
 +
3: eth0
 +
4: firewire0}}
 +
 
 +
=== Abilitare/disabilitare l'interfaccia ===
 +
E' possibili abilitare o disabilitare l'interfaccia di rete:
 +
ip link set <interface> up/down
 +
 
 +
Controllare il risultato con {{ic|ip addr show dev eth0}}. Ad esmepio:
 +
{{hc|ip addr show dev eth0|<nowiki>
 +
  2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc vboxnetflt state UP qlen 1000
 +
  [...]
 +
</nowiki>}}
 +
 
 +
== Configurare l'indirizzo IP ==
 +
Ci sono due opzioni: l'assegnazione dinamica dell'indirizzo utilizzando DHCP oppure un indirizzo "statico" che non cambia. Vedere [[Wikipedia:Dynamic Host Configuration Protocol|Wikipedia:DHCP]] per maggiori informazioni.
 +
 
 +
=== Indirizzo IP dinamico ===
 +
 
 +
==== Esecuzione manuale del Demone Client DHCP ====
 +
 
 +
Si noti che dhcpcd non è dhcpd.
 +
 
 +
{{hc|dhcpcd eth0|<nowiki>
 +
  dhcpcd: version 5.1.1 starting
 +
  dhcpcd: eth0: broadcasting for a lease
 +
  ...
 +
  dhcpcd: eth0: leased 192.168.1.70 for 86400 seconds
 +
</nowiki>}}
  
Altri moduli comuni sono 8319too per le schede con chipset Realtek e {{Codeline|sis900}} per quelle con chip Sis.
+
Ed ora {{ic|ip addr show dev <interface>}} dovrebbe mostrare il proprio indirizzo inet.
  
== Configurazione indirizzo IP ==
+
Per alcune persone, il pacchetto {{ic|dhclient}} (disponibile in [extra]) ha funzionato dove{{ic|dhcpcd}} ha fallito.
È importante sapere che si può avere un indirizzo ip dinamico utilizzando DHCP, o un ip statico, impostando l’indirizzo su "static". (Vedere [[Wikipedia:Dynamic Host Configuration Protocol|Wikipedia:DHCP]] per maggiori informazioni)
+
{{Note|Per le schede madri con schede di rete NICs integrate, è importante conoscere quale NIC è considerata primaria (ad esempio, "eth0") e quale NIC è considerata secondaria (ad esempio, "eth1"). Molti problemi di configurazione sono causati da utenti che non impostano correttamente la configurazione di "eth0" nel file {{Filename|/etc/rc.conf}}, quando in realtà, hanno il cavo Ethernet collegato in "eth1"!}}
+
  
=== DHCP ===
+
==== Esecuzione all'avvio di DHCP ====
  
In questo caso è necessario il pacchetto {{Pkg|dhcpd}} (già disponibile nella maggior parte delle installazioni). Inoltre, è necessario editare {{filename|/etc/rc.conf}} in questo modo:
+
In questo caso è necessario il pacchetto {{Pkg|dhcpd}} (già disponibile nella maggior parte delle installazioni). Inoltre, è necessario editare {{ic|[[Rc.conf (Italiano)#Gestione della rete|/etc/rc.conf]]}} in questo modo:
  
 
  interface="eth0"
 
  interface="eth0"
Line 69: Line 173:
 
Va definita solo l'interfaccia, le altre opzioni saranno impostate tramite DHCP..
 
Va definita solo l'interfaccia, le altre opzioni saranno impostate tramite DHCP..
  
Se si utilizza DHCP e '''non''' si vuole che i server DNS vengano automaticamente assegnati ogni volta che si avvia la rete, assicurarsi di aggiungere all'ultima sezione del file {{filename|/etc/dhcpcd.conf}} quanto segue:
+
Se si utilizza DHCP e '''non''' si vuole che i server DNS vengano automaticamente assegnati ogni volta che si avvia la rete, assicurarsi di aggiungere all'ultima sezione del file {{ic|/etc/dhcpcd.conf}} quanto segue:
 
  nohook resolv.conf
 
  nohook resolv.conf
  
Quindi aggiungere il proprio server DNS in {{filename|/etc/resolv.conf}}.
+
Per evitare che dhcpcd aggiunga server di nomi di dominio al file resolve.conf, utilizzare l'opzione nooption in {{ic|/etc/dhcpcd.conf}}:
 +
 +
nooption donmain_name_servers
  
Assicurarsi di testare le nuove impostazioni arrestando e riavviando il demone di rete {{filename|/etc/rc.d/network}}, anziché disattivare la propria interfaccia e avviare DHCP manualmente. Per riavviare il demone di rete:
+
Quindi aggiungere il proprio server DNS in {{ic|/etc/resolv.conf}}.
# /etc/rc.d/network restart
+
  
Si può utilizzare il pacchetto {{Pkg|openresolv}} per controllare molti processi tramite {{Filename|/etc/resolv.conf}} (ad esempio {{Pkg|dhcpcd}} ed un client VPN). Per utilizzare {{Pkg|openresolv}}, non è necessaria alcuna configurazione aggiuntiva per {{Pkg|dhcpcd}}.
+
Si può utilizzare il pacchetto {{Pkg|openresolv}} per controllare molti processi tramite {{ic|/etc/resolv.conf}} (ad esempio, {{Pkg|dhcpcd}} ed un client VPN). Per utilizzare {{Pkg|openresolv}}, non è necessaria alcuna configurazione aggiuntiva per {{Pkg|dhcpcd}}.
  
{{Nota|1=È possibile avere un indirizzo IP statico utilizzando {{Pkg|dhcpcd}}. È sufficiente modificare il file {{filename|/etc/conf.d/dhcpcd}} e cercare qualcosa simile a (dove xxxx è l’indirizzo IP desiderato):
+
{{Nota|1=È possibile avere un indirizzo IP statico utilizzando {{Pkg|dhcpcd}}. È sufficiente modificare il file {{ic|/etc/conf.d/dhcpcd}} e cercare qualcosa simile a (dove xxxx è l’indirizzo IP desiderato):
  
 
  DHCPCD_ARGS="-q -s x.x.x.x"
 
  DHCPCD_ARGS="-q -s x.x.x.x"
  
 
=== Indirizzo IP Statico ===  
 
=== Indirizzo IP Statico ===  
Ci sono vari motivi per cui si potrebbe voler assegnare indirizzi IP statici alla rete. Per esempio, si può ottenere un certo livello di prevedibilità. Inoltre, se si condivide la connessione internet con un pc Windows senza un router, assicurarsi di utilizzare indirizzi IP statici su entrambi i computer. Altrimenti si avranno problemi con la LAN.
+
Ci sono vari motivi per cui si potrebbe voler assegnare indirizzi IP statici alla rete. Per esempio, si può ottenere un certo livello di prevedibilità. Oppure si potrebbe non volere che il demone dhcp venga sempre eseguito.
 +
 
 +
{{Nota|Se si condivide la connessione internet con un pc Windows senza un router, assicurarsi di utilizzare indirizzi IP statici su entrambi i computer, onde evitare problemi con la LAN.}}
  
 
In questo caso è necessario conoscere:
 
In questo caso è necessario conoscere:
* l'ip statico che ci è stato assegnato,
+
* Indirizzo IP statico,
* la subnet mask,
+
* Subnet mask,
* l'indirizzo di broadcast,
+
* Indirizzo di broadcast,
* l'indirizzo IP del gateway,
+
* Indirizzo IP del gateway,
* il nome dei server DNS,
+
* Nome indirizzi IP del server,
* il nome del dominio (se non si tratta di una LAN locale, nel qual caso si può mettere up).
+
* Nome di dominio (se non si tratta di una LAN locale, nel qual caso si può mettere up).
  
Se la rete è privata, è sufficiente utilizzare un indirizzo IP del tipo 192.168.*.'*, una subnet mask 255.255.0.0 e un indirizzo di broadcast 192.168.255.255. A meno che non si utilizzi un router l'indirizzo IP del gateway non è necessario. A questo punto, editare {{filename|/etc/rc.conf}} in questo modo, sostituendo indirizzo IP, netmask, broadcast e gateway:
+
Se la rete è privata, è sufficiente utilizzare un indirizzo IP del tipo 192.168.*.'*, una subnet mask 255.255.0.0 e un indirizzo di broadcast 192.168.255.255. A meno che non si utilizzi un router l'indirizzo IP del gateway non è necessario. A questo punto, editare {{ic|/etc/rc.conf}} in questo modo, sostituendo indirizzo IP, netmask, broadcast e gateway:
  
 
  interface=eth0
 
  interface=eth0
 
  address=192.68.0.2
 
  address=192.68.0.2
 
  netmask=255.255.255.0
 
  netmask=255.255.255.0
 +
broadcast=192.168.1.255
 
  gateway=192.168.22.1
 
  gateway=192.168.22.1
  
Editare il file {{filename|/etc/resolv.conf}}, inserendo l'indirizzo IP del proprio name server ed il proprio dominio locale:
+
Editare il file {{ic|/etc/resolv.conf}}, inserendo l'indirizzo IP del proprio name server ed il proprio dominio locale:
 
  nameserver 61.23.173.5
 
  nameserver 61.23.173.5
 
  nameserver 61.95.849.8
 
  nameserver 61.95.849.8
 
  search example.com
 
  search example.com
  
{{Nota|Attualmente è possibile inserire massimo 3 righe di {{Codeline|nameserver}}.
+
{{Nota|Attualmente è possibile inserire massimo 3 righe di {{ic|nameserver}}.}}
 +
{{Nota|Coloro che vogliono visionare il rendimento/benchmark, possono dare un'occhiata a [https://www.grc.com/dns/benchmark.htm GRC's DNS Benchmark] .}}
 
====Assegnazione manuale====
 
====Assegnazione manuale====
 
Si può assegnare l’indirizzo IP dalla console:
 
Si può assegnare l’indirizzo IP dalla console:
# ip addr add <ip address>/<netmask> dev <interface>
+
  # ip addr add <ip address>/<netmask> dev <interface>
 
Ad esempio:
 
Ad esempio:
# ip addr add 192.168.1.2/24 dev eth0
+
  # ip addr add 192.168.1.2/24 dev eth0
Per altre opzioni, vedere: {{codeline|man ip}}
+
Per altre opzioni, vedere: {{ic|man ip}}
  
 
Aggiungere il proprio gateway in questo modo:
 
Aggiungere il proprio gateway in questo modo:
  
# ip route add default via <ip address>
+
  # ip route add default via <ip address>
  
 
(Sostituire <ip> con il proprio indirizzo IP del gateway
 
(Sostituire <ip> con il proprio indirizzo IP del gateway
Line 122: Line 231:
 
Ad esempio:
 
Ad esempio:
  
# ip route add default via 192.168.1.1
+
  # ip route add default via 192.168.1.1
 +
 
 +
Se si ottiene l'errore "No such process", significa che è necessario eseguire {{Ic|# ip link set dev eth0 up}}.
 +
 
 +
==== Calcolo indirizzi ====
 +
E' possibile utilizzare ''ipcalc'' fornito dal pacchetto ipcalc package per calcolare l'IP broadcast, network, netmask, ed i range di host host per le configurazioni più avanzate. Ad esempio, è possiblie utilizzare l'ethernet tramite firewire per connettere un pc windows ad arch.  Per la sicurezza e l'organizzazione della rete, è possibile posizionarli su una propria rete, configurare netmask e broadcast in modo che siano le uniche 2 macchine su di essa. Per mostrare gli indirizzi netmask e broadcast, si può utilizzare ipcalc, fornendo con l'IP arch del firewire nic 10.66.66.1, e specificando ipcalc, dovrebbe creare una rete di 2 soli host.
 +
 
 +
{{hc|$ ipcalc -nb 10.66.66.1 -s 1|2=
 +
Address:  10.66.66.1
 +
Netmask:  255.255.255.252 = 30
 +
Network:  10.66.66.0/30
 +
HostMin:  10.66.66.1
 +
HostMax:  10.66.66.2
 +
Broadcast: 10.66.66.3
 +
Hosts/Net: 2                    Class A, Private Internet}}
  
 
==Caricare la configurazione==
 
==Caricare la configurazione==
 
Per testare le configurazioni, riavviare il computer o, da root, eseguire:
 
Per testare le configurazioni, riavviare il computer o, da root, eseguire:
{{cli|# /etc/rc.d/network restart}}
+
{{bc|rc.d restart network}}
  
 
Provare a pingare il gateway, il server DNS, l’ISP e altri siti Internet, in questo ordine, per rilevare eventuali problemi di collegamento lungo la strada, ad esempio:
 
Provare a pingare il gateway, il server DNS, l’ISP e altri siti Internet, in questo ordine, per rilevare eventuali problemi di collegamento lungo la strada, ad esempio:
{{cli|$ ping -c 3 www.google.com}}
+
{{bc|ping -c 3 www.google.com}}
  
 
==Impostazioni aggiuntive==
 
==Impostazioni aggiuntive==
  
===Abilitare/disabilitare l'interfaccia===
+
===ifplugd per laptops ===
Si può attivare o disattivare l’interfaccia di rete:
+
{{Pkg|ifplugd}} nei [[Official Repositories (Italiano)Repository Ufficiali]] è un demone che configura automaticamente il dispositivo Ethernet quando viene collegato il cavo e che sconfigura il dispositivo quando il cavo viene scollegato. Ciò è utile su portatili con schede di rete integrate, così verrà creata una configurazione solo quando si collegherà il cavo. Questo sistema può essere utilizzato anche quando si vuole riavviare la rete, senza riavviare il computer e senza utilizzare la shell.
# ip link set <interface> up/down
+
  
=== Firewall ===
+
Di default è configurato per funzionare per il dispositivo {{ic|eth0}}. Questa ed altre impostazioni come i ritardi, possono essere configurati in {{ic|/etc/ifplugd/ifplugd.conf}}.
  
E' possibile installare/configurare un [[Firewalls (Italiano)|firewall]] per proteggersi.
+
[[Daemon (Italiano)#Avvio e blocco manuale|Avviare il demone ifplugd] ed aggiungere {{ic|ifplugd}} al proprio [[Daemon (Italiano)#Esecuzione_automatica_all'avvio|DAEMONS array]] di modo da farlo partire automaticamento all'avvio del sistema.
  
===Configurazioni wireless===
+
In alternativa, abilitando{{ic|net-auto-wired.service}} ifplugd si dovrebbe avviare al boot, se si ha {{Pkg|netcfg}} installato, altrimenti è possibile utilizzare {{ic|ifplugd@eth0.service}}.
Per ulteriori informazioni, consultare la pagina [https://wiki.archlinux.org/index.php/Wireless_Setup_%28Italiano%29 Wireless Setup].
+
  
===Portatili, 'ifplugd'===
+
=== Bonding o LAG ===
Si può installare un demone che configura automaticamente il dispositivo Ethernet quando viene collegato il cavo e che sconfigura il dispositivo quando il cavo viene scollegato. Ciò è utile su portatili con schede di rete integrate, così verrà creata una configurazione solo quando si collegherà il cavo. Questo sistema può essere utilizzato anche quando si vuole riavviare la rete, senza riavviare il computer e senza utilizzare la shell.
+
Sarà necessario installare {{Pkg|ifenslave}} dai [[Official Repositories (Italiano)|Repository ufficiali]], così come il pacchetto {{AUR|netcfg-bonding}} da [[AUR (Italiano)|AUR]].
  
L'installazione è molto semplice da quando {{Package Official|ifplugd}} è nei [[Official Repositories (Italiano)|Repository Ufficiali]]:
+
Modificare/creare ciascuno dei seguenti files:
{{cli|# pacman -S ifplugd}}
+
  
Di default è configurato per funzionare per il dispositivo {{Codeline|eth0}}. Questa ed altre impostazioni come i ritardi, possono essere configurati in {{Filename|/etc/ifplugd/ifplugd.conf}}.
+
{{hc
 +
|/etc/network.d/bonded
 +
|<nowiki>
 +
  CONNECTION="bonding"
 +
  INTERFACE="bond0"
 +
  SLAVES="eth0 eth1"
 +
  IP="dhcp"
 +
  DHCP_TIMEOUT=10
 +
</nowiki>}}
  
[https://wiki.archlinux.org/index.php/Daemon_(Italiano)#Avvio_e_blocco_manuale Avviare il demone ifplugd] ed aggiungere {{Codeline|ifplugd}} al proprio [https://wiki.archlinux.org/index.php/Daemon_(Italiano)#Esecuzione_automatica_all'avvio DAEMONS array] di modo da farlo partire automaticamento all'avvio del sistema.
+
{{hc
 +
|/etc/rc.conf
 +
|<nowiki>
 +
  MODULES=(... bonding ...)
  
===Jumbo Frames===
+
...
Consultare la pagina [[Jumbo Frames]] per ulteriori informazioni.
+
interface=bond0 #commentare le altre linee (indirizzo,netmask,gateway,...)
 +
...
 +
NETWORKS=(... bonded ...)
 +
...
  
=== Bonding ===
+
DAEMONS=(... net-profiles ...) #sostituire network
È possibile installare {{Package Official|ifenslave}} per fare il bind di due interfacce 'reali' con un unico indirizzo ip. Dopo l'installazione, sarà necessario modificare ciascuno dei seguenti file:
+
</nowiki>}}
  
{{Filename|/etc/conf.d/bonding}}:
+
{{Nota|Per cambiare la modalità bonding (di default è round robin), ad esempio in aggregazione dinamica del link:
bond_bond0="eth0 eth1"
+
BOND_INTERFACES=(bond0)
+
  
{{filename|/etc/modprobe.d/modprobe.conf}}:
+
Creare {{ic|/etc/modprobe.d/bonding.conf}}:
  
{{Note | Con il nuovo pacchetto {{Codeline|module-init-tools}} cambia il percorso del file di configurazione: {{Filename|/etc/modprobe.conf}} non è più disponibile, è sotituito da {{Filename|/etc/modprobe.d/modprobe.conf}}. [http://www.archlinux.org/news/450/ link]}}
+
{{hc
options bonding miimon=100
+
+
{{Filename|/etc/rc.conf}}:
+
  
MODULES=(... bonding ...)
+
|/etc/modprobe.d/bonding.conf
interface=bond0
+
|<nowiki>
address=192.168.1.1
+
options bonding mode=4
netmask=255.255.255.0
+
options bonding miimon=100
gateway=192.168.1.255
+
</nowiki>}}
 +
 
 +
Per maggiori informazioni inerenti le differenti policy di bonding (ed impostazioni di altri driver) consultare l'[http://sourceforge.net/projects/bonding/files/Documentation/ Linux Ethernet Bonding Driver HOWTO].}}
 +
 
 +
Per attivare le nuove porte, eseguire il modprobe di {{ic|bonding}}, fermare {{ic|network}} ed avviare il servizio {{ic|net-profiles}}:
 +
 
 +
  # modprobe bonding
 +
 
 +
  # rc.d stop network
 +
 
 +
  # rc.d start net-profiles
 +
 
 +
Per controllare lo stato:
 +
 
 +
  cat /proc/net/bonding/bond0
 +
 
 +
===Aliasing indirizzo IP===
  
Per rendere effettive le modifiche, riavviare la rete:
+
l'aliasing IP è il processo per l'aggiunta di più di un indirizzo IP all'interfaccia di rete. Così facendo, un nodo su una rete può avere connessioni multiple nella rete stessa, ciascuna con una funzione diversa.
# rc.d restart network
+
  
===IP aliasing===
+
Per utilizzare l'IP aliasing da [[netcfg (Italiano)|''netcfg'']], cambiare i comandi {{ic|POST_UP}} e {{ic|PRE_DOWN}} sul profilo dell'interfaccia di rete per configurare manualmente gli indirizzi IP aggiuntivi. Vedere [https://bbs.archlinux.org/viewtopic.php?pid=1036395#p1036395 qui] per maggiori dettagli.
{{Expansion}}
+
Se si vogliono utilizzare più indirizzi IP su di un'interfaccia, occorrerà utilizzare [[netcfg (Italiano)|''netcfg'']] ed i comandi {{Codeline|POST_UP}} e {{Codeline|PRE_DOWN}} sul profilo dell'interfaccia di rete per configurare manualmente gli indirizzi IP aggiuntivi. Vedere [https://bbs.archlinux.org/viewtopic.php?pid=951573#p951573 qui] per maggiori dettagli.
+
 
 
 
====Esempio====
 
====Esempio====
Sarà necessario {{Package Official|netcfg}}, disponibile nei [[Official Repositories (Italiano)|Repository Ufficiali]]
+
Sarà necessario {{Pkg|netcfg}}, disponibile nei [[Official Repositories (Italiano)|Repository Ufficiali]]
 
 
{{cli|# pacman -S netcfg}}
+
{{bc|# pacman -S netcfg}}
  
 
Preparare la configurazione
 
Preparare la configurazione
  
{{File
+
{{hc
  
|name=/etc/network.d/mynetwork
+
|/etc/network.d/mynetwork
 +
|<nowiki>
  
|content=<nowiki>
+
CONNECTION='ethernet'
 
+
DESCRIPTION='Five different addresses on the same NIC.'
# CONNECTION='ethernet'
+
INTERFACE='eth0'
# DESCRIPTION='Five different addresses on the same NIC.'
+
IP='static'
# INTERFACE='eth0'
+
ADDR='192.168.1.10'
# IP='static'
+
GATEWAY='192.168.1.1'
# ADDR='192.168.1.10'
+
DNS=('192.168.1.1')
# GATEWAY='192.168.1.1'
+
DOMAIN=''
# DNS=('192.168.1.1')
+
POST_UP='x=0; for i in 11 12 13 14 ; do ip addr add 192.168.1.$i/24 brd 192.168.1.255 dev eth0 label eth0:$((x++)); done'
# DOMAIN=''
+
PRE_DOWN='for i in 11 12 13 14 ; do ip addr del 192.168.1.$i/24 dev eth0 ; done'
# POST_UP='for i in 11 12 13 14 ; do ip addr add 192.168.1.$i/24 brd 192.168.1.255 dev eth0 ; done'
+
# PRE_DOWN='for i in 11 12 13 14 ; do ip addr del 192.168.1.$i/24 dev eth0 ; done'
+
  
 
</nowiki>}}
 
</nowiki>}}
  
{{File
+
{{hc
  
|name=/etc/rc.conf
+
|/etc/rc.conf
 
+
|<nowiki>
|content=<nowiki>
+
 
NETWORKS=(mynetwork)
 
NETWORKS=(mynetwork)
  
Line 223: Line 363:
  
 
===Cambiare MAC/hardware address===
 
===Cambiare MAC/hardware address===
Non è più possibile cambiare il proprio MAC address tramite {{Filename|/etc/rc.conf}}. Vedere [[MAC Address Spoofing]] per maggiori dettagli.
+
Non è più possibile cambiare il proprio MAC address tramite {{ic|/etc/rc.conf}}. Vedere [[MAC Address Spoofing]] per maggiori dettagli.
  
 
== Risoluzione dei problemi==
 
== Risoluzione dei problemi==
 
=== Errore DHCP al boot ===
 
Per prima cosa, controllare tutti i vari step che il computer esegue all’avvio, per individuare quale di essi fallisce.
 
 
Gli step sono:
 
 
# Individuazione dispositivo di rete e caricamento dei relativi driver.
 
# Attivazione dell’interfaccia.
 
# Esecuzione {{codeline|dhcp}}
 
 
====Step 1====
 
 
Controllare la riga "Ethernet controller" nell’output del comando {{codeline|lspci -v}}.
 
Essa dovrebbe indicare in quale modulo del kernel è contenuto il driver della propria scheda di rete. Ad esempio:
 
{{command|lspci -v|<nowiki>
 
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
 
...
 
Kernel driver in use: atl1
 
Kernel modules: atl1
 
</nowiki>|prompt=$}}
 
Dopodichè, assicurarsi che il driver sia caricato, attraverso il comando ''dmesg | grep <module name>''. Ad esempio:
 
$ dmesg |grep atl1
 
    ...
 
    atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex
 
====Step 2====
 
 
Controllare che l’interfaccia ottenuta dall’output di {{codeline|dmesg}} sia associata alla scheda di rete ed attivarla con (da root){{cli|# ip link set <interface> up}}
 
 
Controllare il risultato con {{codeline|ip addr show dev eth0}}. Ad esempio:
 
{{command|ip addr show dev eth0|<nowiki>
 
  2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc vboxnetflt state UP qlen 1000
 
  [...]
 
</nowiki>|prompt=$}}
 
 
====Step 3====
 
 
Per andare sul sicuro, disattivare l’interfaccia con {{codeline|dhcpcd --release}}, quindi riattivarla con {{codeline|dhcpcd}}. Visualizzare la pagina {{codeline| man dhcpcd}} per maggiori informazioni.
 
 
Se tutto è andato a buon fine si vedrà una cosa del genere:
 
{{command|dhcpcd --release eth0|<nowiki>
 
dhcpcd: dhcpcd not running </nowiki>|prompt=#}}
 
{{command|dhcpcd eth0|<nowiki>
 
dhcpcd: version 5.1.1 starting
 
dhcpcd: eth0: broadcasting for a lease
 
...
 
dhcpcd: eth0: leased 192.168.1.70 for 86400 seconds
 
</nowiki>|prompt=#}}
 
 
Ed ora {{codeline|ip addr show dev <interface>}}  dovrebbe mostrare l’indirizzo inet.
 
Probabilmente alcune delle cose descritte in questi step non funzioneranno, altrimenti la rete si sarebbe avviata automaticamente al boot.
 
 
Se {{codeline|dhcp}} funziona utilizzando la procedura descritta sopra, ma non si avvia al boot, aggiungere al file {{filename|/etc/rc.local}} quanto segue:
 
dhcpcd -k eth0
 
dhcpcd -nd eth0
 
Vedere http://bbs.archlinux.org/viewtopic.php?id=63940 per maggiori informazioni.
 
 
Per molti, il pacchetto {{codeline|dhclient}} (disponibile in [extra]) ha funzionato dove {{codeline|dhcpcd}} ha fallito.
 
  
 
===Scambio computer/modem via cavo===
 
===Scambio computer/modem via cavo===
 
La maggior parte degli ISP (videotron for example) ha il modem via cavo configurato per riconoscere un solo PC client, attraverso il MAC Address della sua interfaccia di rete. Una volta che il modem via cavo ha acquisito il MAC Address del primo PC, o della relativa periferica, non risponderà in alcun modo ad un altro MAC Address. Pertanto, se si cambia un PC con un altro (o router), il nuovo PC (o router) non funzionerà con il modem via cavo, in quanto ha un MAC Address diverso dal precedente. Per effettuare il reset del modem via cavo in modo che riconosca il nuovo PC, è necessario spegnerlo e riaccenderlo. Una volta che il modem via cavo si è riavviato ed è ritornato completamente in linea (le spie luminose sono stabili), riavviare il nuovo computer in modo da effettuare una nuova richiesta DHCP, o effettuarla manualmente.
 
La maggior parte degli ISP (videotron for example) ha il modem via cavo configurato per riconoscere un solo PC client, attraverso il MAC Address della sua interfaccia di rete. Una volta che il modem via cavo ha acquisito il MAC Address del primo PC, o della relativa periferica, non risponderà in alcun modo ad un altro MAC Address. Pertanto, se si cambia un PC con un altro (o router), il nuovo PC (o router) non funzionerà con il modem via cavo, in quanto ha un MAC Address diverso dal precedente. Per effettuare il reset del modem via cavo in modo che riconosca il nuovo PC, è necessario spegnerlo e riaccenderlo. Una volta che il modem via cavo si è riavviato ed è ritornato completamente in linea (le spie luminose sono stabili), riavviare il nuovo computer in modo da effettuare una nuova richiesta DHCP, o effettuarla manualmente.
  
Se questo metodo non funziona, è necessario clonare il MAC Address del pc originario. Vedere quindi [https://wiki.archlinux.org/index.php/Configuring_Network_(Italiano)#Cambiare_MAC.2Fhardware_address Cambiare MAC/hardware address].
+
Se questo metodo non funziona, è necessario clonare il MAC Address del pc originario. Vedere quindi [[Configuring Network (Italiano)#Cambiare MAC/hardware address]].
  
 
===Il problema del TCP Window Scaling===
 
===Il problema del TCP Window Scaling===
Line 305: Line 388:
 
Prima di tutto chiariamo: è molto difficile. In alcuni casi, non sarà possibile effettuare connessioni TCP (HTTP, FTP, ...), in altri sarà possibile comunicare solo con alcuni host (molto pochi).
 
Prima di tutto chiariamo: è molto difficile. In alcuni casi, non sarà possibile effettuare connessioni TCP (HTTP, FTP, ...), in altri sarà possibile comunicare solo con alcuni host (molto pochi).
  
Quando si ha questo problema, l'output di <code>dmesg</code> è ok, i log sono puliti e <code>ip addr</code> riporta una configurazione corretta, quindi sembra tutto normale.
+
Quando si ha questo problema, l'output di {{ic|dmesg}} è ok, i log sono puliti e {{ic|ip addr}} riporta una configurazione corretta... quindi sembra tutto normale.
  
 
Se non è possibile raggiungere nessun sito Web, ma è possibile pingare alcuni host, probabilmente si è incappati in questo problema: il ping utilizza il protocollo ICMP e non è affetto da problemi TCP.
 
Se non è possibile raggiungere nessun sito Web, ma è possibile pingare alcuni host, probabilmente si è incappati in questo problema: il ping utilizza il protocollo ICMP e non è affetto da problemi TCP.
Line 317: Line 400:
  
 
====Come risolverlo? (Il metodo corretto)====
 
====Come risolverlo? (Il metodo corretto)====
Semplicemente, disabilitare il Window Scaling. Anche se è una caratteristica carina, può rivelarsi scomoda se non si può sistemare il router malfunzionante. Ci sono diversi metodi per disabiltare il Window Scaling, e sembra che il più sicuro (che funziona sui kernel più recenti) sia aggiungere la seguente linea in {{Filename|/etc/sysctl.conf}}: (vedere anche [[sysctl]])
+
Semplicemente, disabilitare il Window Scaling. Anche se è una caratteristica carina, può rivelarsi scomoda se non si può sistemare il router malfunzionante. Ci sono diversi metodi per disabiltare il Window Scaling, e sembra che il più sicuro (che funziona sui kernel più recenti) sia aggiungere la seguente linea in {{ic|/etc/sysctl.conf}}: (vedere anche [[sysctl]])
  
 
  net.ipv4.tcp_window_scaling = 0
 
  net.ipv4.tcp_window_scaling = 0
Line 328: Line 411:
  
 
Altre discussioni pertinenti sono presenti su LKML.
 
Altre discussioni pertinenti sono presenti su LKML.
 
=== Nomi delle interfacce differenti ===
 
 
A volte le schede di rete assumono nomi differenti tra un riavvio e l’altro. Configurare la connessione di rete è difficile se non si se la scheda verrà chiamata {{Codeline|eth0}} o {{Codeline|eth1}}.
 
 
È possibile specificare l'ordine di caricamento del modulo in {{Filename|/etc/rc.conf}}, ma naturalmente ciò funziona solo se il kernel non include già i drivers E se sono in uso schede di rete diverse (ad esempio se si riferiscono a drivers differenti)
 
# Always load 8139too before e100
 
MODULES=(8139too e100)
 
 
'''-OPPURE-'''
 
 
Con {{Codeline|ifrename}}, vedere [[Rename network interfaces]]
 
 
'''-OPPURE-'''
 
 
È anche  possibile creare manualmente le regole di udev per assegnare all’interfaccia i nomi basandosi sui relativi MAC Address.
 
 
{{File|name=/etc/udev/rules.d/10-network.rules|content=<nowiki>
 
SUBSYSTEM=="net", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"
 
SUBSYSTEM=="net", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"
 
</nowiki>}}
 
 
Per maggiori informazioni riguardo gli ultimi due metodi, consultare la guida originale di udev, vedere la pagina wiki di [https://wiki.archlinux.org/index.php/Udev_%28Italiano%29 Udev].
 
 
[https://wiki.archlinux.org/index.php/Udev_(Italiano)#Ordinamento_delle_periferiche.2C_schede_di_rete.2Faudio_che_cambiano_ordine_ad_ogni_avvio Udev#Ordinamento delle periferiche, schede di rete/audio che cambiano ordine ad ogni avvio]
 
  
 
===Problema No Link / WOL schede Realtek===
 
===Problema No Link / WOL schede Realtek===
Line 373: Line 431:
 
             --> Enable
 
             --> Enable
  
{{Nota| I nuovi driver Realtek di Windows (testato con Realtek 8111/8169 Driver LAN v5.708.1030.2008, datato 2009/01/22, disponibile da GIGABYTE) potrebbero fare riferimento a questa opzione in modo leggermente diverso, come ''Shutdown Wake-On-LAN --> Enable''. Sembra che cambiare in Disabile non produca alcun effetto (si noterà che la luce Link rimarrà accesa fino alla chiusura di Windows). Una soluzione, non proprio pulitissima, è avviare Windows e semplicemente resettarlo (eseguendo un brutale riavvio/spegnimento), non dando quindi al driver di Windows la possibilità di disabilitare la LAN. La luce Link rimarrà accesa e l’adattatore LAN rimarrà accessibile dopo il POST – cioè fino a quando non si avvierà Windows e lo si spegnerà correttamente.}}
+
{{Nota| I nuovi driver Realtek di Windows (testato con Realtek 8111/8169 Driver LAN v5.708.1030.2008, datato 2009/01/22, disponibile da GIGABYTE) potrebbero fare riferimento a questa opzione in modo leggermente diverso, come ''Shutdown Wake-On-LAN --> Enable''. Sembra che cambiare in {{ic|Disable}} non produca alcun effetto (si noterà che la luce Link rimarrà accesa fino alla chiusura di Windows). Una soluzione, non proprio pulitissima, è avviare Windows e semplicemente resettarlo (eseguendo un brutale riavvio/spegnimento), non dando quindi al driver di Windows la possibilità di disabilitare la LAN. La luce Link rimarrà accesa e l’adattatore LAN rimarrà accessibile dopo il POST – cioè fino a quando non si avvierà Windows e lo si spegnerà correttamente.}}
  
 
====Metodo 3 - Aggiornare il driver Linux Realtek====
 
====Metodo 3 - Aggiornare il driver Linux Realtek====
Line 386: Line 444:
  
 
====Come diagnosticare il problema====
 
====Come diagnosticare il problema====
Il metodo migliore per diagnosticare il problema è utilizzare Firefox/Konqueror/links/seamonkey ed abilitare wget per pacman. Se questa è una nuova installazione di Arch Linux, allora si può prendere in considerazione l’idea di installare {{Codeline|links}} attraverso il live CD.
+
Il metodo migliore per diagnosticare il problema è utilizzare Firefox/Konqueror/links/seamonkey ed abilitare wget per pacman. Se questa è una nuova installazione di Arch Linux, allora si può prendere in considerazione l’idea di installare {{ic|links}} attraverso il live CD.
  
Prima di tutto, abilitare wget per pacman (in modo da ricevere informazioni inerenti il download dei pacchetti da parte di pacman). Aprire {{filename |/etc/pacman.conf}} con l’editor di testo che si preferisce e decommentare la seguente linea (eliminare il cancelletto #):
+
Prima di tutto, abilitare wget per pacman (in modo da ricevere informazioni inerenti il download dei pacchetti da parte di pacman). Aprire {{ic|/etc/pacman.conf}} con l’editor di testo che si preferisce e decommentare la seguente linea (eliminare il cancelletto #):
  
 
  XferCommand=/usr/bin/wget --passive-ftp -c -O %o %u
 
  XferCommand=/usr/bin/wget --passive-ftp -c -O %o %u
  
Mentre si edita il file {{filename |/etc/pacman.conf}} controllare che il mirror predefinito che pacman utilizza per il download dei pacchetti.
+
Mentre si edita il file {{ic|/etc/pacman.conf}} controllare che il mirror predefinito che pacman utilizza per il download dei pacchetti.
  
Ora aprire il mirror predefinito in un browser Internet per verificare se esso funziona. Se funziona, eseguire {{Codeline|pacman -Syy}} (altrimenti scegliere un altro mirror ed impostarlo come predefinito di pacman), se si ottiene qualcosa di simile a quanto segue (notare 1.0.0.0):
+
Ora aprire il mirror predefinito in un browser Internet per verificare se esso funziona. Se funziona, eseguire {{ic|pacman -Syy}} (altrimenti scegliere un altro mirror ed impostarlo come predefinito di pacman), se si ottiene qualcosa di simile a quanto segue (notare 1.0.0.0):
 
  <nowiki>ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz</nowiki>                                                             
 
  <nowiki>ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz</nowiki>                                                             
 
             <nowiki>=> `/var/lib/pacman/community.db.tar.gz.part'</nowiki>
 
             <nowiki>=> `/var/lib/pacman/community.db.tar.gz.part'</nowiki>
 
  Resolving mirror.pacific.net.au... 1.0.0.0
 
  Resolving mirror.pacific.net.au... 1.0.0.0
allora molto probabilmente si tratta di questo problema. 1.0.0.0 significa che non è stato possibile risolvere i DNS, perciò essi vanno aggiunti a {{filename |/etc/resolv.conf}}.
+
allora molto probabilmente si tratta di questo problema. 1.0.0.0 significa che non è stato possibile risolvere i DNS, perciò essi vanno aggiunti a {{ic|/etc/resolv.conf}}.
  
 
====Come risolvere il problema====
 
====Come risolvere il problema====
Fondamentalmente bisogna aggiungere manualmente i DNS al file {{filename |/etc/resolv.conf}}, il problema è che DHCP elimina automaticamente e sostituisce il file all'avvio, perciò è necessario editare {{filename |/etc/conf.d/dhcpcd}} e modificare i flag per impedire che ciò accada:
+
Fondamentalmente bisogna aggiungere manualmente i server DNS al file {{ic|/etc/resolv.conf}}, il problema è che DHCP elimina automaticamente e sostituisce il file all'avvio, perciò è necessario editare {{ic|/etc/conf.d/dhcpcd}} e modificare i flag per impedire che ciò accada:
  
Quando si apre il file {{filename |/etc/conf.d/dhcpcd}}, si dovrebbe vedere qualcosa di simile a quanto segue:
+
Quando si apre il file {{ic|/etc/conf.d/dhcpcd}}, si dovrebbe vedere qualcosa di simile a quanto segue:
 
  DHCPCD_ARGS="-t 30 -h $HOSTNAME"
 
  DHCPCD_ARGS="-t 30 -h $HOSTNAME"
 
Aggiungere il flag –R agli argomenti, ad esempio:
 
Aggiungere il flag –R agli argomenti, ad esempio:
 
  DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"
 
  DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"
  
{{Note|1=Se si utilizza dhcpcd >=4.0.2 il flag –R è obsoleto. Si prega di vedere la sezione [[#DHCP]] per informazioni su come utilizzare e modificare il file {{filename |/etc/resolv.conf}}}}
+
{{Nota|1=Se si utilizza {{Pkg|dhcpcd}} >=4.0.2 il flag {{ic|–R}} è obsoleto. Si prega di vedere la sezione [[Configuring Network (Italiano)#Per_l.27indirizzo_IP_assegnato_da_DHCP|Per l'indirizzo IP assegnato da DHCP]] per informazioni su come utilizzare e modificare il file {{ic|/etc/resolv.conf}}}}
  
Salvare e chiudere il file, poi aprire {{filename |/etc/resolv.conf}}. Si dovrebbe visualizzare un singolo nameserver (molto probabilmente 10.1.1.1). Questo è il gateway al router, a cui è necessario per ottenere i server DNS del proprio ISP. Incollare l'indirizzo IP nel browser ed effettuare il login al proprio router. Andando nella sezione DNS si dovrebbe vedere un indirizzo IP alla voce Primary DNS Server (Server DNS preferito), copiarlo ed incollarlo come voce nameserver, SOPRA il gateway corrente.
+
Salvare e chiudere il file, poi aprire {{ic|/etc/resolv.conf}}. Si dovrebbe visualizzare un singolo nameserver (molto probabilmente 10.1.1.1). Questo è il gateway al router, a cui è necessario per ottenere i server DNS del proprio ISP. Incollare l'indirizzo IP nel browser ed effettuare il login al proprio router. Andando nella sezione DNS si dovrebbe vedere un indirizzo IP alla voce Primary DNS Server (Server DNS preferito), copiarlo ed incollarlo come voce nameserver, '''SOPRA''' il gateway corrente.
  
Ad esempio, il file {{filename |/etc/resolv.conf}} dovrebbe essere simile a:
+
Ad esempio, il file {{ic|/etc/resolv.conf}} dovrebbe essere simile a:
 
  nameserver 10.1.1.1
 
  nameserver 10.1.1.1
  
Se il proprio DNS primario è 211.29.132.12, cambiare {{filename |/etc/resolv.conf}} in:
+
Se il proprio DNS primario è 211.29.132.12, cambiare {{ic|/etc/resolv.conf}} in:
 
  nameserver 211.29.132.12
 
  nameserver 211.29.132.12
 
  nameserver 10.1.1.1
 
  nameserver 10.1.1.1
  
Ora riavviare il demone di rete eseguendo {{Codeline|/etc/rc.d/network restart}} e {{Codeline|pacman -Syy}}. Se si sincronizza correttamente con il server, allora il problema è risolto.
+
Ora riavviare il demone di rete eseguendo {{ic|{ic|rc.d restart network}} e {{ic|pacman -Syy}}. Se si sincronizza correttamente con il server, allora il problema è risolto.
  
 
====Maggiori informazioni====
 
====Maggiori informazioni====
Line 425: Line 483:
 
  http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html
 
  http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html
  
===IP da errato DHCP collegato (tramite VPN) al router===
+
===Controllo problemi DHCP prima del rilascio dell'IP===
Si ha una rete in cui sono collegati insieme tramite VPN due router. Un router è a casa e l’altro in un altro luogo completamente diverso. In alcuni casi, sembra che il router connesso tramite VPN assegni un indirizzo IP al pc. Non si sa se c’è un metodo per prevenire che ciò accada, ma c’è un modo per risolvere il problema. In una console, da root, eseguire:
+
Il probleme potrebbe presentarsi quando DHCP ottiene un'assegnazione errata dell'IP. Ad esempio quando due router sono collegati insieme tramite VPN. Il router connesso tramite VPN può assegnare un indirizzo IP. C’è un modo per risolvere il problema. In una console, da root, rilasciare l'indirizzo IP:
dhcpcd -k
+
  # dhcpcd -k
dhcpcd
+
Quindi richeiderne uno nuovo:
La prima riga azzera l’indirizzo IP e la seconda ne richiede uno nuovo. Affinché ciò funzioni, è necessario eseguire questi comandi più volte, anziché aspettarsi un risultato positivo già dopo la prima esecuzione. Nel caso in cui non dovesse funzionare, potrebbe essere necessario scollegare la connessione VPN e provare nuovamente con i comandi di cui sopra.
+
  # dhcpcd
 
+
Questo metodo funziona anche quando è installato NetworkManager.
+
 
+
===Realtek 8111E perde molti pacchetti packets/dmesg è pieno di messaggi===
+
 
+
Questo problema interessa attualmente la rev6 del modello 8111. Per verificare se si dispone di questo chip, visualizzare l'output del comando seguente:
+
 
+
lspci | grep 8111
+
 
+
Se si ottiene qualcosa simile a questo:
+
 
+
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
+
 
+
e nel dmesg sono presenti svariate linee contenenti:
+
 
+
r8169 0000:03:00.0: eth0: link up
+
 
+
si sta utilizzando un driver non corretto. Per risolvere, installare da [[AUR (Italiano)|AUR]] il pacchetto {{Package AUR|r8168}}, inserire in [https://wiki.archlinux.org/index.php/Kernel_modules_(Italiano)#Blacklist blacklist] il modulo del kernel r8169, e riavviare per applicare le modifiche.
+
 
+
Presumibilmente questo problema sarà fixato in Linux 3.0
+
  
Fonte: http://forums.gentoo.org/viewtopic-t-881217-start-0.html
+
Potrebbe essere necessario eseguire questi due comandi più volte.
  
 
==Wiki Correlati==
 
==Wiki Correlati==
[https://wiki.archlinux.org/index.php/Samba_%28Italiano%29 Samba]
+
[[Samba (Italiano)]]

Revision as of 15:59, 6 December 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end


Primo controllo

Molte volte, l’installazione di base ha già creato una configurazione di rete funzionante. Per verificare, utilizzare il seguente comando:

ping -c 3 www.google.com
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.
64 bytes from 74.125.224.146: icmp_req=1 ttl=50 time=437 ms
64 bytes from 74.125.224.146: icmp_req=2 ttl=50 time=385 ms
64 bytes from 74.125.224.146: icmp_req=3 ttl=50 time=298 ms

--- www.l.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 298.107/373.642/437.202/57.415 ms
Suggerimento: L'opzione -c 3 esegue ping 3 volte. Vedereman ping per maggiori informazioni.

Se funziona, si possono personalizzare le impostazioni con le opzioni che seguono.

Se il comando precedente riporta errori di host sconosciuti, significa che il pc non è riuscito a risolvere il nome di dominio. Ciò potrebbe dipendere dal proprio provider o dal proprio router/gateway. Si può provare a pingare un indirizzo IP statico, per accertarsi che la macchina abbia accesso ad Internet.


$ ping -c 3 8.8.8.8 

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_req=1 ttl=53 time=52.9 ms

64 bytes from 8.8.8.8: icmp_req=2 ttl=53 time=72.5 ms

64 bytes from 8.8.8.8: icmp_req=3 ttl=53 time=70.6 ms


--- 8.8.8.8 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 52.975/65.375/72.543/8.803 ms
Suggerimento: 8.8.8.8 è un indirizzo statico semplice da ricordare. Si tratta dell'indirizzo del principale server DNS di Google, quindi può essere considerato affidabile, e generalmente non è bloccato da filtri sui contenuti e da proxy.

Se si riesce a pingare quell'indirizzo, si può provare ad aggiungere questo nameserver al proprio file resolv.conf.

Impostare l'host name

Un host name è un nome univoco creato per identificare un pc in rete. Con Arch Linux, l’host name del pc è impostabile in /etc/rcconf o, fino a quando non si riavvia, con il comando hostname. Per gli host names si possono utilizzare solo caratteri alfanumerici. Il trattino (-) può essere utilizzato, ma né all’inizio né alla fine dell’host name. La lunghezza di quest'ultimo è limitata a 63 caratteri.

Semplicemente inserire il proprio host name in /etc/hostname; non inserire il nome di dominio in /etc/hostname. Qualora non esistesse, creare il file, come nell'esempio archlinux è l'host name:

/etc/hostname

archlinux

Dopo aver impostato l’host name, è importante includere lo stesso in /etc/hosts. Questo aiuterà i processi che fanno riferimento al computer attraverso il suo hostname per trovarne l’indirizzo IP, così come faranno i programmi che si basano sulla chiamata di sistema gethostname () per determinare l'host name del sistema.

Editare /etc/hosts ed aggiungere lo stesso HOSTNAME che è stato inserito in hostname:

127.0.0.1      archlinux.domain.org   localhost.localdomain      localhost    archlinux
Nota: Il nome di dominio completo (FQDN) dovrebbe essere il primo elemento dopo l'indirizzo IP. Tutti i nomi sul lato destro sono solo alias per il nome host/dominio situato più a sinistra. Potete controllare se questo è stato configurato correttamente eseguendo hostname --fqdn.

Per impostare l’hostname temporaneamente (fino al successivo riavvio), utilizzare il comando hostname dal pacchetto inetutils da root:

# hostname archlinux

Driver dispositivo

Controllo stato driver

Udev dovrebbe riconoscere il modulo dell’interfaccia di rete (NIC) e caricarlo automaticamente al boot. Controllare la voce "Ethernet controller" nell'output di lspci -v. Esso dovrebbe indicare quali moduli del kernel contengono il driver del proprio dispositivo di rete. Ad esempio:

lspci -v
 02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)

 	...
  	Kernel driver in use: atl1 
 	Kernel modules: atl1

Dopodichè, controllare che sia caricato il modulo, tramite dmesg | grep <module name>. Ad esempio:

dmesg |grep atl1
   ...
   atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex

Se il driver è caricato correttamente, saltare questa sezione. Altrimenti, è necessario individuare quale modulo è necessario per il proprio particolare modello.

Caricare il modulo del dispositivo

Utilizzare Google per individuare il modulo/driver corretto per il chip. Una volta individuato il modulo da utilizzare, è possibile caricarlo con:

 # modprobe <modulename> 

Interfacce di rete

Nomi dispositivi persistenti

Per le schede madri con schede di rete NICs integrate, è importante conoscere quale NIC è considerata primaria (ad esempio, "eth0") e quale NIC è considerata secondaria (ad esempio, "eth1"). Molti problemi di configurazione sono causati da utenti che non impostano correttamente la configurazione di "eth0" nel file /etc/rc.conf, quando in realtà, hanno il cavo Ethernet collegato in "eth1".

Udev è responsabile dell'assegnazione dei nomi ai dispositivo. Con Udev ed i driver di rete modulari, la numerazione dell'interfaccia di rete non è persistente anche dopo un riavvio, perché i driver vengono caricati in parallelo e, quindi, in ordine casuale. Configurare la connessione di rete è difficile se non si sa se ​​la propria scheda verrà chiamata eth0 oppure eth1. E' possibile risolvere utilizzando ifrename, vedere Rename network interfaces. E' anche possibile creare manualmente delle regole udev che assegnino alle interfacce nomi basati sull'interfaccia degli indirizzi MAC. Vedere Persistent Device Names.

Ottenere il nome corrente del dispositivo

Il nome attuale NIC può essere individuato con il tool ip.

$ ip addr | sed '/^[0-9]/!d;s/: <.*$//'

1: lo
2: eth1
3: eth0
4: firewire0

Abilitare/disabilitare l'interfaccia

E' possibili abilitare o disabilitare l'interfaccia di rete:

ip link set <interface> up/down

Controllare il risultato con ip addr show dev eth0. Ad esmepio:

ip addr show dev eth0
   2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc vboxnetflt state UP qlen 1000
   [...]

Configurare l'indirizzo IP

Ci sono due opzioni: l'assegnazione dinamica dell'indirizzo utilizzando DHCP oppure un indirizzo "statico" che non cambia. Vedere Wikipedia:DHCP per maggiori informazioni.

Indirizzo IP dinamico

Esecuzione manuale del Demone Client DHCP

Si noti che dhcpcd non è dhcpd.

dhcpcd eth0
 
  dhcpcd: version 5.1.1 starting 
  dhcpcd: eth0: broadcasting for a lease
  ... 
  dhcpcd: eth0: leased 192.168.1.70 for 86400 seconds 

Ed ora ip addr show dev <interface> dovrebbe mostrare il proprio indirizzo inet.

Per alcune persone, il pacchetto dhclient (disponibile in [extra]) ha funzionato dovedhcpcd ha fallito.

Esecuzione all'avvio di DHCP

In questo caso è necessario il pacchetto dhcpd (già disponibile nella maggior parte delle installazioni). Inoltre, è necessario editare /etc/rc.conf in questo modo:

interface="eth0"
address=
netmask=
gateway=

Va definita solo l'interfaccia, le altre opzioni saranno impostate tramite DHCP..

Se si utilizza DHCP e non si vuole che i server DNS vengano automaticamente assegnati ogni volta che si avvia la rete, assicurarsi di aggiungere all'ultima sezione del file /etc/dhcpcd.conf quanto segue:

nohook resolv.conf

Per evitare che dhcpcd aggiunga server di nomi di dominio al file resolve.conf, utilizzare l'opzione nooption in /etc/dhcpcd.conf:

nooption donmain_name_servers

Quindi aggiungere il proprio server DNS in /etc/resolv.conf.

Si può utilizzare il pacchetto openresolv per controllare molti processi tramite /etc/resolv.conf (ad esempio, dhcpcd ed un client VPN). Per utilizzare openresolv, non è necessaria alcuna configurazione aggiuntiva per dhcpcd.

{{Nota|1=È possibile avere un indirizzo IP statico utilizzando dhcpcd. È sufficiente modificare il file /etc/conf.d/dhcpcd e cercare qualcosa simile a (dove xxxx è l’indirizzo IP desiderato):

DHCPCD_ARGS="-q -s x.x.x.x"

Indirizzo IP Statico

Ci sono vari motivi per cui si potrebbe voler assegnare indirizzi IP statici alla rete. Per esempio, si può ottenere un certo livello di prevedibilità. Oppure si potrebbe non volere che il demone dhcp venga sempre eseguito.

Nota: Se si condivide la connessione internet con un pc Windows senza un router, assicurarsi di utilizzare indirizzi IP statici su entrambi i computer, onde evitare problemi con la LAN.

In questo caso è necessario conoscere:

  • Indirizzo IP statico,
  • Subnet mask,
  • Indirizzo di broadcast,
  • Indirizzo IP del gateway,
  • Nome indirizzi IP del server,
  • Nome di dominio (se non si tratta di una LAN locale, nel qual caso si può mettere up).

Se la rete è privata, è sufficiente utilizzare un indirizzo IP del tipo 192.168.*.'*, una subnet mask 255.255.0.0 e un indirizzo di broadcast 192.168.255.255. A meno che non si utilizzi un router l'indirizzo IP del gateway non è necessario. A questo punto, editare /etc/rc.conf in questo modo, sostituendo indirizzo IP, netmask, broadcast e gateway:

interface=eth0
address=192.68.0.2
netmask=255.255.255.0
broadcast=192.168.1.255
gateway=192.168.22.1

Editare il file /etc/resolv.conf, inserendo l'indirizzo IP del proprio name server ed il proprio dominio locale:

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
Nota: Attualmente è possibile inserire massimo 3 righe di nameserver.
Nota: Coloro che vogliono visionare il rendimento/benchmark, possono dare un'occhiata a GRC's DNS Benchmark .

Assegnazione manuale

Si può assegnare l’indirizzo IP dalla console:

 # ip addr add <ip address>/<netmask> dev <interface>

Ad esempio:

 # ip addr add 192.168.1.2/24 dev eth0

Per altre opzioni, vedere: man ip

Aggiungere il proprio gateway in questo modo:

 # ip route add default via <ip address>

(Sostituire <ip> con il proprio indirizzo IP del gateway

Ad esempio:

 # ip route add default via 192.168.1.1

Se si ottiene l'errore "No such process", significa che è necessario eseguire # ip link set dev eth0 up.

Calcolo indirizzi

E' possibile utilizzare ipcalc fornito dal pacchetto ipcalc package per calcolare l'IP broadcast, network, netmask, ed i range di host host per le configurazioni più avanzate. Ad esempio, è possiblie utilizzare l'ethernet tramite firewire per connettere un pc windows ad arch. Per la sicurezza e l'organizzazione della rete, è possibile posizionarli su una propria rete, configurare netmask e broadcast in modo che siano le uniche 2 macchine su di essa. Per mostrare gli indirizzi netmask e broadcast, si può utilizzare ipcalc, fornendo con l'IP arch del firewire nic 10.66.66.1, e specificando ipcalc, dovrebbe creare una rete di 2 soli host.

$ ipcalc -nb 10.66.66.1 -s 1
Address:   10.66.66.1
Netmask:   255.255.255.252 = 30
Network:   10.66.66.0/30
HostMin:   10.66.66.1
HostMax:   10.66.66.2
Broadcast: 10.66.66.3
Hosts/Net: 2                     Class A, Private Internet

Caricare la configurazione

Per testare le configurazioni, riavviare il computer o, da root, eseguire:

rc.d restart network

Provare a pingare il gateway, il server DNS, l’ISP e altri siti Internet, in questo ordine, per rilevare eventuali problemi di collegamento lungo la strada, ad esempio:

ping -c 3 www.google.com

Impostazioni aggiuntive

ifplugd per laptops

ifplugd nei Official Repositories (Italiano)Repository Ufficiali è un demone che configura automaticamente il dispositivo Ethernet quando viene collegato il cavo e che sconfigura il dispositivo quando il cavo viene scollegato. Ciò è utile su portatili con schede di rete integrate, così verrà creata una configurazione solo quando si collegherà il cavo. Questo sistema può essere utilizzato anche quando si vuole riavviare la rete, senza riavviare il computer e senza utilizzare la shell.

Di default è configurato per funzionare per il dispositivo eth0. Questa ed altre impostazioni come i ritardi, possono essere configurati in /etc/ifplugd/ifplugd.conf.

[[Daemon (Italiano)#Avvio e blocco manuale|Avviare il demone ifplugd] ed aggiungere ifplugd al proprio DAEMONS array di modo da farlo partire automaticamento all'avvio del sistema.

In alternativa, abilitandonet-auto-wired.service ifplugd si dovrebbe avviare al boot, se si ha netcfg installato, altrimenti è possibile utilizzare ifplugd@eth0.service.

Bonding o LAG

Sarà necessario installare ifenslave dai Repository ufficiali, così come il pacchetto netcfg-bondingAUR da AUR.

Modificare/creare ciascuno dei seguenti files:

/etc/network.d/bonded
  CONNECTION="bonding"
  INTERFACE="bond0"
  SLAVES="eth0 eth1"
  IP="dhcp"
  DHCP_TIMEOUT=10
/etc/rc.conf
  MODULES=(... bonding ...)

...
 interface=bond0 #commentare le altre linee (indirizzo,netmask,gateway,...)
...
 NETWORKS=(... bonded ...)
...

DAEMONS=(... net-profiles ...) #sostituire network 
Nota: Per cambiare la modalità bonding (di default è round robin), ad esempio in aggregazione dinamica del link:

Creare /etc/modprobe.d/bonding.conf:

/etc/modprobe.d/bonding.conf
 
options bonding mode=4
options bonding miimon=100
Per maggiori informazioni inerenti le differenti policy di bonding (ed impostazioni di altri driver) consultare l'Linux Ethernet Bonding Driver HOWTO.

Per attivare le nuove porte, eseguire il modprobe di bonding, fermare network ed avviare il servizio net-profiles:

 # modprobe bonding
 # rc.d stop network
 # rc.d start net-profiles

Per controllare lo stato:

 cat /proc/net/bonding/bond0

Aliasing indirizzo IP

l'aliasing IP è il processo per l'aggiunta di più di un indirizzo IP all'interfaccia di rete. Così facendo, un nodo su una rete può avere connessioni multiple nella rete stessa, ciascuna con una funzione diversa.

Per utilizzare l'IP aliasing da netcfg, cambiare i comandi POST_UP e PRE_DOWN sul profilo dell'interfaccia di rete per configurare manualmente gli indirizzi IP aggiuntivi. Vedere qui per maggiori dettagli.

Esempio

Sarà necessario netcfg, disponibile nei Repository Ufficiali

# pacman -S netcfg

Preparare la configurazione

/etc/network.d/mynetwork

CONNECTION='ethernet'
DESCRIPTION='Five different addresses on the same NIC.'
INTERFACE='eth0'
IP='static'
ADDR='192.168.1.10'
GATEWAY='192.168.1.1'
DNS=('192.168.1.1')
DOMAIN=''
POST_UP='x=0; for i in 11 12 13 14 ; do ip addr add 192.168.1.$i/24 brd 192.168.1.255 dev eth0 label eth0:$((x++)); done'
PRE_DOWN='for i in 11 12 13 14 ; do ip addr del 192.168.1.$i/24 dev eth0 ; done'

/etc/rc.conf
NETWORKS=(mynetwork)

...

DAEMONS=(... net-profiles ...)

Cambiare MAC/hardware address

Non è più possibile cambiare il proprio MAC address tramite /etc/rc.conf. Vedere MAC Address Spoofing per maggiori dettagli.

Risoluzione dei problemi

Scambio computer/modem via cavo

La maggior parte degli ISP (videotron for example) ha il modem via cavo configurato per riconoscere un solo PC client, attraverso il MAC Address della sua interfaccia di rete. Una volta che il modem via cavo ha acquisito il MAC Address del primo PC, o della relativa periferica, non risponderà in alcun modo ad un altro MAC Address. Pertanto, se si cambia un PC con un altro (o router), il nuovo PC (o router) non funzionerà con il modem via cavo, in quanto ha un MAC Address diverso dal precedente. Per effettuare il reset del modem via cavo in modo che riconosca il nuovo PC, è necessario spegnerlo e riaccenderlo. Una volta che il modem via cavo si è riavviato ed è ritornato completamente in linea (le spie luminose sono stabili), riavviare il nuovo computer in modo da effettuare una nuova richiesta DHCP, o effettuarla manualmente.

Se questo metodo non funziona, è necessario clonare il MAC Address del pc originario. Vedere quindi Configuring Network (Italiano)#Cambiare MAC/hardware address.

Il problema del TCP Window Scaling

I pacchetti TCP contengono nell'header un campo "window" che indica la quantità di dati che deve restituire l'altro host. Questo campo è di 16 bit, dato che la dimensione della finestra è al massimo 64kb. I pacchetti TCP vengono mantenuti in cache per un certo tempo e, se la memoria è (o era) limitata, è probabile che l'host la finisca rapidamente.

Nel 1992, quando cominciò ad essere disponibile molta memoria, per migliorare la situazione, fu scritta la RFC 1323: fu introdotto in "Window Scaling". Il valore "window", presente in tutti i pacchetti, viene modificato da uno "Scale Factor" definito una sola volta all'inizio della connessione. Questo campo, di 8 bit, permette alla finestra di essere fino a 32 volte più grande dei 64Kb iniziali.

Sembra che alcuni router e firewall riscrivano lo Scale Factor a 0 che causa "incomprensioni" tra gli host.

Il kernel 2.6.17 ha introdotto un nuovo algoritmo che genera Scale Factors più alti, in modo tale da rendere il problema di questi router e firewall virtualmente più visibile.

La connessione, in questi casi, si interrompe o è, al più, molto lenta.

Come diagnosticare questo problema?

Prima di tutto chiariamo: è molto difficile. In alcuni casi, non sarà possibile effettuare connessioni TCP (HTTP, FTP, ...), in altri sarà possibile comunicare solo con alcuni host (molto pochi).

Quando si ha questo problema, l'output di dmesg è ok, i log sono puliti e ip addr riporta una configurazione corretta... quindi sembra tutto normale.

Se non è possibile raggiungere nessun sito Web, ma è possibile pingare alcuni host, probabilmente si è incappati in questo problema: il ping utilizza il protocollo ICMP e non è affetto da problemi TCP.

Si può provare ad utilizzare Wireshark. Si possono vedere comunicazioni UDP e ICMP che avvengono correttamente e le connessioni TCP che non vanno a buon fine (solo verso host 'esterni').

Come risolverlo? (La strada sbagliata)

Per risolvere il problema, si può cambiare il valore tcp_rmem, su cui si basa il calcolo dello Scale Factor. Sebbene dovrebbe funzionare per la maggior parte degli host, non è sicuro che funzioni in tutti i casi, specialmente per host molto distanti.

echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem

Come risolverlo? (Il metodo corretto)

Semplicemente, disabilitare il Window Scaling. Anche se è una caratteristica carina, può rivelarsi scomoda se non si può sistemare il router malfunzionante. Ci sono diversi metodi per disabiltare il Window Scaling, e sembra che il più sicuro (che funziona sui kernel più recenti) sia aggiungere la seguente linea in /etc/sysctl.conf: (vedere anche sysctl)

net.ipv4.tcp_window_scaling = 0

Come risolverlo? (Il metodo migliore)

Questo problema è causato da router/firewall malfunzionanti, quindi vanno cambiati.

Ulteriori informazioni

Questa sezione si basa sull'articolo LWN TCP window scaling and broken routers e sull’articolo di Kernel Trap : Window Scaling on the Internet.

Altre discussioni pertinenti sono presenti su LKML.

Problema No Link / WOL schede Realtek

Gli utenti che hanno schede di rete con chipset Realtek 8168/8169/8101/8111 possono avere il problema che l'interfaccia sembri disabilitata in fase di avvio e il led sia spento. Questo, di solito, accade in caso di dual boot insieme a Windows. Sembra che il problema sia dovuto all' utilizzo dei driver ufficiali Relatek (qualsiasi versione successiva al Maggio 2007) in ambiente Windows. Questi driver disabiltano il Wake-on-Lan in fase di spegnimento di Windows, lasciandola in questo modo finchè Windows non viene riavviato. Per verificare se il problema affligge anche la nostra scheda semplicemente notando che il led dell'interfaccia rimane spento a meno che non si avvii Windows. In condizioni normali il led dovrebbe essere sempre acceso finchè il Pc è acceso, anche durante il POST. Questo problema affliggerà tutti i sistemi che non hanno driver aggiornati (esempio i live CD). Ecco alcune possibili soluzioni al problema:

Metodo 1 - Ripristino driver Windows

E' possibile fare un ripristino del driver Windows alla versione fornita da Microsoft (se disponibile), o ripristinare una versione del driver Realtek a precedente al Maggio 2007 (che probabilmente si trova sul CD di installazione dell'hardware).

Metodo 2 - Abilitare il Wake on Lan nel driver Windows

Probabilmente il metodo migliore e più veloce è cambiare questa impostazione nel driver Windows. Questo metodo dovrebbe anche risolvere il problema non soltanto per Arch, ma anche per altri sistemi, come Live CD ed altri. In Windows, sotto "Gestione Periferiche", trovate la scheda Realtek e selezionatela. Nella scheda "Avanzate" abilitate "Wake-on-lan after shutdown".

In Windows XP (example)
Right click my computer
--> Hardware tab
  --> Device Manager
    --> Network Adapters
      --> "double click" Realtek ...
        --> Advanced tab
          --> Wake-On-Lan After Shutdown
            --> Enable
Nota: I nuovi driver Realtek di Windows (testato con Realtek 8111/8169 Driver LAN v5.708.1030.2008, datato 2009/01/22, disponibile da GIGABYTE) potrebbero fare riferimento a questa opzione in modo leggermente diverso, come Shutdown Wake-On-LAN --> Enable. Sembra che cambiare in Disable non produca alcun effetto (si noterà che la luce Link rimarrà accesa fino alla chiusura di Windows). Una soluzione, non proprio pulitissima, è avviare Windows e semplicemente resettarlo (eseguendo un brutale riavvio/spegnimento), non dando quindi al driver di Windows la possibilità di disabilitare la LAN. La luce Link rimarrà accesa e l’adattatore LAN rimarrà accessibile dopo il POST – cioè fino a quando non si avvierà Windows e lo si spegnerà correttamente.

Metodo 3 - Aggiornare il driver Linux Realtek

Scaricare ed installare una nuova versione del driver dal sito ufficiale Realtek. (non testato ma dovrebbe risolvere il problema).

Metodo 4 - Abilitare LAN Boot ROM nel BIOS/CMOS

Sembra che abilitando nel BIOS/CMOS l’impostazione Integrated Peripherals --> Onboard LAN Boot ROM si riattivi il chip Realtek LAN all’avvio del sistema, nonostante il driver di Windows lo disabiliti allo spegnimento.
Ciò è stato testato più volte e con successo con una GIGABYTE GA-G31M-ES2L su un BIOS versione F8 rilasciato il 2009/02/05. Formato data YMMV.

Problema con DLink G604T/DLink G502T DNS

Gli utenti che posseggono un router DLink G604T/DLink G502T, utilizzano DHCP ed hanno un firmware v2.00+ (in genere utenti con firmware AUS), possono avere problemi con alcuni programmi nel risolvere i DNS. Uno di questi programmi, sfortunatamente, è pacman. Fondamentalmente il problema è che il router, in certe situazioni, non invia correttamente i DNS al DHCP, ciò fa sì che i programmi provino a connettersi al server con IP 1.0.0.0 ricevendo un errore di connessione scaduta.

Come diagnosticare il problema

Il metodo migliore per diagnosticare il problema è utilizzare Firefox/Konqueror/links/seamonkey ed abilitare wget per pacman. Se questa è una nuova installazione di Arch Linux, allora si può prendere in considerazione l’idea di installare links attraverso il live CD.

Prima di tutto, abilitare wget per pacman (in modo da ricevere informazioni inerenti il download dei pacchetti da parte di pacman). Aprire /etc/pacman.conf con l’editor di testo che si preferisce e decommentare la seguente linea (eliminare il cancelletto #):

XferCommand=/usr/bin/wget --passive-ftp -c -O %o %u

Mentre si edita il file /etc/pacman.conf controllare che il mirror predefinito che pacman utilizza per il download dei pacchetti.

Ora aprire il mirror predefinito in un browser Internet per verificare se esso funziona. Se funziona, eseguire pacman -Syy (altrimenti scegliere un altro mirror ed impostarlo come predefinito di pacman), se si ottiene qualcosa di simile a quanto segue (notare 1.0.0.0):

ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz                                                            
           => `/var/lib/pacman/community.db.tar.gz.part'
Resolving mirror.pacific.net.au... 1.0.0.0

allora molto probabilmente si tratta di questo problema. 1.0.0.0 significa che non è stato possibile risolvere i DNS, perciò essi vanno aggiunti a /etc/resolv.conf.

Come risolvere il problema

Fondamentalmente bisogna aggiungere manualmente i server DNS al file /etc/resolv.conf, il problema è che DHCP elimina automaticamente e sostituisce il file all'avvio, perciò è necessario editare /etc/conf.d/dhcpcd e modificare i flag per impedire che ciò accada:

Quando si apre il file /etc/conf.d/dhcpcd, si dovrebbe vedere qualcosa di simile a quanto segue:

DHCPCD_ARGS="-t 30 -h $HOSTNAME"

Aggiungere il flag –R agli argomenti, ad esempio:

DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"
Nota: Se si utilizza dhcpcd >=4.0.2 il flag –R è obsoleto. Si prega di vedere la sezione Per l'indirizzo IP assegnato da DHCP per informazioni su come utilizzare e modificare il file /etc/resolv.conf

Salvare e chiudere il file, poi aprire /etc/resolv.conf. Si dovrebbe visualizzare un singolo nameserver (molto probabilmente 10.1.1.1). Questo è il gateway al router, a cui è necessario per ottenere i server DNS del proprio ISP. Incollare l'indirizzo IP nel browser ed effettuare il login al proprio router. Andando nella sezione DNS si dovrebbe vedere un indirizzo IP alla voce Primary DNS Server (Server DNS preferito), copiarlo ed incollarlo come voce nameserver, SOPRA il gateway corrente.

Ad esempio, il file /etc/resolv.conf dovrebbe essere simile a:

nameserver 10.1.1.1

Se il proprio DNS primario è 211.29.132.12, cambiare /etc/resolv.conf in:

nameserver 211.29.132.12
nameserver 10.1.1.1

Ora riavviare il demone di rete eseguendo {ic e pacman -Syy. Se si sincronizza correttamente con il server, allora il problema è risolto.

Maggiori informazioni

Questo è il forum whirlpool (Comunità Australiana ISP) che parla del problema e suggerisce la medesima soluzione

http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html

Controllo problemi DHCP prima del rilascio dell'IP

Il probleme potrebbe presentarsi quando DHCP ottiene un'assegnazione errata dell'IP. Ad esempio quando due router sono collegati insieme tramite VPN. Il router connesso tramite VPN può assegnare un indirizzo IP. C’è un modo per risolvere il problema. In una console, da root, rilasciare l'indirizzo IP:

 # dhcpcd -k

Quindi richeiderne uno nuovo:

 # dhcpcd 

Potrebbe essere necessario eseguire questi due comandi più volte.

Wiki Correlati

Samba (Italiano)