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).
- Esteu utilizant NetworkManager en el vostre sistema? Mandriva no el fa servir. Arch Linux utilitza wicd. Moblin utilitza Connman.
- Proveu amb un client diferent de NetworkManager. Si això us ajuda, continueu en la següent secció per intentar localitzar el problema a Gestió de la xarxa. Després bugs.kde.org, el producte «Network Management» és el lloc on anar.
- Proveu a establir una connexió utilitzant les eines de configuració del sistema de la vostra distribució, De manera que aneu a Arranjament del sistema. És poc probable, però val la pena anar-hi.
- Proveu a configurar una connexió a través de wpa_supplicant. La documentació és força escassa, però hi ha exemples de configuracions incloses en el paquet. Aquí està la llista de maquinari suportat. Si wpa_supplicant funciona per si mateix, llavors és culpa de NetworkManager. Parleu amb la vostra distribució o informeu-ne a bugs.freedesktop.org.
- Si això no funciona, torneu a configurar un router sense fils per utilitzar un tipus de xifrat diferent (més feble) o cap. Si això funciona, el problema restaria en wpa_supplicant o en el controlador. De totes maneres, digueu-ho a la vostra distribució.
Tot és culpa de KDE
Si esteu llegint això, és que heu pogut establir una connexió utilitzant un client diferent de NetworkManager.
En primer lloc, assegureu-vos que no s'està executant un altre client, així com Gestió de xarxa. Aquest conduiria a resultats impredictibles. Si hi fos, elimineu-lo i torneu a iniciar Gestió de xarxa. Si ho preferiu es pot executar externament a Plasma, com:
plasmoidviewer networkmanagement
Ara heu de mirar d'esbrinar com difereix la connexió proporcionada per Gestió de xarxa de la proporcionada per l'altre client. Si construïu Gestió de xarxa des del codi font podeu utilitzar l'eina «qdbusfornm», la qual és una versió de qdbus estesa per a manejar tipus de dades de NM.
Si no l'heu construït des del codi font, canvieu l'ordre
./qdbusfornm --system
per la que es mostra a continuació:
qdbus --system --literal
És una mica difícil de llegir, però us donarà el mateix resultat. Si utilitzeu
qdbus --system --literal
si us plau, doneu format a l'eixida de manera que es motri una clau per línia, similar a l'eixida de qdbusfornm a continuació. Això és fàcil i us porta poc temps, de manera que és millor que ho feu vosaltres que un desenvolupador.
El valor 0 a continuació identifica la connexió. Canvieu-lo si en teniu més d'una fins que trobi la connexió pertinent.
./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 d'instal·lar els símbols de depuració i agafeu una traça inversa. En Kubuntu cal afegir el repositori debug i instal·leu plasma-widget-networkmanagement-dbgsym.