Difference between revisions of "Wicd (Español)"

From ArchWiki
Jump to: navigation, search
(rm temporary i18n template)
(Actualización)
Line 1: Line 1:
[[Category: Networking (Español)]]
+
[[Category:Networking (Español)]]
[[Category: Wireless Networking (Español)]]
+
[[Category:Wireless Networking (Español)]]
 +
[[de:Wicd]]
 
[[en:Wicd]]
 
[[en:Wicd]]
 
[[fr:Wicd]]
 
[[fr:Wicd]]
Line 6: Line 7:
 
[[tr:Wicd]]
 
[[tr:Wicd]]
 
[[zh-CN:Wicd]]
 
[[zh-CN:Wicd]]
[http://www.wicd.net/ Wicd] es un administrador de redes que puede manejar interfaces alámbrica e inalámbrica, similar y como una alternativa a [[NetworkManager]]. Wicd está escrito en [[Python]] y [[GTK+]], necesitando menos dependencias que otros administradores de red. Wicd puede también ser ejecutado desde la terminal en una interfaz curses, sin requerir X server session o el panel de tareas para un uso eficiente (véase Ejecutando wicd).
+
{{Article summary start|Sumario}}
 +
{{Article summary text|Este artículo trata sobre la instalación y configuración de Wicd – un recurso de código abierto para la gestión de la red por conexión cableada o inalámbrica para linux, que tiene como objetivo proporcionar una interfaz sencilla para conectarse a redes con una amplia variedad de ajustes.}}
 +
{{Article summary heading|Descripción}}
 +
{{Article summary text|Arch Linux provee [[netcfg (Español)|netcfg]] para la [[Configuring_Network_(Español)|gestión de la red]]. {{ic|netcfg}} proporciona soporte para conexiones cableadas en desktops y servidores, así como configuraciones de [[Wireless Setup (Español)|conexiones inalámbricas]] y roaming para la movilidad de los usuarios, permitiendo una fácil gestión de los perfiles de red. [[NetworkManager (Español)|NetworkManager]] y '''Wicd''' son alternativas populares de terceros.}}
 +
{{Article summary end}}
 +
 
 +
[http://www.wicd.net/ Wicd] es un gestor de conexiones de red que puede manejar interfaces inalámbricas y cableadas, de forma similar y alternativa a [[NetworkManager]]. Wicd está escrito en [[Python]] y [[GTK+]], por lo que necesita de la instalación de un menor número de dependencias repecto de otros gestores de red. Alternativamente, está disponible una versión de Wicd para [[KDE]], escrito en [[Qt]], desde el repositorio [[Arch User Repository|AUR]]. Wicd también se puede ejecutar desde el terminal en una interfaz diseñada con las bibliotecas curses, que no requiere una sesión de servidor X, ni área de notificación (vea [[Wicd (Español)#Ejecutar Wicd]]).
  
 
==Instalación==
 
==Instalación==
Sí no estas usando gnome (o su notification-daemon), tal vez quieras instalar xfce4-notifyd de extra antes de instalar wicd, o probablemente terminarás con el notificaction-daemon estándar mostrando un montón de paquetes innecesarios.
+
[[pacman|Instale]] {{Pkg|wicd}}, disponible en los [[Official Repositories|repositorios oficiales]].
 
+
# pacman -S xfce4-notifyd
+
 
+
Wicd también está disponible desde los repositorios estándar:
+
  
# pacman -S wicd
+
{{Nota|Wicd se divide en dos paquetes:
 +
;{{Pkg|wicd}}: Incluye todo lo necesario para ejecutar el demonio wicd, el cliente {{ic|wicd-cli}} y la interfaz de terminal {{ic|wicd-curses}}.
  
Esto instalará Wicd y todas las dependencias necesarias, incluyendo ''dbus'', ''python'' y ''gtk2''.
+
;{{Pkg|wicd-gtk}}: Incluye todo lo necesario para ejecutar la interfaz GTK de wicd y el archivo de inicio automático para que el icono aparezca en la bandeja del sistema.
 +
}}
  
===Interfaz gráfica para wicd===
+
==== Cliente GTK client ====
Para instalar '''el cliente GTK''':
+
Para un front-end GTK, instale  {{Pkg|wicd-gtk}}, disponible en los [[Official Repositories|repositorios oficiales]].
  
# pacman -S wicd-gtk
+
==== Cliente KDE client ====
 +
Para un front-end KDE, instale {{AUR|wicd-kde}}, disponible del repositorio [[Arch User Repository|AUR]]. 
  
 +
==== Notificaciones ====
 +
Para activar las notificaciones visuales sobre el estado de la red, es necesario instalar {{Pkg|notification-daemon}}.
  
'''El cliente para KDE''' lo podemos encontrar en AUR: [https://aur.archlinux.org/packages.php?ID=40666/ wicd-client-kde].
+
Si no está usando [[GNOME]], instale {{Pkg|xfce4-notifyd}}, en lugar de notification-daemon, ya que demanda muchos paquetes GNOME innecesarios.
  
 
===Alternativa===
 
===Alternativa===
El [https://aur.archlinux.org/packages.php?ID=22923 wicd-bzr] buildscript esta disponible en [[AUR]], el cual debería construir el ultimo paquete disponible.
+
Los script de compilación de {{AUR|wicd-bzr}} están disponibles en [[AUR]], en los que se basa la última rama de desarrollo.
 
+
Si necesita una versión alternativa o simplemente quiere crear su propio paquete, puede construirlo fácilmente usando [[ABS]].
Sí necesitas una versión alternativa o sí solo quieres crear tu propio paquete, puedes hacerlo fácilmente con [[ABS]].
+
 
+
==Comenzando==
+
  
 +
==Para empezar==
 
===Configuración inicial===
 
===Configuración inicial===
 
Wicd provee un daemon que debe ser iniciado.  
 
Wicd provee un daemon que debe ser iniciado.  
  
{{Advertencia | Ejecutar distintos administradores de red ''causara'' problemas, así que es importante ''desactivar los demás daemons de otros administradores''.}}
+
{{Advertencia |La ejecución de varios gestores de red ''a voluntad'' simultáneamente causarán problemas, por lo que es importante ''desactivar los demás demonios de gestión de red''.}}
  
Primero, hay que parar todos los daemons de red que se estén ejecutando:
+
En primer lugar, detenga todos los demonios de red que estén en ejecución:
  
  # rc.d stop network
+
  # systemctl stop network
  # rc.d stop dhcpcd
+
  # systemctl stop dhcpcd
  # rc.d stop networkmanager
+
  # systemctl stop NetworkManager
  
Ahora, edita '''/etc/rc.conf''' como root:
+
Deshabilite los servicios de gestión red existentes, {{ic|network}}, {{ic|dhcpcd}}, y {{ic|networkmanager}}. Remítase a [[Systemd (Español)#Usar las unidades]].
  
  # nano /etc/rc.conf
+
Habilite el servicio wicd
 +
  # systemctl enable wicd
  
Desactiva (!) los dispositivos en el array INTERFACES que quieres administrar con Wicd. Por ejemplo:
+
Agregue su cuenta al grupo '''network''':
  
  INTERFACES=(!eth0 !wlan0)
+
  # gpasswd -a USERNAME network
  
Desactiva (!) cualquiera daemon de red existente en el array DAEMONS, incluyendo '''network''', '''dhcdbd''', y '''networkmanager'''.
+
{{Nota|El grupo Unix que permite a dbus acceder a '''wicd''', está sujeto a cambios, y puede ser diferente de ''network''. Compruebe qué grupo viene indicado en la policy presente en {{ic|/etc/dbus-1/system.d/wicd.conf}}, y añada su propio usuario a dicho grupo.}}
  
Ahora, agrega '''dbus''' (en caso de que no esté) y '''wicd''' a DAEMONS, en ese orden. Ahora el array DAEMONS debería ser algo como esto:
+
Reinicie el sistema o inicie el servicio:
 +
# systemctl start wicd
  
DAEMONS=(syslog-ng '''dbus''' !network !dhcdbd !networkmanager '''wicd''' ...)
+
Si ha agregado el usuario a un grupo nuevo, reinicie sesión de usuario.
  
{{Nota | Si usas '''hal''', confirma que '''dbus''' esté antes que '''hal''' en DAEMONS.}}
+
===Ejecutar Wicd===
 +
Para iniciar la interfaz de Wicd, ejecute:
  
Guarda y cierra.
+
$ wicd-client
  
Agrega tu usuario al grupo '''network''':
+
Para forzar que se inicie minimizado en el área de notificación, ejecute:
  
  # gpasswd -a USERNAME network
+
  $ wicd-client --tray
  
{{Nota | El grupo Unix que dbus permite acceder a '''wicd''' esta sujeto a cambios, y puede ser diferente que ''network''.  Revisa que policy group esta especificado en '''/etc/dbus-1/system.d/wicd.conf''', y agrega el usuario a ese grupo.}}
+
Si el entorno de escritorio no tiene un área de notificación, ejecute:
  
Por ultimo, reinicia tu computadora o inicia el daemon:
+
  $ wicd-client -n
  # rc.d start dbus
+
o
+
# rc.d start hal
+
Sí agregaste el usuario a un nuevo grupo cierra sesión y luego inicia sesión.
+
  
===Ejecutando Wicd===
+
{{Nota|Las órdenes anteriores sólo funcionarán si ha instalado el paquete wicd-gtk. Si no ha instalado wicd-gtk, entonces use wicd-cli o wicd-curses.}}
Para cargar Wicd, escribe:
+
  
$ wicd-client
+
Será posible añadir '''wicd-client''' en el inicio automático del propio DE/WM, de modo que inicie el programa en cada inicio de sesión.
 +
{{Nota|Algunos usuarios se han encontrado con el problema de tener iniciados dos procesos {{ic|wicd-client}} cuando se utiliza este método. Se ha discutido sobre este tema en los foros de Arch y en los informes de errores de Arch (consulte [[#Enlaces externos]]). Parece ser que el paquete wicd pone un archivo en {{ic|/etc/xdg/autostart/wicd-tray.desktop}}, que iniciará automáticamente {{ic|wicd-client}} en cada inicio de sesión del DE/WM. Si este es su caso, tendrá dos {{ic|wicd-client}} ejecutándose, si se agrega un {{ic|wicd-client}} adicional en el archivo startup del DE/WM. Para ver si es así, compruebe si el archivo {{ic|wicd-tray.desktop}} existe en {{ic|/etc/xdg/autostart}}; en tal caso, elimínelo, ya que con el servicio ejecutándose es suficiente.}}
  
O si tu entorno de escritorio no tiene un área de notificación, escribe:
+
También puede ejecutar wicd como una aplicación curses desde un terminal, así:
  
  $ wicd-client -n
+
  $ wicd-curses
  
Puedes agregar '''wicd-client''' al inicio de DE/WM para ejecutar la aplicación al momento de iniciar sesión.
+
{{Nota|Wicd no le pedirá una clave de acceso. Para utilizar conexiones cifradas (WPA/WEP), amplie la red a la que desea conectarse, pulsando '''Advanced''' en las opciones de la red y escribiendo la información necesaria.}}
  
También puedes ejecutar wicd como una aplicación curses desde la terminal de esta manera no necesitara el X server, escribe:
+
===Scripts===
 +
Wicd tiene la capacidad de ejecutar scripts durante todas las etapas del proceso de conexión (post/pre conectar/desconectar).
 +
Basta con colocar un script dentro de la carpeta de la etapa pertinente en /etc/wicd/scripts/ y hacerlo ejecutable.
  
  $ wicd-curses
+
Los scripts son capaces de recibir tres parámetros, a saber:
 +
  $1 - el tipo de conexión (inalámbrica/por cable).
 +
$2 - el ESSID (nombre de red).
 +
$3 - el BSSID (gateway MAC).
  
{{Nota | Wicd no pide contraseña. Para utilizar conexiones encriptadas (WPA/WEP), expanda la conexión a la que se desea conectar y haga clic en '''Advanced''' y escriba la información necesaria.}}
+
Como ejemplo, el siguiente script se puede utilizar para establecer un ARP estático, para detener los ataques spoofing a ARP.
 +
Basta con cambiar los valores dentro de la declaración para que coincida con los de las redes a las que desea permitir entradas para ARP estáticas.
  
==Problemas==
+
#!/bin/bash
 +
#Set the parameters passed to this script to meaningful variable names.
 +
connection_type="$1"
 +
essid="$2"
 +
bssid="$3"
 +
 +
if [ "${connection_type}" == "wireless" ]; then
 +
 +
        #Change below to match your networks.
 +
        case "$essid" in
 +
                YOUR-NETWORK-NAME-ESSID)
 +
                        sudo arp -s 192.168.0.1 00:11:22:33:44:55
 +
                        ;;
 +
                Netgear01923)
 +
                        sudo arp -s 192.168.0.1 10:11:20:33:40:50
 +
                        ;;
 +
                ANOTHER-ESSID)
 +
                        sudo arp -s 192.168.0.1 11:33:55:77:99:00
 +
                        ;;
 +
                *)
 +
                        echo "Static ARP not set. No network defined."
 +
                        ;;
 +
        esac
 +
fi
  
=== Fallo en obtener la dirección IP ===
+
==Solución de problemas==
wicd falla repetidamente en obtener la dirección IP usando el cliente dhcpcd por defecto, prueba instalando y usando '''dhclient''' en su lugar:
+
=== Error al obtener la dirección IP ===
 +
Si wicd falla repetidamente para obtener una dirección IP mediante el cliente dhcpcd por defecto, trate de instalar y usar '''dhclient''' en su lugar:
 
  # pacman -S dhclient
 
  # pacman -S dhclient
No olvide seleccionar dhclient como el cliente dhcp primario en las opciones de wicd.
+
No se olvide de seleccionar dhclient como el principal cliente dhcp en las opciones de wicd después.
 +
 
 +
Si wicd puede obtener una dirección IP para una interfaz wired y no puede, en cambio, obtener una dirección IP para una interfaz wireless, pruebe a desactivar las características de ahorro de energía (''«powersaving»'') de la tarjeta inalámbrica:
 +
# iwconfig wlan0 power off
 +
 
 +
=== Desconectar Random ===
 +
Si dmesg dice {{ic|1=wlan0: deauthenticating from MAC by local choice (reason=3)}} y se pierde la conexión wifi, es probable que  tenga un valor demasiado agresivo para el ahorro de energía en su tarjeta wifid[http://us.generation-nt.com/answer/gentoo-user-wireless-deauthenticating-by-local-choice-help-204640041.html].  Pruebe a desactivar las funciones powersaving de la tarjeta inalámbrica:
 +
# iwconfig wlan0 power off
 +
 
 +
Si tiene instalado el paquete {{pkg|pm-utils}}, puede ser la razón del powersaving del sistema [http://uselessuseofcat.com/?p=67]. Pruebe poniendo: {{bc|#!/bin/sh
 +
/sbin/iwconfig wlan0 power off}} en el archivo {{ic|/etc/pm/power.d/wireless}} (créelo si no existe y hágalo ejecutable) y compruebe si las cosas mejoran.
 +
 
 +
Si su tarjeta no es compatible con {{ic|iwconfig wlan0 power off}}, compruebe la '''BIOS''' para las opciones de administración de energía. Como referencia, desactivar la administración de energía PCI-Express en la bios de un Lenovo W520 resuelve el problema.
  
 
=== Fallo importando pynotify, notificaciones desactivadas ===
 
=== Fallo importando pynotify, notificaciones desactivadas ===
En caso de que el paquete no haya sido instalado automáticamente -- el nombre del paquete es "python-notify":
+
Para el caso de que el paquete no se instale automáticamente -- el nombre del paquete es «python-notify»:
 
  # pacman -S python-notify
 
  # pacman -S python-notify
  
=== Mensaje de error de la conexión dbus ===
+
=== Mensaje de error de conexión con Dbus ===
Asegúrese de usar el siguiente comando para su .xinitrc:
+
exec ck-launch-session [Tu entorno aqui]
+
  
Como un ejemplo, el mio dice:
+
Puede que reciba mensajes de error de dbus y no sea capaz de conectarse a las redes.
exec ck-launch-session openbox-session
+
  
De otra manera aparecerán mensajes de error en dbus y no sera capaz de conectare a redes.
+
* '''NOTA:''' Si wicd de repente deja de funcionar y emite mensajes haciendo responsable a dbus, es muy probable que tenga que quitar wicd completamente, incluso con todos sus archivos de configuración, y volver a instalarlo desde cero:
 
+
* '''NOTA:''' wicd de pronto se detiene y se queja de dbus, es muy probable que necesite remover wicd completamente, incluyendo todos sus archivos de configuración, y reinstalarlo desde cero:
+
 
  pacman -R wicd
 
  pacman -R wicd
  rm -rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
+
  rm -Rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
 
  pacman -S wicd
 
  pacman -S wicd
Vea este vinculo para mas información (En Inglés): http://bbs.archlinux.org/viewtopic.php?pid=577141#p577141
+
Compruebe este enlace para conocer más detalles: http://bbs.archlinux.org/viewtopic.php?pid=577141#p577141
  
Wicd-client también arroja un mensaje de error en la conexión a dbus ("Could not connect to wicd's D-Bus interface.") cuando wicd no se está ejecutando debido a problemas con un archivo de configuración. Aparentemente en ocasiones un cuenta vacía se agrega a /etc/wicd/wired-settings.conf en este caso solo se tienen que eliminar los corchetes
+
Puede encontrar que wicd-client devuelve mensajes de error de conexión relativos a dbus («Could not connect to wicd's D-Bus interface») cuando wicd no está funcionando a causa de un problema con un archivo de configuración. Aparentemente, en ocasiones una cuenta vacía se agrega a /etc/wicd/wired-settings.conf, en cuyo caso sólo tiene que eliminar los corchetes.
 
  []  
 
  []  
 
y reiniciar wicd.
 
y reiniciar wicd.
 +
 +
Cuando se ejecuta el demonio wicd con `rc.d` no imprimirá error alguno en el archivo `pid` que aquel crea. Si está seguro que wicd no se está ejecutando elimine este archivo:
 +
  rm /var/run/wicd/wicd.pid
  
 
===Problemas después de actualizar el paquete===
 
===Problemas después de actualizar el paquete===
En ocasiones el cliente de wicd no carga después de una actualización de paquete debido a errores con dbus o cuando los botones de Preferencias no funcionan.
+
A veces wicd client no se carga después de una actualización del paquete debido a errores de dbus.
Una solución es eliminar los archivos de configuración en el directorio /etc/wicd/  
+
 
  # rc.d stop wicd
+
Una posible solución consiste en eliminar los archivos de configuración ubicados en el directorio {{ic|/etc/wicd/}}.
 +
  # systemctl stop wicd
 
  # rm /etc/wicd/*.conf
 
  # rm /etc/wicd/*.conf
  # rc.d start wicd
+
  # systemctl start wicd
  
===Nota acerca de programas de sudo gráfico===
+
===Algunas notas sobre front-end gráficos para sudo===
recibe un mensaje acerca del fallo de wicd para encontrar un programa gráfico sudo, ejecute uno de los siguientes comandos:
+
Si recibe un error acerca de que wicd falla al no encontrar un programa gráfico con sudo, ejecute una de las siguientes órdenes:
 
  $ ktsuss wicd-client -n
 
  $ ktsuss wicd-client -n
  
Line 137: Line 183:
 
  $ kdesu wicd-client -n
 
  $ kdesu wicd-client -n
  
Estos programas requieren de  los paquetes ktsuss (Que se encuentra en AUR), gksu, y kdesu, respectivamente.
+
Estos programas requieren los paquetes ktsuss (que se encuentra en el AUR), gksu y kdesu, respectivamente.
  
===Haciendo eduroam trabajar con wicd===
+
===Configurar wicd para trabajar con eduroam===
  
Este perfil solo funcionara para instituciones eduroam que usen TTLS y no lo hará para PEAP.
+
{{Nota|Se aconseje probar primero el paquete {{AUR|wicd-eduroam}} de AUR. Aparecerá en wicd la opción para «eduroam». Si no funciona, intente lo que sigue.}}
  
Guarde lo siguiente como /etc/wicd/encryption/templates/ttls-80211
+
Este perfil sólo funcionará para las instituciones eduroam que utilizan el protocolo TTLS, pero no funcionará para el caso que venga usado el protocolo PEAP.
  
  name = TTLS for Wireless
+
Cree el archivo {{ic|/etc/wicd/encryption/templates/ttls-80211}}, y guarde lo siguiente:
author = Alexander Clouter
+
 
version = 1
+
  {{hc|/etc/wicd/encryption/templates/ttls-80211|<nowiki>
require anon_identity *Anonymous_Username identity *Identity password *Password  
+
name = TTLS for Wireless
optional ca_cert *Path_to_CA_Cert cert_subject *Certificate_Subject
+
author = Alexander Clouter
-----
+
version = 1
ctrl_interface=/var/run/wpa_supplicant
+
require anon_identity *Anonymous_Username identity *Identity password *Password  
network={
+
optional ca_cert *Path_to_CA_Cert cert_subject *Certificate_Subject
        ssid="$_ESSID"
+
-----
        scan_ssid=$_SCAN
+
ctrl_interface=/var/run/wpa_supplicant
+
network={
        key_mgmt=WPA-EAP
+
      ssid="$_ESSID"
        eap=TTLS
+
      scan_ssid=$_SCAN
 +
 
 +
      key_mgmt=WPA-EAP
 +
      eap=TTLS
 +
 
 +
      ca_cert="$_CA_CERT"
 +
      subject_match="$_CERT_SUBJECT"
 
   
 
   
        ca_cert="$_CA_CERT"
+
      phase2="auth=MSCHAPv2 auth=PAP"
        subject_match="$_CERT_SUBJECT"
+
 
+
        phase2="auth=MSCHAPv2 auth=PAP"
+
+
        anonymous_identity="$_ANON_IDENTITY"
+
        identity="$_IDENTITY"
+
        password="$_PASSWORD"
+
}
+
  
Open a terminal
+
      anonymous_identity="$_ANON_IDENTITY"
 +
      identity="$_IDENTITY"
 +
      password="$_PASSWORD"
 +
}
 +
</nowiki>}}
 +
 
 +
Abra un terminal:
  
 
  cd /etc/wicd/encryption/templates
 
  cd /etc/wicd/encryption/templates
 
  echo ttls-80211 >> active
 
  echo ttls-80211 >> active
  
Abra wicd, escoja TTLS para inalámbrico en las propiedades de eduroam, e inserte las configuraciones apropiadas para su institución. El formato del asunto match debe ser algo como "/CN=server.example.com".
+
Abra wicd, elija TTLS para Wi-Fi en las propiedades de eduroam e introduzca los valores adecuados para su conexión. El formato del subject match debe mostrar algo así: «/CN=server.example.com».
 
+
NB. Esto solo funciona en mi institución comentando subject_match, la cual no es segura, pero por lo menos se conecta.
+
 
+
===Problema cambiando de wicd a otro administrador de redes===
+
  
Cuando intenté regresar a knetworkmanager, sin desinstalar wicd, edité /etc/rc.conf y puse una '!' antes de wicd, y la quité de networkmanager, reinicié y obviamente wicd no cargó. Sin embargo cuando inicié KDE obtuve un mensaje diciendo que wicd-client no pudo iniciar normalmente porque wicd no se estaba ejecutando. Wicd-client no debió haber iniciado ya que no estaba en autostart. El truco para evitar que cargue es ir a /etc/xdg/autostart y hacer:
+
NB. Este ajuste funciona en algunos caso comentando subject_match, aunque no es seguro, pero podría servir para conectase.
  
$ sudo nano wicd-tray.desktop
+
===Dos procesos wicd-client (y eventualmente dos iconos en la bandeja del sistema)===
 +
Consulte la nota [[Wicd (Español)#Ejecutar Wicd]] sobre el archivo autostart en {{ic|/etc/xdg/autostart}}, consulte el post del foro y envíe los errores a algunos de los [[Wicd (Español)#Enlaces externos]] proporcionados. Resumidamente, si {{ic|/etc/xdg/autostart/wicd-tray.desktop}} existe, solo es necesario el servicio {{ic|wicd}} en el sistema y debe eliminarlo del archivo autostart del DE/WM.
  
y hacerlo oculto para el startup, o si no estas planeando autostart wicd-client de nuevo solo eliminarlo del archivo.
+
===Contraseña incorrecta usando PEAP con TKIP/MSCHAPV2===
 +
La plantilla de conexión PEAP con TKIP/MSCHAPV2 requiere que el usuario introduzca la ruta a un certificado CA, además de introducir el nombre de usuario y contraseña. Sin embargo, esto puede causar problemas, dando como resultado que wicd notifique un mensaje de error de una contraseña incorrecta [https://bbs.archlinux.org/viewtopic.php?pid=990385 *]. Una posible solución es el uso de PEAP con GTC en lugar de TKIP/MSCHAPV2 que no requiere para conectar la ruta al certificado CA.
  
==Links externos==
+
==Enlaces externos==
*[http://bbs.archlinux.org/viewtopic.php?id=40337 Note on the network daemon and interfaces]
+
*[http://www.wicd.net/download.php Nota sobre las interfaces en el sitio oficial]
*[http://www.wicd.net/download.php Note on interfaces at the official site]
+
*[https://bbs.archlinux.org/viewtopic.php?id=114803 Discusión en el Foro sobre los dos procesos de wicd-client y /etc/xdg/autostart]
 +
*[https://bugs.archlinux.org/task/22423 Informe de errores sobre el mencionado comportamiento de /etc/xdg/autostart y wicd-client]

Revision as of 11:03, 9 November 2012

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

Wicd es un gestor de conexiones de red que puede manejar interfaces inalámbricas y cableadas, de forma similar y alternativa a NetworkManager. Wicd está escrito en Python y GTK+, por lo que necesita de la instalación de un menor número de dependencias repecto de otros gestores de red. Alternativamente, está disponible una versión de Wicd para KDE, escrito en Qt, desde el repositorio AUR. Wicd también se puede ejecutar desde el terminal en una interfaz diseñada con las bibliotecas curses, que no requiere una sesión de servidor X, ni área de notificación (vea Wicd (Español)#Ejecutar Wicd).

Instalación

Instale wicd, disponible en los repositorios oficiales.

Nota: Wicd se divide en dos paquetes:
wicd
Incluye todo lo necesario para ejecutar el demonio wicd, el cliente wicd-cli y la interfaz de terminal wicd-curses.
wicd-gtk
Incluye todo lo necesario para ejecutar la interfaz GTK de wicd y el archivo de inicio automático para que el icono aparezca en la bandeja del sistema.

Cliente GTK client

Para un front-end GTK, instale wicd-gtk, disponible en los repositorios oficiales.

Cliente KDE client

Para un front-end KDE, instale wicd-kdeAUR, disponible del repositorio AUR.

Notificaciones

Para activar las notificaciones visuales sobre el estado de la red, es necesario instalar notification-daemon.

Si no está usando GNOME, instale xfce4-notifyd, en lugar de notification-daemon, ya que demanda muchos paquetes GNOME innecesarios.

Alternativa

Los script de compilación de wicd-bzrAUR están disponibles en AUR, en los que se basa la última rama de desarrollo. Si necesita una versión alternativa o simplemente quiere crear su propio paquete, puede construirlo fácilmente usando ABS.

Para empezar

Configuración inicial

Wicd provee un daemon que debe ser iniciado.

Advertencia: La ejecución de varios gestores de red a voluntad simultáneamente causarán problemas, por lo que es importante desactivar los demás demonios de gestión de red.

En primer lugar, detenga todos los demonios de red que estén en ejecución:

# systemctl stop network
# systemctl stop dhcpcd
# systemctl stop NetworkManager

Deshabilite los servicios de gestión red existentes, network, dhcpcd, y networkmanager. Remítase a Systemd (Español)#Usar las unidades.

Habilite el servicio wicd

# systemctl enable wicd

Agregue su cuenta al grupo network:

# gpasswd -a USERNAME network
Nota: El grupo Unix que permite a dbus acceder a wicd, está sujeto a cambios, y puede ser diferente de network. Compruebe qué grupo viene indicado en la policy presente en /etc/dbus-1/system.d/wicd.conf, y añada su propio usuario a dicho grupo.

Reinicie el sistema o inicie el servicio:

# systemctl start wicd

Si ha agregado el usuario a un grupo nuevo, reinicie sesión de usuario.

Ejecutar Wicd

Para iniciar la interfaz de Wicd, ejecute:

$ wicd-client

Para forzar que se inicie minimizado en el área de notificación, ejecute:

$ wicd-client --tray

Si el entorno de escritorio no tiene un área de notificación, ejecute:

$ wicd-client -n
Nota: Las órdenes anteriores sólo funcionarán si ha instalado el paquete wicd-gtk. Si no ha instalado wicd-gtk, entonces use wicd-cli o wicd-curses.

Será posible añadir wicd-client en el inicio automático del propio DE/WM, de modo que inicie el programa en cada inicio de sesión.

Nota: Algunos usuarios se han encontrado con el problema de tener iniciados dos procesos wicd-client cuando se utiliza este método. Se ha discutido sobre este tema en los foros de Arch y en los informes de errores de Arch (consulte #Enlaces externos). Parece ser que el paquete wicd pone un archivo en /etc/xdg/autostart/wicd-tray.desktop, que iniciará automáticamente wicd-client en cada inicio de sesión del DE/WM. Si este es su caso, tendrá dos wicd-client ejecutándose, si se agrega un wicd-client adicional en el archivo startup del DE/WM. Para ver si es así, compruebe si el archivo wicd-tray.desktop existe en /etc/xdg/autostart; en tal caso, elimínelo, ya que con el servicio ejecutándose es suficiente.

También puede ejecutar wicd como una aplicación curses desde un terminal, así:

$ wicd-curses
Nota: Wicd no le pedirá una clave de acceso. Para utilizar conexiones cifradas (WPA/WEP), amplie la red a la que desea conectarse, pulsando Advanced en las opciones de la red y escribiendo la información necesaria.

Scripts

Wicd tiene la capacidad de ejecutar scripts durante todas las etapas del proceso de conexión (post/pre conectar/desconectar). Basta con colocar un script dentro de la carpeta de la etapa pertinente en /etc/wicd/scripts/ y hacerlo ejecutable.

Los scripts son capaces de recibir tres parámetros, a saber:

$1 - el tipo de conexión (inalámbrica/por cable).
$2 - el ESSID (nombre de red).
$3 - el BSSID (gateway MAC).

Como ejemplo, el siguiente script se puede utilizar para establecer un ARP estático, para detener los ataques spoofing a ARP. Basta con cambiar los valores dentro de la declaración para que coincida con los de las redes a las que desea permitir entradas para ARP estáticas.

#!/bin/bash
#Set the parameters passed to this script to meaningful variable names.
connection_type="$1"
essid="$2"
bssid="$3"

if [ "${connection_type}" == "wireless" ]; then

       #Change below to match your networks.
       case "$essid" in
               YOUR-NETWORK-NAME-ESSID)
                       sudo arp -s 192.168.0.1 00:11:22:33:44:55
                       ;;
               Netgear01923)
                       sudo arp -s 192.168.0.1 10:11:20:33:40:50
                       ;;
               ANOTHER-ESSID)
                       sudo arp -s 192.168.0.1 11:33:55:77:99:00
                       ;;
               *)
                       echo "Static ARP not set. No network defined."
                       ;;
       esac
fi

Solución de problemas

Error al obtener la dirección IP

Si wicd falla repetidamente para obtener una dirección IP mediante el cliente dhcpcd por defecto, trate de instalar y usar dhclient en su lugar:

# pacman -S dhclient

No se olvide de seleccionar dhclient como el principal cliente dhcp en las opciones de wicd después.

Si wicd puede obtener una dirección IP para una interfaz wired y no puede, en cambio, obtener una dirección IP para una interfaz wireless, pruebe a desactivar las características de ahorro de energía («powersaving») de la tarjeta inalámbrica:

# iwconfig wlan0 power off

Desconectar Random

Si dmesg dice wlan0: deauthenticating from MAC by local choice (reason=3) y se pierde la conexión wifi, es probable que tenga un valor demasiado agresivo para el ahorro de energía en su tarjeta wifid[1]. Pruebe a desactivar las funciones powersaving de la tarjeta inalámbrica:

# iwconfig wlan0 power off
Si tiene instalado el paquete pm-utils, puede ser la razón del powersaving del sistema [2]. Pruebe poniendo:
#!/bin/sh
/sbin/iwconfig wlan0 power off
en el archivo /etc/pm/power.d/wireless (créelo si no existe y hágalo ejecutable) y compruebe si las cosas mejoran.

Si su tarjeta no es compatible con iwconfig wlan0 power off, compruebe la BIOS para las opciones de administración de energía. Como referencia, desactivar la administración de energía PCI-Express en la bios de un Lenovo W520 resuelve el problema.

Fallo importando pynotify, notificaciones desactivadas

Para el caso de que el paquete no se instale automáticamente -- el nombre del paquete es «python-notify»:

# pacman -S python-notify

Mensaje de error de conexión con Dbus

Puede que reciba mensajes de error de dbus y no sea capaz de conectarse a las redes.

  • NOTA: Si wicd de repente deja de funcionar y emite mensajes haciendo responsable a dbus, es muy probable que tenga que quitar wicd completamente, incluso con todos sus archivos de configuración, y volver a instalarlo desde cero:
pacman -R wicd
rm -Rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
pacman -S wicd

Compruebe este enlace para conocer más detalles: http://bbs.archlinux.org/viewtopic.php?pid=577141#p577141

Puede encontrar que wicd-client devuelve mensajes de error de conexión relativos a dbus («Could not connect to wicd's D-Bus interface») cuando wicd no está funcionando a causa de un problema con un archivo de configuración. Aparentemente, en ocasiones una cuenta vacía se agrega a /etc/wicd/wired-settings.conf, en cuyo caso sólo tiene que eliminar los corchetes.

[] 

y reiniciar wicd.

Cuando se ejecuta el demonio wicd con `rc.d` no imprimirá error alguno en el archivo `pid` que aquel crea. Si está seguro que wicd no se está ejecutando elimine este archivo:

 rm /var/run/wicd/wicd.pid

Problemas después de actualizar el paquete

A veces wicd client no se carga después de una actualización del paquete debido a errores de dbus.

Una posible solución consiste en eliminar los archivos de configuración ubicados en el directorio /etc/wicd/.

# systemctl stop wicd
# rm /etc/wicd/*.conf
# systemctl start wicd

Algunas notas sobre front-end gráficos para sudo

Si recibe un error acerca de que wicd falla al no encontrar un programa gráfico con sudo, ejecute una de las siguientes órdenes:

$ ktsuss wicd-client -n
$ gksudo wicd-client -n
$ kdesu wicd-client -n

Estos programas requieren los paquetes ktsuss (que se encuentra en el AUR), gksu y kdesu, respectivamente.

Configurar wicd para trabajar con eduroam

Nota: Se aconseje probar primero el paquete wicd-eduroamAUR de AUR. Aparecerá en wicd la opción para «eduroam». Si no funciona, intente lo que sigue.

Este perfil sólo funcionará para las instituciones eduroam que utilizan el protocolo TTLS, pero no funcionará para el caso que venga usado el protocolo PEAP.

Cree el archivo /etc/wicd/encryption/templates/ttls-80211, y guarde lo siguiente:

/etc/wicd/encryption/templates/ttls-80211
name = TTLS for Wireless
author = Alexander Clouter
version = 1
require anon_identity *Anonymous_Username identity *Identity password *Password 
optional ca_cert *Path_to_CA_Cert cert_subject *Certificate_Subject
-----
ctrl_interface=/var/run/wpa_supplicant
network={
       ssid="$_ESSID"
       scan_ssid=$_SCAN

       key_mgmt=WPA-EAP
       eap=TTLS

       ca_cert="$_CA_CERT"
       subject_match="$_CERT_SUBJECT"
 
       phase2="auth=MSCHAPv2 auth=PAP"

       anonymous_identity="$_ANON_IDENTITY"
       identity="$_IDENTITY"
       password="$_PASSWORD"
}

Abra un terminal:

cd /etc/wicd/encryption/templates
echo ttls-80211 >> active

Abra wicd, elija TTLS para Wi-Fi en las propiedades de eduroam e introduzca los valores adecuados para su conexión. El formato del subject match debe mostrar algo así: «/CN=server.example.com».

NB. Este ajuste funciona en algunos caso comentando subject_match, aunque no es seguro, pero podría servir para conectase.

Dos procesos wicd-client (y eventualmente dos iconos en la bandeja del sistema)

Consulte la nota Wicd (Español)#Ejecutar Wicd sobre el archivo autostart en /etc/xdg/autostart, consulte el post del foro y envíe los errores a algunos de los Wicd (Español)#Enlaces externos proporcionados. Resumidamente, si /etc/xdg/autostart/wicd-tray.desktop existe, solo es necesario el servicio wicd en el sistema y debe eliminarlo del archivo autostart del DE/WM.

Contraseña incorrecta usando PEAP con TKIP/MSCHAPV2

La plantilla de conexión PEAP con TKIP/MSCHAPV2 requiere que el usuario introduzca la ruta a un certificado CA, además de introducir el nombre de usuario y contraseña. Sin embargo, esto puede causar problemas, dando como resultado que wicd notifique un mensaje de error de una contraseña incorrecta *. Una posible solución es el uso de PEAP con GTC en lugar de TKIP/MSCHAPV2 que no requiere para conectar la ruta al certificado CA.

Enlaces externos