A Django site.
Mayo 8, 2009

Leonardo Andrés Gallego
hombrepac
Leonardo Andrés Gallego trata sobre »
» Arch Linux + netcfg + wifi-select = el combo wifi livianito

En Arch Linux tenemos un sistema para la administración de redes, tanto wireless (inalambricas) como ethernet (de cable), fue desarrollado por uno de los devs. de Arch y a mi parecer, es el mejor modo de configurar la red ya que soporta wifi sin encriptar, wep, wpa, wpa2, ethernet e inclusive ppp. Es de uso obligatorio si usamos perfiles.

Para que sirven los perfiles? Básicamente es para laptops. La realidad es que si uno utiliza una PC de escritorio, rara vez deberá cambiar la configuración de red y no tiene sentido correr un demonio + aplicación constantemente para realizar esta tarea. Entonces, si tenemos una laptop, tenemos wireless y ethernet. En algunas situaciones usaremos un tipo de conexión (preferentemente wireless), pero en casos que no tengamos disponible, recurriremos a una ethernet. Inclusive cuando accedemos vía wifi, muchas veces lo hacemos desde distintas conexiones o lugares.

Como manejar todas estas posibilidades sin tener que cargar nuestra laptop o netbook de mas? Con netcfg + wifi-select.

Esto viene especialmente útil para usuarios de netbooks como las asus eeepc, acer one o msi wind, donde los recursos son mas limitados. Así que si tenes una, probalo, vas a ahorrar muchos recursos comparando con networkmanager.

Todos los comandos que siguen los realizo utilizando “sudo“. Ustedes pueden utilizar el usuario root si lo prefieren, pero con sudo y algunos retoques en visudo, podrán administrar las conexiones de red como usuario sin tener que ingresar la clave.

Primero instalamos las aplicaciones:

pacman -S netcfg wifi-select

Ahora configuramos el sistema para que netcfg administre las conexiones.

vi /etc/rc.conf

En la sección INTERFACES nos aseguramos de dejar únicamente la interfaz de ethernet (cable!).

Asi:

INTERFACES=(eth0)

La interfaz lo (loopback) ya levanta por defecto en Arch, asi q no es necesario nombrarla y las interfaces wireless las ingresaremos mas adelante.

Ahora en la sección NETWORKS, cargaremos dos ejemplos:

NETWORKS=(casa-ethernet casa-wifi)

Si deseamos utilizar la funcion de “autodetección”, para que el sistema elija la mejor red dentro de los perfiles disponibles, habilitamos:

AUTO_NETWORKS=(auto-wireless wlan0)

Donde wlan0 es tu interfaz wifi.

Luego en DAEMONS, podremos optar por dos demonios. Uno (net-profiles) cargara las interfaces en orden de aparición, usando el arreglo NETWORKS y el otro (net-auto)  detectara la mejor conexión disponible dentro de los perfiles disponibles y conectara esa. Ambos en caso de falla, pasaran a la siguiente red disponible.

Entonces, para el caso de perfiles ordenados nos quedaria algo asi:

DAEMONS=(… @net-profiles)

Y  para el caso de autodetección

DAEMONS=(… @net-auto)

Yo suelo utilizar el ultimo. Pero es una cuestión de gustos y que tantas conexiones tengan en los perfiles.

Luego de tener esto, debemos crear los perfiles (cosa que podrían haber hecho antes, pero me gusto mas relatarlo en este orden!):

Nos dirigimos a /etc/network.d. Allí encontraran un directorio llamado “examples”. Dentro de /etc/network.d/examples van a tener distintos modelos de conexiones, desde ethernet, a wifi con protección wpa, wep o sin encriptado.

En nuestro ejemplo tenemos 2 conexiones, una es casa-ethernet y la otra casa-wifi. El primero es un perfil de conexión por cable mientras que la segunda es una conexión WPA2 (la mas recomendable a la hora de configurar un router wifi).

Para configurar las cuentas existen varias formas, las conexiones conocidas y más usadas, es sencillo configurarlas de la siguiente manera:

cp /etc/network.d/examples/wpa.example /etc/network.d/casa-wifi

cp /etc/network.d/examples/ethernet.example /etc/network.d/casa-ethernet

Y editamos, con nuestro editor favorito (yo utilizo vim):

vim /etc/network.d/casa-wifi

Van a ver algo asi:

