Difference between revisions of "Network configuration (Italiano)"
m (→Esempio: Modificata formattazione) |
m (→Abilitare/disabilitare l'interfaccia) |
||
(30 intermediate revisions by 5 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)]] | ||
− | + | [[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: | ||
− | {{hc| | + | {{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 21: | Line 36: | ||
</nowiki>}} | </nowiki>}} | ||
− | {{ | + | {{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. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{hc | | ||
+ | |||
+ | $ ping -c 3 8.8.8.8 | | ||
+ | |||
+ | <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== | ==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/[ | + | 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. | 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. | 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| | + | 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 | ||
{{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}}.}} | {{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}}.}} | ||
− | Per impostare | + | Per impostare l’hostname temporaneamente (fino al successivo riavvio), utilizzare il comando {{ic|hostname}} dal pacchetto {{Pkg|inetutils}} da root: |
{{bc|# hostname archlinux}} | {{bc|# 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 {{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) | ||
+ | |||
+ | ... | ||
+ | Kernel driver in use: atl1 | ||
+ | Kernel modules: atl1 | ||
+ | |||
+ | </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 === | |
+ | È 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 esempio: | |
− | + | {{hc|ip addr show dev eth0|<nowiki> | |
− | {{ | + | 2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc vboxnetflt state UP qlen 1000 |
+ | [...] | ||
+ | </nowiki>}} | ||
− | === DHCP | + | == 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. | ||
− | In questo caso è necessario il pacchetto {{Pkg|dhcpd}} (già disponibile nella maggior parte delle installazioni). Inoltre, è necessario editare {{ic|/etc/rc.conf}} in questo modo: | + | === 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>}} | ||
+ | |||
+ | Ed ora {{ic|ip addr show dev <interface>}} dovrebbe mostrare il proprio indirizzo inet. | ||
+ | |||
+ | Per alcune persone, il pacchetto {{ic|dhclient}} (disponibile in [extra]) ha funzionato dove{{ic|dhcpcd}} ha fallito. | ||
+ | |||
+ | ==== Esecuzione all'avvio di DHCP ==== | ||
+ | |||
+ | 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 75: | Line 175: | ||
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: | 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 | ||
+ | |||
+ | 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 | ||
Quindi aggiungere il proprio server DNS in {{ic|/etc/resolv.conf}}. | Quindi aggiungere il proprio server DNS in {{ic|/etc/resolv.conf}}. | ||
− | + | 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}}. | |
− | |||
− | |||
− | 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 {{ic|/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): | ||
Line 88: | Line 189: | ||
=== 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à. | + | 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: | ||
− | * | + | * 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 {{ic|/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: | ||
Line 103: | Line 206: | ||
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 | ||
Line 110: | Line 214: | ||
search example.com | search example.com | ||
− | {{Nota|Attualmente è possibile inserire massimo 3 righe di {{ic|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> | |
Ad esempio: | Ad esempio: | ||
− | + | # ip addr add 192.168.1.2/24 dev eth0 | |
Per altre opzioni, vedere: {{ic|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> | |
(Sostituire <ip> con il proprio indirizzo IP del gateway | (Sostituire <ip> con il proprio indirizzo IP del gateway | ||
Line 126: | Line 231: | ||
Ad esempio: | Ad esempio: | ||
− | + | # 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: | ||
− | {{bc| | + | {{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: | ||
− | {{bc| | + | {{bc|ping -c 3 www.google.com}} |
==Impostazioni aggiuntive== | ==Impostazioni aggiuntive== | ||
− | === | + | ===ifplugd per laptops === |
− | + | {{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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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}}. | 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}}. | ||
− | [ | + | [[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. |
− | + | 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}}. | |
− | |||
=== Bonding o LAG === | === Bonding o LAG === | ||
Line 166: | Line 270: | ||
Modificare/creare ciascuno dei seguenti files: | Modificare/creare ciascuno dei seguenti files: | ||
− | |||
− | |||
{{hc | {{hc | ||
|/etc/network.d/bonded | |/etc/network.d/bonded | ||
Line 177: | Line 279: | ||
DHCP_TIMEOUT=10 | DHCP_TIMEOUT=10 | ||
</nowiki>}} | </nowiki>}} | ||
− | |||
− | |||
{{hc | {{hc | ||
Line 186: | Line 286: | ||
... | ... | ||
− | |||
interface=bond0 #commentare le altre linee (indirizzo,netmask,gateway,...) | interface=bond0 #commentare le altre linee (indirizzo,netmask,gateway,...) | ||
− | |||
... | ... | ||
− | |||
NETWORKS=(... bonded ...) | NETWORKS=(... bonded ...) | ||
− | |||
... | ... | ||
DAEMONS=(... net-profiles ...) #sostituire network | DAEMONS=(... net-profiles ...) #sostituire network | ||
</nowiki>}} | </nowiki>}} | ||
+ | |||
+ | {{Nota|Per cambiare la modalità bonding (di default è round robin), ad esempio in aggregazione dinamica del link: | ||
+ | |||
+ | Creare {{ic|/etc/modprobe.d/bonding.conf}}: | ||
+ | |||
+ | {{hc | ||
+ | |||
+ | |/etc/modprobe.d/bonding.conf | ||
+ | |<nowiki> | ||
+ | options bonding mode=4 | ||
+ | options bonding miimon=100 | ||
+ | </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}}: | 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 | |
− | ===IP | + | 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 (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. | ||
====Esempio==== | ====Esempio==== | ||
Line 250: | Line 366: | ||
== Risoluzione dei problemi== | == Risoluzione dei problemi== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===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 [ | + | 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 329: | 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 {{ic|dmesg}} è ok, i log sono puliti e {{ic|ip addr}} riporta una configurazione corretta | + | 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 341: | 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 {{ic|/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.d/99-disable_window_scaling.conf}}: (vedere anche [[sysctl]]) |
net.ipv4.tcp_window_scaling = 0 | net.ipv4.tcp_window_scaling = 0 | ||
Line 352: | Line 411: | ||
Altre discussioni pertinenti sono presenti su LKML. | Altre discussioni pertinenti sono presenti su LKML. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Problema No Link / WOL schede Realtek=== | ===Problema No Link / WOL schede Realtek=== | ||
Line 424: | Line 466: | ||
DHCPCD_ARGS="-R -t 30 -h $HOSTNAME" | DHCPCD_ARGS="-R -t 30 -h $HOSTNAME" | ||
− | {{Nota|1=Se si utilizza {{Pkg|dhcpcd}} >=4.0.2 il flag {{ic|–R}} è obsoleto. Si prega di vedere la sezione [[#DHCP]] per informazioni su come utilizzare e modificare il file {{ic|/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 {{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. | + | 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 {{ic|/etc/resolv.conf}} dovrebbe essere simile a: | Ad esempio, il file {{ic|/etc/resolv.conf}} dovrebbe essere simile a: | ||
Line 435: | Line 477: | ||
nameserver 10.1.1.1 | nameserver 10.1.1.1 | ||
− | Ora riavviare il demone di rete eseguendo {{ic| | + | 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 441: | 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 | + | ===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== | ==Wiki Correlati== | ||
− | [ | + | [[Samba (Italiano)]] |
Revision as of 09:18, 27 December 2013
zh-CN:Configuring Network 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
Contents
- 1 Primo controllo
- 2 Impostare l'host name
- 3 Driver dispositivo
- 4 Interfacce di rete
- 5 Configurare l'indirizzo IP
- 6 Caricare la configurazione
- 7 Impostazioni aggiuntive
- 8 Risoluzione dei problemi
- 9 Wiki Correlati
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
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
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
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
È possibili abilitare o disabilitare l'interfaccia di rete:
ip link set <interface> up/down
Controllare il risultato con ip addr show dev eth0
. Ad esempio:
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.
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
nameserver
.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
Creare /etc/modprobe.d/bonding.conf
:
/etc/modprobe.d/bonding.conf
options bonding mode=4 options bonding miimon=100Per 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.d/99-disable_window_scaling.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
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"
–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.