NetworkManagement/it: Difference between revisions

From KDE UserBase Wiki
(Created page with "Qui si trova il driver vero e proprio che controlla l'hardware. Ci sono molti bug interessanti anche qui. Questa situazione sta migliorando a partire dall'introduzione di una bas...")
No edit summary
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
<languages />
== Introduzione ==  
== Introduzione ==  
In parecchie distribuzioni Linux il demone '''NetworkManager''' fornisce controllo, configurabile dall'utente, delle connessioni di rete. In KDE, '''KNetworkManager''' (KDE3 e KDE4) e '''Gestione della rete''' (KDE4) sono le principali interfacce utente per '''NetworkManager'''.
In parecchie distribuzioni Linux il demone '''NetworkManager''' fornisce controllo, configurabile dall'utente, delle connessioni di rete. In KDE '''KNetworkManager''' (KDE3 e KDE4) e '''Gestione della rete''' (KDE4) sono le principali interfacce utente per '''NetworkManager'''.


== Bug ==  
== Bug ==  
Line 54: Line 54:
=== WPA Supplicant ===
=== WPA Supplicant ===


'''wpa_supplicant''' is a low level tool for talking to the driver, providing authentication and encryption settings. It is open source and generally of high quality. Before the advent of '''NetworkManager''', users had to configure it manually with control files in /etc. This has been known to get people out of a tight spot occasionally. It usually logs to /var/log/wpa_supplicant.log. Nowadays it is mostly controlled remotely by....
'''wpa_supplicant''' è uno strumento di basso livello per comunicare con il driver. Fornisce impostazioni di autenticazione e di crittografia. È open source e generalmente di elevata qualità. Prima dell'avvento di '''NetworkManager''' gli utenti dovevano configurarlo manualmente con file di controllo di /etc. <!--This has been known to get people out of a tight spot occasionally.--> Di solito crea un registro in /var/log/wpa_supplicant.log. Al giorno d'oggi è per lo più controllato in modo remoto da ...


=== NetworkManager ===
=== NetworkManager ===


'''NetworkManager''' is the system daemon at the centre of the networking subsystem on most end user Linux installations. It has root privileges, needed to control the lower layers, and exposes some controls up to clients running in the user session via '''DBUS'''. It writes a log in /var/log. ''NM'' also controls ''DHCP'' clients as needed and rewrites /etc/resolv.conf with the ''DNS servers'' it has configured. '''NetworkManager''' also provides a '''SystemSettings''' service, which is responsible for reading your distribution's network configuration files (system wide) and feeding them into '''NetworkManager'''.
'''NetworkManager''' è il demone di sistema al centro del sotto-sistema di rete nella maggior parte delle installazioni Linux per l'utente. Ha i permessi di amministratore necessari per controllare i livelli sottostanti ed espone alcuni controlli ai client in esecuzione nella sessione dell'utente tramite '''DBUS'''. Scrive un registro in /var/log. ''NM'' controlla anche i client ''DHCP'' se necessario e riscrive /etc/resolv.conf con i ''server DNS'' con cui è stato configurato. '''NetworkManager''' fornisce anche un servizio '''SystemSettings''' che è responsabile della lettura dei file di configurazione della rete della tua distribuzione (a livello di sistema) e del passaggio di questi a '''NetworkManager'''.


=== User Clients ===
=== Client lato utente ===


'''KNetworkManager''' applet for KDE 4, '''Network Management Plasmoid''' under KDE 4, '''KNetworkManager''' under KDE 3, '''nm-applet''' under GNOME, and '''cnetworkmanager''' is your last life. These are responsible for
La piccola applicazione '''KNetworkManager''' per KDE 4, il '''plasmoide Gestione della rete''' in KDE 4, '''KNetworkManager''' in KDE3, '''nm-applet''' in GNOME e '''cnetworkmanager''', la tua ultima possibilità. Questi sono responsabili del
* giving feedback on the networking status of this system,  
* dare riscontro sullo stato della rete di questo sistema,  
* communicating the user's actions to '''NetworkManager''',
* comunicare le azioni dell'utente a '''NetworkManager''',  
* and for storing and communicating the user's network connection details (policy) to NM.
* e memorizzare e comunicare i dettagli (policy) della connessione di rete dell'utente a NM.  
While they are the most visible part of the system, they are also the least important to making a successful connection.
Anche se sono la parte più visibile del sistema, sono anche i meno importanti nel far riuscire la connessione.
Since they share a standard interface to '''NetworkManager''', they can be exchanged easily.
Dato che condividono un'interfaccia standard per '''NetworkManager''', possono essere scambiati facilmente.


== When Things Go Wrong ==
== Quando qualcosa non funziona ==


=== Where Does It Hurt? ===
=== Dov'è il problema? ===


Simple. Start at the top of the stack and work down. When you find something that works, you found the site of the problem. When you run out of things you can change, hand over to an expert (probably the responsible team at your Linux distribution).
Semplice. Parti dalla parte alta della struttura e procedi verso il basso. Quando trovi qualcosa che funziona, hai trovato il sito problematico. Quando finiscono le cose che puoi cambiare, passa la mano ad un esperto (probabilmente la squadra responsabile della tua distribuzione Linux).


# Are you actually using '''NetworkManager''' on your system?  '''Mandriva''' doesn't use it.  '''ArchLinux''' uses '''wicd'''. '''Moblin''' uses '''Connman'''.   
# Stai effettivamente utilizzando '''NetworkManager''' sul tuo sistema?  '''Mandriva''' non lo usa. '''Moblin''' usa '''Connman'''.   
# Try a different '''NetworkManager''' clientIf that helps, continue in the next section to try and further localize the problem in '''Network Management'''.  Then bugs.kde.org, product "Network Management" is the place to go.
# Prova un altro client per '''NetworkManager'''.  Se questo aiuta, continua nella sezione successiva per provare ed ulteriormente localizzare il problema in '''Gestione della rete'''.  Poi il posto dove andare è bugs.kde.org, prodotto "Network Management".  
# Try to configure a connection using your distro's system configuration tools, so '''SystemSettings''' picks it upIt's unlikely but worth a go.
# Prova a configurare una connessione utilizzando gli strumenti di configurazione del sistema della tua distro così che '''SystemSettings''' possa recuperarleÈ improbabile, ma vale la pena di provare.  
# Try a manually configured connection via '''wpa_supplicant'''.  The documentation is rather sparse but there are example configurations include in the packageHere is the [http://hostap.epitest.fi/wpa_supplicant/ list of supported hardware].  If wpa_supplicant on its own works, '''NetworkManager''' is at fault. Talk to your distro or report it at bugs.freedesktop.org.
# Prova una connessione configurata manualmente tramite '''wpa_supplicant'''.  La documentazione è piuttosto scarsa, ma ci sono configurazioni di esempio incluse nel pacchettoQui c'è l'[http://hostap.epitest.fi/wpa_supplicant/ elenco dell'hardware supportato].  Se wpa_supplicant funziona per quello che lo riguarda, la colpa è di '''NetworkManager'''. Comunicalo alla tua distro o segnalalo su bugs.freedesktop.org.  
# If that didn't work, reconfigure a wireless router to use a different (weaker) encryption type or none at all. If this works, the problem is either in '''wpa_supplicant''' or the driver. Either way, take it to your distro.
# Se questo non ha funzionato, riconfigura un router wireless per utilizzare un tipo di crittografia differente (più debole) o nessuna del tutto. Se questo funziona il problema è o in '''wpa_supplicant''' o nel driver. In entrambi i casi segnalalo alla tua distro.


=== It's All KDE's Fault! ===
=== È tutta colpa di KDE! ===  
If you are reading this, you will have been able to make a connection using a different '''NetworkManager''' client.   
Se stai leggendo questo, sarai stato in grado di creare una connessione utilizzando un differente client per '''NetworkManager'''.   


First, make sure that you are not running another client as well as '''Network Management'''. This will lead to unpredictable results. If you were, remove and restart '''Network Management'''. You can run it externally to '''Plasma''' as  {{Input|1=plasmoidviewer networkmanagement}} if you want.
Per prima cosa assicurati che non stai eseguendo altri client come '''Gestione della rete'''. Questo porterebbe a risultati imprevedibili. Se ci sei, rimuovi e riavvia '''Gestione della rete'''. Puoi eseguirlo esternamente a '''Plasma''' come {{Input|1=plasmoidviewer networkmanagement}} se vuoi.


You should now try to figure out how the connection provided by '''Network Management''' differs from that provided by the other client. If you build '''Network Management''' from source you can use the tool 'qdbusfornm', which is a version of qdbus extended to handle NM's data types.
Dovresti ora cercare di capire come la connessione fornita da '''Gestione della rete''' differisce da quella fornita dall'altro client. Se hai compilato '''Gestione della rete''' dal sorgente, puoi utilizzare lo strumento 'qdbusfornm' che è una versione di qdbus estesa per gestire i tipi di dati di NM.


If you do not build from source, just replace {{Input|1=./qdbusfornm --system}}by {{Input|1=qdbus --system --literal}} in the command shown below. It is a bit harder to read but should give you the same output.
Se non hai compilato da sorgente, semplicemente sostituisci  {{Input|1=./qdbusfornm --system}} con {{Input|1=qdbus --system --literal}} nel comando mostrato sotto. È un po' più difficile da leggere, ma dovrebbe darti lo stesso risultato.


If you use {{Input|1=qdbus --system --literal}}please take the time to format the output so there is one key per line, similar to the qdbusfornm output below. This is easy and just takes time, so it is better for you to do this than a developer.
Se utilizzi {{Input|1=qdbus --system --literal}} prenditi il tempo per formattare il risultato così che ci sia una chiave per riga, in modo simile al risultato di qdbusfornm qui sotto. È facile e richiede solo un po' di tempo, è meglio se lo fai te rispetto ad uno sviluppatore.


The value 0 below identifies the connection. Change it if you have more than one until you find the relevant connection.
Il valore 0 qui sotto identifica la connessione. Modificalo se ne hai più di una fino a quando trovi la connessione rilevante.


{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings/org/freedesktop/NetworkManagerSettings/0
{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}


returns here
risultato
{{Output|1=<nowiki>a{sa{sv}}(==802-11-wireless==
{{Output|1=<nowiki>a{sa{sv}}(==802-11-wireless==
  band: bg
  band: bg
Line 116: Line 116:
  method: auto
  method: auto
  )</nowiki>}}
  )</nowiki>}}
Now you should repeat using the other, working client and copy both sets of output, before attaching them securely to a bug report at bugs.kde.org. With this information we will quickly be able to implement a fix.
Ora dovresti ripetere la cosa utilizzando l'altro client funzionante e copiare entrambi i risultati, prima di allegarli in modo sicuro a una segnalazione di bug su bugs.kde.org. Con queste informazioni saremo in grado velocemente di implementare una soluzione.


==== Crashes ====
==== Crash ====


If you have a crash ensure you install [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports debugging symbols] and take a backtrace. In '''Kubuntu''' you need to add the [https://wiki.kubuntu.org/DebuggingProgramCrash debug repository] and install '''plasma-widget-networkmanagement-dbgsym'''.
Se hai un crash assicurati di aver installato [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports i simboli di debug] e recupera informazioni sull'errore. In '''Kubuntu''' hai bisogno di aggiungere il [https://wiki.kubuntu.org/DebuggingProgramCrash repository debug] ed installare '''plasma-widget-networkmanagement-dbgsym'''.


[[Category:Sistema/it]]
[[Category:Sistema/it]]

Latest revision as of 09:40, 23 September 2011

Other languages:

Introduzione

In parecchie distribuzioni Linux il demone NetworkManager fornisce controllo, configurabile dall'utente, delle connessioni di rete. In KDE KNetworkManager (KDE3 e KDE4) e Gestione della rete (KDE4) sono le principali interfacce utente per NetworkManager.

Bug

Segnalare bug

Per segnalare un bug utile di Gestione della rete devi inserire i seguenti elementi informativi:

  • la versione della tua distribuzione
  • stai utilizzando NetworkManager? Su alcune distribuzioni è opzionale dato che è fuori luogo in un sistema statico tipo server. Fermati ora se non lo stai utilizzando.
  • la versione dell'oggetto Gestione della rete (NetworkManager-kde4.rpm su openSUSE, plasma-widget-network-manager in Kubuntu 9.04, plasma-widget-networkmanagment in Kubuntu 9.10, kde-plasma-networkmanagement su fedora)
  • la versione del pacchetto NetworkManager
  • la versione del pacchetto ModemManager
  • l'hardware del tuo computer se non è compatibile con vanilla x86. Sei un utente PPC? Voglio saperlo.
  • l'hardware della tua rete (utilizza lshal per scoprirlo)
  • un log di sistema da NetworkManager durante il tentativo di connessione
    • per openSUSE: /var/log/NetworkManager
    • per kubuntu: /var/log/syslog
    • per fedora: /var/log/messages
  • Per le reti wireless:
    • stai utilizzando un SSID nascosto?
    • tipo di sicurezza wireless: WEP/WPA-PSK/WPA-EAP?
    • lunghezza della chiave
    • tipo di chiave (passphrase o hex per WEP)
    • cipher (TKIP/AES)
    • meccanismi di autenticazione (TLS/TTLS/PEAP/...)
  • Per la banda larga mobile:
    • hardware
    • driver in uso (vedi dmesg quando colleghi l'hardware)
    • rete in uso
    • tipo di rete (GSM/CDMA/UMTS)
    • apn utilizzato, nel caso.
    • log di ModemManager ("killall NetworkManager", "killall modem-manager", start "modem-manager --debug", "NetworkManager --no-debug") potrebbe essere utile nel debuggin se NetworkManager rileva il tuo hardware.

E molto importante: sei in grado di connetterti con un altro client? Per esempio nm-applet in GNOME o cnetworkmanager dalla console. In questo caso prova ad allegare le relative informazioni di risoluzione dei problemi come descritto alla fine di questo articolo.

Gestione dei bug

La gestione della rete sulla maggior parte dei desktop Linux si appoggia ad un ampio e fragile insieme di componenti. Questo è necessario per affrontare il vasto numero di configurazioni differenti. Quando una connessione fallisce può essere per uno qualsiasi di una serie di motivi legati a questo insieme di base, ma i sintomi saranno di solito qualcosa come "La connessione ha ottenuto un valore di 28% e poi è fallita". I bug segnalati su bugs.kde.org verranno suddivisi in gruppi per provare e trovare a quale livello è avvenuto l'errore così che possa essere risolto da quelli responsabili.

L'insieme di componenti

L'hardware

L'hardware wireless ha un sorprendente numero di bug. Questi sono trattati con il livello successivo, se siamo fortunati.

Il kernel

Qui si trova il driver vero e proprio che controlla l'hardware. Ci sono molti bug interessanti anche qui. Questa situazione sta migliorando a partire dall'introduzione di una base standard per il MAC wireless nel kernel Linux. Alcuni dispositivi hardware non hanno un driver Linux quindi le persone per controllarlo utilizzano lo strumento ndiswrapper che carica i driver per Windows con i rispettivi bug. Puoi vedere il suo output nei log di sistema e comunicare con i driver utilizzando il gruppo di comandi iwtools.

WPA Supplicant

wpa_supplicant è uno strumento di basso livello per comunicare con il driver. Fornisce impostazioni di autenticazione e di crittografia. È open source e generalmente di elevata qualità. Prima dell'avvento di NetworkManager gli utenti dovevano configurarlo manualmente con file di controllo di /etc. Di solito crea un registro in /var/log/wpa_supplicant.log. Al giorno d'oggi è per lo più controllato in modo remoto da ...

NetworkManager

NetworkManager è il demone di sistema al centro del sotto-sistema di rete nella maggior parte delle installazioni Linux per l'utente. Ha i permessi di amministratore necessari per controllare i livelli sottostanti ed espone alcuni controlli ai client in esecuzione nella sessione dell'utente tramite DBUS. Scrive un registro in /var/log. NM controlla anche i client DHCP se necessario e riscrive /etc/resolv.conf con i server DNS con cui è stato configurato. NetworkManager fornisce anche un servizio SystemSettings che è responsabile della lettura dei file di configurazione della rete della tua distribuzione (a livello di sistema) e del passaggio di questi a NetworkManager.

Client lato utente

La piccola applicazione KNetworkManager per KDE 4, il plasmoide Gestione della rete in KDE 4, KNetworkManager in KDE3, nm-applet in GNOME e cnetworkmanager, la tua ultima possibilità. Questi sono responsabili del

  • dare riscontro sullo stato della rete di questo sistema,
  • comunicare le azioni dell'utente a NetworkManager,
  • e memorizzare e comunicare i dettagli (policy) della connessione di rete dell'utente a NM.

Anche se sono la parte più visibile del sistema, sono anche i meno importanti nel far riuscire la connessione. Dato che condividono un'interfaccia standard per NetworkManager, possono essere scambiati facilmente.

Quando qualcosa non funziona

Dov'è il problema?

Semplice. Parti dalla parte alta della struttura e procedi verso il basso. Quando trovi qualcosa che funziona, hai trovato il sito problematico. Quando finiscono le cose che puoi cambiare, passa la mano ad un esperto (probabilmente la squadra responsabile della tua distribuzione Linux).

  1. Stai effettivamente utilizzando NetworkManager sul tuo sistema? Mandriva non lo usa. Moblin usa Connman.
  2. Prova un altro client per NetworkManager. Se questo aiuta, continua nella sezione successiva per provare ed ulteriormente localizzare il problema in Gestione della rete. Poi il posto dove andare è bugs.kde.org, prodotto "Network Management".
  3. Prova a configurare una connessione utilizzando gli strumenti di configurazione del sistema della tua distro così che SystemSettings possa recuperarle. È improbabile, ma vale la pena di provare.
  4. Prova una connessione configurata manualmente tramite wpa_supplicant. La documentazione è piuttosto scarsa, ma ci sono configurazioni di esempio incluse nel pacchetto. Qui c'è l'elenco dell'hardware supportato. Se wpa_supplicant funziona per quello che lo riguarda, la colpa è di NetworkManager. Comunicalo alla tua distro o segnalalo su bugs.freedesktop.org.
  5. Se questo non ha funzionato, riconfigura un router wireless per utilizzare un tipo di crittografia differente (più debole) o nessuna del tutto. Se questo funziona il problema è o in wpa_supplicant o nel driver. In entrambi i casi segnalalo alla tua distro.

È tutta colpa di KDE!

Se stai leggendo questo, sarai stato in grado di creare una connessione utilizzando un differente client per NetworkManager.

Per prima cosa assicurati che non stai eseguendo altri client come Gestione della rete. Questo porterebbe a risultati imprevedibili. Se ci sei, rimuovi e riavvia Gestione della rete. Puoi eseguirlo esternamente a Plasma come

plasmoidviewer networkmanagement

se vuoi.

Dovresti ora cercare di capire come la connessione fornita da Gestione della rete differisce da quella fornita dall'altro client. Se hai compilato Gestione della rete dal sorgente, puoi utilizzare lo strumento 'qdbusfornm' che è una versione di qdbus estesa per gestire i tipi di dati di NM.

Se non hai compilato da sorgente, semplicemente sostituisci

./qdbusfornm --system

con

qdbus --system --literal

nel comando mostrato sotto. È un po' più difficile da leggere, ma dovrebbe darti lo stesso risultato. Se utilizzi

qdbus --system --literal

prenditi il tempo per formattare il risultato così che ci sia una chiave per riga, in modo simile al risultato di qdbusfornm qui sotto. È facile e richiede solo un po' di tempo, è meglio se lo fai te rispetto ad uno sviluppatore.

Il valore 0 qui sotto identifica la connessione. Modificalo se ne hai più di una fino a quando trovi la connessione rilevante.

./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings

risultato

a{sa{sv}}(==802-11-wireless==
 band: bg
 mode: infrastructure
 security: 802-11-wireless-security
 ssid: opensuse-guest
 ==802-11-wireless-security==
 auth-alg: open
 key-mgmt: wpa-psk
 wep-tx-keyidx: 0
 ==connection==
 autoconnect: true
 id: openSUSE
 type: 802-11-wireless
 uuid: {951cc7d9-1fa0-4525-9ab7-7199849e1b19}
 ==ipv4==
 dns-search:
 method: auto
 )

Ora dovresti ripetere la cosa utilizzando l'altro client funzionante e copiare entrambi i risultati, prima di allegarli in modo sicuro a una segnalazione di bug su bugs.kde.org. Con queste informazioni saremo in grado velocemente di implementare una soluzione.

Crash

Se hai un crash assicurati di aver installato i simboli di debug e recupera informazioni sull'errore. In Kubuntu hai bisogno di aggiungere il repository debug ed installare plasma-widget-networkmanagement-dbgsym.