CONNECTION=”wireless”
DESCRIPTION=”casa wireless”
INTERFACE=wlan0
SCAN=”yes”
SECURITY=”wpa”
ESSID=”wifi-ejemplo”
KEY=”clave-wifi”
IP=”dhcp”
TIMEOUT=20
  • CONNECTION dice “wireless”. Esto debe quedar asi. Las opciones serian: wireless, ethernet o ppp, y sirve para definir el tipo de conexión. No es el nombre!
  • INTERFACE es la interfaz wireless que tengamos.
  • SCAN es la opcion de escanear en busca de la red correspondiente. Si ponemos “no”, nos podemos ahorrar unos segundos, pero puede traer problemas en algunos casos.
  • ESSID es el nombre de la conexión de wireless.
  • KEY es la clave (wpa para wpa/wpa2, wep para wep y none para ninguna)
  • IP podemos fijar una, o utilizar “dhcp” si queremos que la asigne el router. Esto ultimo es lo mas comun.
  • TIMEOUT cuanto tiempo debe esperar antes de abortar el intento de conexión.

Con esto ya tenemos el perfil de wireless de nuestra casa configurado. El proceso es similar para ethernet, pero bastante menos complejo (dado que únicamente hay que indicar si es DHCP o la IP que queremos asignar). No hay claves, seguridad o essid. Editen el archivo /etc/network.d/casa-ethernet y tendrán lista la conexión por cable.

Ahora, ya esta todo configurado e instalado. Con reiniciar la maquina estando en el rango de nuestra wifi, deberían conectarse al arrancar automáticamente.
Si desean cambiar la conexión a la que están y el perfil ya existe, lo pueden hacer con:

netcfg perfil-a-cargar

Si en cambio, están en algún lugar donde no tienen ningún perfil pre establecido — por ejemplo, primera vez que llevan la laptop a la facultad o a un café –, deberán escanear por las redes disponibles. La manera mas sencilla y económica de hacerlo es utilizar wifi-select.

wifi-select wlan0

Siendo wlan0 su interfaz wireless. Esto levanta una interfaz ncurses (gráficos de consola) que muestra la lista de conexiones en rango y el tipo de seguridad que posee.
Con solo seleccionar la que desean, se conectaran automáticamente (si requiere una clave de seguridad wep, wpa o wpa2, se las solicitara en el momento). Luego les consultara si desean guardar el perfil, de manera tal que lo tendrán disponible la próxima vez que quieran conectarse. Y si utilizan el demonio “net-auto” o “net-profiles“, este se encargara de conectarlos a la red en cuanto la detecte, para esto tendrán que haber ingresado el nombre del perfil en la sección NETWORKS de /etc/rc.conf

Otra opción para darle una interfaz mas gráfica a wifi-select es utilizar archassistant. Una interfaz basada en Qt (única dependencia) especialmente para usar con KDE, muy bonita.
Si quieren probarla:

pacman -S archassistant

Esta aplicación tiene un par de sistemas de ayuda para guiarlos en la creación de nuevos perfiles y algunos accesos rápidos a archivos de configuración de Arch.

Vale aclarar que los pasos seguidos aquí son bastante exhaustivos y tienen como fin mostrar como funciona el sistema. Si quisiéramos simplificarlo, se haría mucho mas sencillo transfiriendo las configuraciones de los perfiles a wifi-select o archassistant desde un principio. Asimismo, no me hago responsable de cualquier cosa que le pase a tu laptop, pc o perro por seguir esta guía.
Pueden consultar la documentación oficial aquí.
Compartí este articulo: del.icio.us Meneame BarraPunto Facebook Digg Slashdot MisterWong

Octubre 1, 2008

Leonardo Andrés Gallego
hombrepac
Leonardo Andrés Gallego trata sobre »
» WRT54GL v1.1 flasheado con DD-WRT v24 SP1

Finalmente me decidí y lo hice.

De repente mi conexión wireless dejo de responder, por alguna razón knetworkmanager al momento de asignar la IP, luego de unos cuantos segundos, reportaba un error. Justo ayer me había pasado dos horas (por teléfono! me sentí un bot de call center…) ayudando unos amigos a configurar su modem/router Zyxel P600 de telefónica/speedy más un Linksys WRT54G (v8) en modo router + wifi, y como para acceder al mio (un WRT54GL) tengo deshabilitada la administración vía wifi, tuve que ponerme un cable. Como ya lo tenia ahí, supuse que habría tocado algo mientras los guiaba, y me conecte a la interfaz web del router para ver si encontraba el problema.

Resulta que mirando, mirando… no notaba nada raro, y en una de esas, me encontré jugando con la opción de DDNS (”Dynamic DNS” para el q no sabe), que siempre lo configure en la PC (es más, cree un par de scripts para actualizar la IP y todo, un día debería subirlos), por que el servicio que utilizo no lo soportaban mis routers previos. Cuestión que en este Linksys habían dos disponibles, uno era DynDNS.org y el otro era TOZ.net o algo así. Como ya dije, no son los que yo utilizo… pero dije, ya fue, me creo una cuenta en dyndns, total, que le hace una clave mancha más al tigre (el tigre? el tigre tiene rayas! el leopardo es el de las manchas! por que se dice al tigre?).

