Wicd (Español)
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 (véase #Ejecutar Wicd en modo texto).
Instalación
Paquete base
Instale wicd[enlace roto: package not found], disponible en los repositorios oficiales. Incluye todo lo necesario para ejecutar el demonio wicd, el cliente wicd-cli
y la interfaz de terminal wicd-curses
.
Cliente GTK+
Para una interfaz GTK+, instale wicd-gtk[enlace roto: package not found], disponible en los repositorios oficiales. 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 KDE
Para una interfaz KDE, instale wicd-kdeAUR[enlace roto: package not found], disponible en el 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[enlace roto: package not found] 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 demonio que debe ser iniciado.
En primer lugar, detenga todos los demonios de red que estén en ejecución (como netctl, dhcpcd, NetworkManager).
Desactive los servicios de gestión red existentes, netctl
, dhcpcd
, y networkmanager
. Remítase a Systemd (Español)#Utilizar las unidades.
Inicie el demonio wicd de systemd y active el servicio para que arranque al inicio del sistema.
Agregue su cuenta al grupo users:
# gpasswd -a NOMBREDEUSUARIO users
/etc/dbus-1/system.d/wicd.conf
, y añada su propio usuario a dicho grupo.Si ha agregado el usuario a un grupo nuevo, reinicie sesión de usuario.
Ejecutar Wicd en un entorno de escritorio
Si ha instalado el paquete wicd-gtk[enlace roto: package not found] y entrado en el entorno de escritorio, abra un terminal virtual para ejecutar una de las siguientes órdenes:
- Para iniciar Wicd como un servicio del sistema, ejecute:
$ systemctl start wicd.service
- Para cargar Wicd, ejecute:
$ wicd-client
- Para forzar que se inicie minimizado en el área de notificación, ejecute:
$ wicd-client --tray
- Si su entorno de escritorio no tiene un área de notificación, o si no quiere que wicd se muestre como un icono en la bandeja del sistema, ejecute:
$ wicd-client -n
Ejecutar Wicd en modo texto
Si no instaló wicd-gtk[enlace roto: package not found], entonces puede usar wicd-cli o wicd-curses:
$ wicd-curses
Inicio automático
El paquete wicd-gtk[enlace roto: package not found] pone un archivo en /etc/xdg/autostart/wicd-tray.desktop
, para iniciar automáticamente wicd-client
al iniciar sesión en el DE/WM. Si es así, es suficiente con activar el servicio del sistema wicd:
$ systemctl enable wicd.service
Si /etc/xdg/autostart/wicd-tray.desktop
no existe, puede añadir wicd-client para que al arrancar el DE/WM la aplicación se inicie al conectarse a la sesión.
/etc/xdg/autostart/wicd-tray.desktop
existe, tendrá un problema por que tendrá dos wicd-client
corriendo simultáneamente.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 (dirección MAC de la puerta de enlace).
Detener los ataques de ARP spoofing
El siguiente script se puede utilizar para establecer un ARP estático, para detener los ataques ARP spoofing. 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
Cambiar la dirección MAC con macchanger
Véase el artículo relacionado.
El siguiente script se puede utilizar para cambiar la dirección MAC de las interfaces de red.
Para cambiar la MAC cada vez que se conecta a una red, coloque el script en el directorio /etc/wicd/scripts/preconnect/
Eche un vistazo a macchanger --help
para ajustar la orden macchanger a sus necesidades.
#!/usr/bin/env bash connection_type="$1" if [[ "${connection_type}" == "wireless" ]]; then ip link set wlan0 down macchanger -A wlan0 ip link set wlan0 up elif [[ "${connection_type}" == "wired" ]]; then ip link set eth0 down macchanger -A eth0 ip link set eth0 up fi
Solución de problemas
Véase Network configuration#Troubleshooting para la solución de los problemas sobre las conexiones por cable y Wireless network configuration#Troubleshooting para la solución de problemas de las conexiones inalámbricas. Esta sección solo se refiere a los problemas específicos de wicd.
Fallo importando pynotify, notificaciones desactivadas
Para el caso de que el paquete python2-notifyAUR no se instale automáticamente. Puede instalarlo desde los repositorios oficiales.
Mensaje de error de conexión con Dbus
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: https://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 solo tiene que eliminar los corchetes:
[]
y reiniciar wicd.
Si lo anterior no funciona, podría intentar esto.
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, instale uno como gksuAUR, ktsussAUR[enlace roto: package not found], o kdebase-runtimeAUR, ejecutando la orden oportuna:
$ ktsuss wicd-client -n
$ gksudo wicd-client -n
$ kdesu wicd-client -n
Configurar wicd para trabajar con eduroam
Este perfil solo funcionará para las instituciones eduroam que utilizan el protocolo TTLS, pero no funcionará para el caso que venga usado el protocolo PEAP (puede encontrar un perfil PEAP aquí: Eduroam wicd).
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:
# echo ttls-80211 >> /etc/wicd/encryption/templates/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 en #Ejecutar Wicd en modo texto sobre el archivo autostart en /etc/xdg/autostart
, consulte el post del foro y envíe los errores a algunos de los siguientes enlaces proporcionados. Resumidamente, si /etc/xdg/autostart/wicd-tray.desktop
existe, elimínelo. Solo es necesario el servicio wicd
activado en el sistema.
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.
Wicd no puede obtener una dirección IP de WLAN
Esto podría ser causado al estar ejecutándose dhcpcd junto con wicd como servicio systemd. Una solución sería la de detener/desactivar dhcpcd.
Véase también
- Nota sobre las interfaces en el sitio oficial
-
Discusión en el Foro acerca de las dos instancias de wicd-client y
/etc/xdg/autostart
- Informe de errores sobre el mencionado comportamiento de /etc/xdg/autostart y wicd-client