Gestió de la xarxa
Introducció
En diverses distribucions de Linux, el dimoni NetworkManager proporciona un control configurable per l'usuari de les connexions de xarxa. En KDE, el KNetworkManager (KDE3 i KDE4) i Gestor de xarxa (KDE4) són les principals interfícies d'usuari per a NetworkManager.
Errors
Informes d'error
Per informar d'errors útils contra Network Management, proporcioneu els següents ítems d'informació:
- La vostra versió de distribució.
- Està NetworkManager en ús? En algunes distribucions és opcional, atès que està fora de lloc en un sistema estàtic, sistema com servidor. Atureu-lo ara si no ho està.
- La versió de la miniaplicació Network Management (NetworkManager-kde4.rpm a openSUSE, plasma-widget-network-manager a Kubuntu 9.04, plasma-widget-networkmanagment a Kubuntu 9.10, kde-plasma-networkmanagement a fedora).
- La versió del paquet NetworkManager.
- La versió del paquet ModemManager.
- Vull saber: El maquinari del vostre ordinador és compatible amb vianilla x86?
- El vostre maquinari de xarxa (useu lshal per a trobar-lo).
- Un registre de sistema de NetworkManager durant els intents de connexió.
- Per a openSUSE: /var/log/NetworkManager
- Per a kubuntu: /var/log/syslog
- Per a fedora: /var/log/messages
- Per a xarxes sense fils:
- Esteu usant un SSID ocult?
- Tipus de seguretat sense fils: WEP/WPA-PSK/WPA-EAP?
- Longitud de la clau.
- Tipus de clau (contrasenya o hexadecimal per WEP).
- Xifrats (TKIP/AES).
- Mecanismes d'autenticació (TLS/TTLS/PEAP/...)
- Per a la banda ampla mòbil:
- Maquinari.
- Controlador en ús (vegeu dmesg quan connecteu el maquinari).
- Xarxa en ús.
- Tipus de xarxa (GSM/CDMA/UMTS).
- apn usada, si n'hi ha cap.
- Els registres de ModemManager («killall NetworkManager», «killall modem-manager», si inicieu «modem-manager --debug», «NetworkManager --no-debug») poden ser útils en la depuració de si NetworkManager detecta el vostre maquinari.
I molt important: Sou capaç de connectar amb un altre client? Per exemple, nm-applet sota GNOME o cnetworkmanager en la consola. Si és així, si us plau, adjunteu la informació de solució de problemes comparativa tal com es descriu al final d'aquest article.
Gestió d'un error
La gestió de xarxa en la majoria d'equips d'escriptori Linux es troba a la part superior d'una gran i fràgil pila de components. Això és necessari per fer front a la gran quantitat de configuracions diferents. Quan falla una connexió, es pot deure a qualsevol d'una sèrie de motius al llarg d'aquesta pila, però els símptomes solen ser una cosa així com «La connexió ha arribat al 28% i després ha fallat -Connection got to 28% and then failed-». Els errors informats a bugs.kde.org es trien per mirar d'esbrinar en quina capa es va produir l'error, de manera que pugui ser arreglat pels responsables.
La pila
El maquinari
El maquinari sense fils té un sorprenent nombre d'errors. Aquests es tracten a la següent capa, si teniu sort.
El nucli
Aquí és on es troba el controlador del maquinari. També hi ha molts errors interessants. Des de la introducció d'una capa MAC sense fils estàndard en el nucli de Linux, aquesta situació està millorant. Algun maquinari no té controladors per a Linux, pel que la gent el controla que amb l'eina ndiswrapper, aquesta carrega els controladors de Windows i els seus errors. Podeu veure l'eixida en el registre del sistema, i parlar amb els controladors utilitzant el joc d'ordres iwtools.
WPA Supplicant
wpa_supplicant és una eina de baix nivell per parlar amb el controlador, ofereix opcions d'autenticació i xifrat. És de codi obert i en general d'alta qualitat. Abans de l'arribada de NetworkManager, els usuaris havien de configurar manualment amb els fitxers de control a /etc. Això ha sabut treure a la gent d'una situació en ocasions difícil. En general, els registres són a /var/log/wpa_supplicant.log. Avui en dia són majoritàriament controlats en mode remot per...
NetworkManager
NetworkManager és el dimoni del sistema al centre del subsistema de xarxa en la majoria de les instal·lacions de Linux per a usuaris finals. Compta amb privilegis de root, necessaris per a controlar les capes inferiors, i exposa alguns controls als clients que s'executen en la sessió d'usuari a través de DBUS. Escriu un registre a /var/log. NM també controla clients DHCP segons sigui necessari i torna a escriure el fitxer /etc/resolv.conf amb els servidors de DNS que heu configurat. NetworkManager també ofereix servei a SystemSettings, el qual és el responsable de llegir els fitxers de configuració de xarxa de la vostra distribució (en tot el sistema) i donar-los a NetworkManager.
Clients d'usuari
La miniaplicació KNetworkManager per a KDE 4, El plasmoide Gestor de xarxa sota el KDE 4, KNetworkManager sota el KDE 3, nm-applet sota el GNOME, i cnetworkmanager és el seu últim nom. Aquests són els responsables de:
- Donar informació sobre l'estat de la connexió en xarxa d'aquest sistema.
- Comunicar les accions de l'usuari a NetworkManager.
- I de registrar i comunicar els detalls de la connexió de xarxa de l'usuari ( política) a NM.
Tot i que constitueixen la part més visible del sistema, també són les menys importants per tenir una connexió amb èxit. Atès que comparteixen una interfície estàndard per a NetworkManager, es poden usar un o altre amb facilitat.
Quan les coses van malament
On és el problema?
Simple. Comença a la part superior de la pila i treballa cap avall. Quan trobeu alguna cosa que funciona, haureu trobat el lloc del problema. Quan us quedeu sense coses que podeu canviar, cediu a un expert (probablement l'equip responsable de la vostra distribució de Linux).
- Are you actually using NetworkManager on your system? Mandriva doesn't use it. ArchLinux uses wicd. Moblin uses Connman.
- Try a different NetworkManager client. If 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.
- Try to configure a connection using your distro's system configuration tools, so SystemSettings picks it up. It's unlikely but worth a go.
- Try a manually configured connection via wpa_supplicant. The documentation is rather sparse but there are example configurations include in the package. Here is the 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.
- 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.
It's All KDE's Fault!
If you are reading this, you will have been able to make a connection using a different NetworkManager client.
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
plasmoidviewer networkmanagement
if you want.
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.
If you do not build from source, just replace
./qdbusfornm --system
by
qdbus --system --literal
in the command shown below. It is a bit harder to read but should give you the same output. If you use
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.
The value 0 below identifies the connection. Change it if you have more than one until you find the relevant connection.
./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings/org/freedesktop/NetworkManagerSettings/0 org.freedesktop.NetworkManagerSettings.Connection.GetSettings
retorna això:
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 )
Ara heu de repetir usant un altre client de treball i copiar les dues sortides, abans d'adjuntar amb seguretat a un informe d'error a bugs.kde.org. Amb aquesta informació serem capaços d'aplicar una solució amb rapidessa.
Petades
Si obteniu una petada assegureu-vos a instal·lar els [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports símbols de depuració] i agafeu una traça inversa. En Kubuntu cal afegir la repositori debug i instal·leu plasma-widget-networkmanagement-dbgsym.