Cuestión que recuerdo fugazmente que en algún momento tuve un dyndns, y que lo reemplace por mi actual proveedor por no brindarme el servicio de dominios propios. Cuando intento reflotar mi cuenta me aparece algo así como “Su cuenta violo las Políticas de Uso Aceptable y ha sido bloqueada”, en ingles y sin mucho mas detalle que eso. Nunca supe ni sabre que política de uso aceptable habré violado, ya que no utilizaba la cuenta hace ¿años?. Aparte de darme bastante bronca el no tener una razón hace tiempo que venia leyendo sobre OpenWRT, DD-WRT, Tomato y tantos otros firmwares libres para routers. Es más, me compre este mismo router por que sabia que si quería, podría aplicarle estas versiones embebidas de Linux. Me tente con la idea nuevamente, me puse a leer, vi lo fácil que era, las ventajas que ganaba… y no dude más. Lo hice.

Algunas ventajas puntuales al convertirme a DD-WRT:

  • Puedo asignar DHCP estático (algo que me molestaba de sobremanera que no tuviera la firmware original ya que lo utilizo para poder forwardear puertos específicos a PCs especificas)
  • Puedo utilizar como 10 servicios de DNS dinámico, incluyendo EveryDNS.
  • Puedo hacer calidad de servicio y controlar al descontrolado de mi hermano y sus descargas (un QoS que anda!).
  • Puedo hacer ssh a mi router!
  • Tengo soporte para OpenVPN! (y no que “pase” nomas, sino conectarme vía VPN)
  • Estadísticas de verdad! Con gráficos y todo.
  • Incrementar la potencia de la wifi
  • Puedo poner un web server, si quiero.
  • Montar un Samba
  • Usar Iptables como firewall

Por otro lado, había algo que hace tiempo venia molestándome y es que la conexión wireless de una de las PC se caia seguido, por lo que vi, parece ser bastante recurrente en ese modelo de placa  (la ironía de que sea una Linksys no me deja de sorprender), y me preguntaba si no tendría algo que ver con el router… aunque las laptops anduvieran sin inconvenientes. Bueno, está confirmado y no era el router. Ni el soft del router. Es la placa. Recomendación para todos los que quieren adquirir una placa inalambrica para su PC: compren un dongle USB <-> Wifi. Después dejo la marca y modelo de uno que funciona muy, pero muy bien en Linux.

Llegamos a la parte practica.

Como se instala DD-WRT en un Linksys WRT54GL v1.1?

  1. Descargamos las firmwares que queremos aplicar
    1. URL: http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html
    2. dd-wrt.v24_mini_generic.bin (md5: 51cb0315084c292b79988821bfeee738)
    3. dd-wrt.v24_vpn_generic.bin  (md5: de2aa2fb41e75562b8a350ae493ecce0)
  2. Nos conectamos via cable al Linksys.
  3. Guardamos la configuración actual por las moscas, en la parte de administración hay un submenu que permite hacer un backup de está. Opcional.
  4. Reseteamos el router a los valores de fabrica vía la interfaz administrativa web.
  5. Nos logueamos nuevamente, y vamos a la parte de Upgrade Firmware
    1. Le damos a Browse y buscamos el 1er archivo que descargamos: dd-wrt.v24_mini_generic.bin
    2. Es obligratorio utilizar la firmware mini, ya que Linksys limito el tamaño de la firmware a subir vía la interfaz.
    3. Una vez que le damos al upgrade. No tocar nada ni cerrar el navegador hasta que termine. Pueden pasar un par de minutos, lo ideal es irse a tomar algo, estirar los pies, o si tienen; acariciar al perro.
    4. Una vez que aparece la pagina con el boton de Continue, esperamos un par de minutos y le damos click.
    5. Vamos hasta el router y, durante 30 segundos, mantenemos apretado el boton de resetear que se encuentra detras.
  6. Nos volvemos a loguear, y voila! Tenemos DD-WRT en nuestro router. Ahora vamos nuevamente a actualizar el firmware, esta vez para cargar la version mas completita con unas cuantas caracteristicas extra, en este caso las de VPN, aunque existen alternativas como la standard o la de voip. Pueden consultar las diferencias aquí
  7. Una vez logueados nuevamente procedemos (a traves de menus mucho mas bonitos y ajaxiados) hasta la opción de Upgrade Firmware.
  8. Una vez allí, le damos a Browse nuevamente y está vez cargamos la firmware mas grande (std, vpn o voip). Tengan en cuenta que este router no soporta la mega.
  9. Seleccionamos que vuelva a los valores de fabrica al terminar y le damos aceptar.
  10. Nuevamente, vayan a acariciar al perro, vuelvan y sean mas felices. ;)

Lo que se viene: Como destriparlo y agregarle una memoria SD/MMC!

Compartí este articulo: del.icio.us Meneame BarraPunto Facebook Digg Slashdot MisterWong