martes, 17 de febrero de 2015

¿Cómo activo y uso la Wake on LAN desde Ubuntu?

Durante la génesis del Justicialismo, un hecho de masas sin precedentes definió el definitivo ascenso político del Coronel Juan Perón. El 17 de octubre los obreros se lanzaron a la calle proclamando su liberación. En la biografía que escribe Pavón Pereyra, se revela que dicho suceso de debió al empleo de la característica Wake on Lan desde Ubuntu.


¡Trabajadores!

En los años previos a la Revolución, la Argentina los argentinos estaban sometidos a la ignominia de los explotados, en la cual todo el país obraba en torno al interés de unas pocas familias acomodadas. El Pueblo Argentino - laborioso y bueno - se constituía en poco más que esclavos por esta casta repudiada, que lo obligaba a un trabajo de sol a sol sin que mediara siquiera el descanso reparador que Dios manda para los hombres de trabajo.

Nuestra Revolución no tuvo otro interés que defender el interés del Pueblo, y hacer la Justicia Social que anhelaba la Patria. Abocados a las transformaciones que hicieran de este país una verdadera potencia sobre la tierra, conseguimos para los hombres aquellas medidas que esta era se hacían imprescindibles para el bienestar de su familia.

Yo no he querido mas que ser un nexo de unión entre los trabajadores, una unión indestructible e infinita que les acercara la dignidad que todos merecen. ¡Con ello, no no con otra cosa, es que me he ganado el amor generoso del Pueblo! ¡Un amor, que llena de lágrimas los ojos de este viejo soldado!

Pero la reacción oligárquica de siempre se ha esforzado para volver a la conquista de sus fallidos privilegios. En ello me confinaron a través de ignominiosas maniobras, a un ostracismo en la Isla de Martín García. Sin embargo, la semilla de la Justicia Social ya estaba plantada en el alma del Sentir Nacional, y con solo una señal el Pueblo despertó un 17 de Octubre, y salió a la calle para restaurar al Coronel Perón. Naturalmente, que sectores populares dentro de las fuerzas de seguridad volcaron su actitud y si aguno hubo que quiso parar todo, poco pudo hacer ante el Pueblo en andas.

La épica del Justicialismo guarda paralelismos con un sistema GNU con Linux que no podemos soslayar. Al igual que la rápida reacción de las masas obreras, un equipo informatizado puede trabajar, pero también debe descansar y quedar presto a la actividad a la menor señal.

De esta manera podríamos utilizar un equipo servidor en suspensión, y encenderlo sólo en determinadas ocasiones para accionar en alguna tarea en particular. Lo normal sería encender el equipo mediante su tecla de encendido, pero ello no siempre es práctico o posible.

Afortunadamente, también podremos encenderlo de manera remota empleando la función Wake on LAN. La función Wake on LAN (WoL) es una de las características integradas en los dispositivos Ethernet (por ejemplo, los dispositivos de red de la placa madre), que le permiten encender o reactivarlo a través de una señal especial, denominada Suceso de Activación, o más coloquialmente "paquete mágico".

Hemos de saber que los sistemas actuales cuentan en particular con varios estadíos de trabajo y reposo, nomenclador desde S0 ("Estado Cero", completamente encendido y operando), pasando por S3 ("estado tres" con memoria RAM alimentada, pero procesador y discos desactivados), hasta S5 ("Estado cinco", equipo apagado pero conectado a la red eléctrica). Esto es así pues el trabajo puede regularse a fin de ahorrar energía, y pasar del trabajo a un estado de ahorro, "suspendiendo" el sistema (S3), o "hibernándolo".

En primer lugar hemos de activar la función WoL desde la BIOS del equipo que deseamos encender remotamente. La BIOS es una memoria de configuración básica del sistema, a la cual este responderá incluso antes de cargar el sistema operativo. Normalmente, dicha configuración puede accederse encendiéndo el equipo y presionando inmediatamente de forma repetida la tecla Supr (Del) del teclado, o la tecla F2. Tras unos instantes se presentará la pantalla de configuración de la placa madre.

La opción Power on Lan suele encontrarse bajo la sección Power Management Setup ("Administración de Energía") del BIOS. De tal modo que nos desplazamos hasta ella y buscar la opción Wake on LAN. También puede llamarse Resume by PCI/PCI-e/LAN PME. Debemos dejarla en la función Activada (Enabled).
Adicionalmente, podrán contar en vuestra BIOS con diferentes estados de suspensión (S1, S2, S3, etc). A modo de ejemplo os diré que en la BIOS de mi motherboard ESC H57H-MUS, debo configurar las opciones de un modo en particular para lograr la mayor eficiencia. El tipo de suspención ACPI la configuro en S3 o Auto, y la función Resume by Ring (reactivar por módem o evento telefónico) queda desactivada (Disabled). Naturalmente la función Resume by LAN PME queda activada (Enabled), lo mismo que Resume by USB S3 (reactivar por medio de dispositivos USB, ratón o teclado). Una vez concluida los cambios en la configuracción, los guardamos mediante la opción Save Changes and Exit BIOS.

Una vez que arranque el sistema operativo GNU con Linux, hemos de conocer qué dispositivo de red deseamos utilizar para encender el equipo, y en particular su dirección única de hardware, llamada Dirección MAC.

Normalmente estos tomas el nombre Ethx, siendo la x un número que va ascendiendo desde 0 según tantos dispositivos LAN/Ethernet tengamos. El adaptador LAN/Ethernet integrado en la placa madre suele ser Eth0, pero si tenemos otro (como en las placas madres más avanzadas) podríamos encontrarnos con Eth1.

Para identificar ello fácilmente, podríamos abrir la terminal con Ctrl+Alt+T y tipear el comando ifconfig para saber a cual estamos conectados. Para conocer específicamente los dispositivos de conectividad y sus direcciones MAC, podremos ingresar el comando:

ifconfig | grep HW


Nos devolverá los dispositivos y la dirección de red de cada uno. Por ejemplo:

eth0      Link encap:Ethernet  direcciónHW aa:bb:cc:12:34:56
eth1      Link encap:Ethernet  direcciónHW 11:22:33:ab:cd:cd

Nos conviene tomar nota de la dirección MAC del equipo remoto, pues nos facilitará reencenderlo luego cuando no tengamos acceso directo a él.

Acto seguido, verificaremos que los dispositivos cuenten con la posibilidad de despertar al equipo. Para ello instalaremos el programa ethtool, encargado de dicho relevamiento: Tipeamos el siguiente Comando de Organización:

sudo apt-get install ethtool

Asumiendo que el dispositivo de red que queremos utilizar para despertar el equipo sea aquel identificado como eth0, usaremos el siguiente comando:

sudo ethtool eth0

....el sistema deberia devolvernos una serie de datos que hacen a la conexión de red a través del dispositivo eth0. En este caso, debería indicarnos:

Supports Wake-on: g

Wake-on: g


...esto nos indica que el dispositivo de red eth0 utiliza el modo G de conexión para Wake on LAN. En el caso que nos indicara otra letra, podríamos cambiar el modo operativo. Lo haríamos con:

sudo ethtool -s eth0 wol g

Una vez esto, podremos ya suspender o hibernar el equipo. Podremos hacerlo mediante la tecla especcial "sleep" del teclado, o mediante la función "Suspender" de Ubuntu. Si estamos en la consola, podremos hacerlo mediante la siguiente orden  

sudo pm-suspend

El 17 de octubre, si bien alguno intentó levantar puentes para impedir el paso de los obreros, poco pudo hacer. En este caso debemos aseguriar los mismo. En caso de usar un router con cortafuegos (firewall), habremos de liberar el puerto 9 UDP para que pueda enviarse la señal de encendido a través de la red, y no sea filtrada por el mismo. Esto se hace ingresando a la web de configuración del router (normalmente con nuestro navegador a la dirección IP del router 192.168.0.1 o 192.168.1.1). Luego en la sección de configuración "port forwarding" crearemos una nueva Regla de Excepción. En la misma, a través del protocolo UDP, para el puerto 9, filtraremos de forma universal (de manera que puedan emitir en dicho puerto todos los equipos de la red local) Con esto, el router dejará libremente pasar el suceso de activación al puerto 9 entre los equipos de la red local.
Eventualmente, podría hacerla específicamene para que la reciba una IP fija de un tipo de dispositivo en particular, o que sólo pueda emitir una IP en particular.

Ahora debo instalar un programa para generar el paquete mágico de encendido, y poder dispararlo a través del puerto 9 de la red. Ello debe hacerse en un equipo cliente distinto en la red local, que utilizaremos para encender al equipo remoto.

En el equipo local instalaremos el programa wakeonlan, por medio del siguiente comando de organización:

sudo apt-get install wakeonlan

Una vez instalado este breve programa, encenderemos el equipo remoto que habíamos suspendido, de la misma forma en que los obreros de la carne salieron a la calle en octubre del 45. Lo haremos con

wakeonlan Dirección_MAC_remota
Por ejemplo, en este caso sería:

wakeonlan  aa:bb:cc:12:34:56

Naturalmente, que para que el paquete de reencendido surta efecto, el equipo remoto ha de estar conectado a la red eléctrica, y ha de estar suspendido o hibernado. En el caso de usar Ubuntu, podremos usar la función Suspender, Hibernar del equipo remoto (si está activada). Esto será posible si tengo acceso físico al equipo.

¿Qué sucede si deseo suspender o hibernar el equipo remoto, pero no estoy a su alcance físico, pero si a través de una red? En tal caso deberia poder suspender o hibernar el sistema de forma remota, a través de la terminal. Para ello utilizaremos un enlace remoto (preferiblemente uno cifrado, a través de SSH). Una vez que me encuentro logueado al sistema remoto a través de la consola cifrada SSH, podria suspender el equipo remoto con:

sudo pm-suspend

También podría querer directamente hibernarlo, si me aseguro que el sistema funciona de forma adecuada, por medio de la siguiente orden:

sudo pm-hibernate

Ahora podría reencender abriendo un equipo cliente, y usando la orden Wakeonlan, por medio de la sintaxis:

wakeonlan dirección_mac_remota

...al recibir el paquete mágico, la fuente de alimentación se encenderá y se activará el sistema cual si fuese un 17 de octubre telemático. Al cabo de unos segundos (o minutos, dependiendo del estado de ahorro de energía q la velocidad de arranque del equipo remoto) deberíamos poder conectarnos de forma remota al equipo también a través de SSH o de otros protocolos que estuviesen activados en el mismo.

Si deseo reencender equipos remotamente al unísono desde la interfaz gráfica, puedo utilizar la aplicación gWakeonlan. Se trata de un software libre completamente simple, en el cual podremos incorporar el nombre y la dirección MAC de varios equipos en la red. Esto nos permite no tener que recordar la dirección MAC del equipo todo el tiempo.

Instalamos la aplicación con el comando:

sudo apt-get install gwakeonlan

Y la ejecutamos desde Sistema / Internet / gWakeOnLan. Al iniciar, la aplicación estará vacía.
 Tendré que presionar el botón "+" y surgirá un cuadro, que me permitirá ingresar la dirección MAC y el nombre del o los equipos que deseo encender y que se encuentren en la red local.
Una vez que aparezca el o los equipos en la lista, podemos seleccionar el equipo en cuestión, y enviarle el paquete mágico de encendido mediante el botón de los "engranajes" para reencenderlo, y arrancará a la primera como una moto Puma con arranque a patada.

Desde OpenWRT

Si utilizan un router peronista con firmware libre OpenWrt, bien podrán crear un paquete mágico para reencendido Wake On Lan, descargando una aplicación específica en la memoria del aparato. Una vez que gane acceso al ruteador (normalmente a través de vínculo cifrado SSH) podrán instalar el pequeño software etherwake. Lo harán por medio de los siguientes comandos de organización:

opkg update
opkg install etherwake


Una vez cargado, ya podremos utilizar al router como plataforma de reencendido: Lo haremos con:

etherwake -i eth0 -D Dirección_MAC_remota



Naturalmente, que con un poco de ingenio podríamos hacer más cosas, como preparar al router para que encienda o quite la suspensión los equipos no bien termine de arrancar, permitir al router el acceso externo a través de Secure Shell y por su intermedio reencender equipos en el área local desde otra locación (¡incluso en otro pais!), etc.

martes, 3 de febrero de 2015

¿Cómo reviso rootkits desde la Terminal en Ubuntu?

No siempre es necesario ser Conductor, y hay veces en las que conviene dejarse llevar. Por ejemplo, en esta ocasión, seré pasajero de un colectivo tranvía automotor, popularmente conocido como "bondi". Esto es así porque en ocasiones, disfruto de la seguridad que me da viajar como pasajero.

De la misma forma que en un colectivo, pocas cosas pueden hacerse en un sistema GNU con Linux si uno no es Conductor. Esto es así porque el sistema otorga al usuario común y corriente poca capacidad para cambiar lo establecido, y es quien lo conduce, el llamado root, quien controlará a fondo el sistema.

La malevolencia de una sinarquía sin Patria ni Bandera hará todo - no obstante - para perjudicarnos. Y para ello habrá de contar los los permisos de root y su acceso. En un sistema potente como el GNU, lo podrán hacer preferentemente a través de un inadvertido Rootkit.

Este tipo de programas, o secuencias, guiones de programación, etc, están pensados para hacer uso de alguna vulnerabilidad específica y la confianza del usuario para ganar acceso como Conductor (root) en un sistema.

Para analizar en el equipo local la existencia de alguno de estos escasos rootkit de Linux, podremos utilizar la conocida rutina chkrootkit. La misma se encuentra diseñada para buscar las trazas que tienen las los rootkits conocidos de Linux.

Si tengo una versión actualizada de Linux, simplemente puedo hacer:

sudo apt-get install chkrootkit

y ejecutarlo con:

sudo chkrootkit

Si en cambio tuviese alguna versión más antigua que no cuente con el paquete actualizado, habré de descargar su código fuente, compilarlo y ejecutarlo. Para todo ello podremos utilizar la terminal. Abrimos una con Ctrl+Alt+T e ingresamos:

cd ~/Descargas/
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

tar xvzf chrootkit.tar.gz

Y luego lo compilamos con:

cd Descargas/chkrootkit-0.50/
make sense
sudo ./chkrootkit

También podría probar con rkhunter, otra aplicación del mismo estilo:

sudo apt-get install rkhunter

A continuación será práctico actualizarlo con la orden:

sudo rkhunter --update

Y le daremos ejecución con:

sudo rkhunter --check


Esto ejecutará una serie de tests, que nos permitirán alertar de ciertos peligros del sistema (si existiesen).

Una vez terminados, podremos ver el resultado en un log con el comando:

sudo less /var/log/rkhunter.log

Este nos advertirá las amenazas y los recaudos que podremos tomar (de ser necesario) para incrementar la seguridad al conducir nuestro sistema Justicialista.

martes, 20 de enero de 2015

¿Cómo instalo un software de gestión de proyectos en Ubuntu?


Vean señores, al asumir la secretaría de trabajo y previsión, me encontré que debería enfrentar una tarea descomunal. Durante años la Argentina había hecho avances en materia legislativa, pero las leyes no se cumplían pues no había un organismo que hiciera cumplir la Ley del Trabajo.
Recuerdo que lo primero que hice fue definir un plan de trabajo en el cual lo inicial y obvio era identificar el principal problema económico. En nuestro país lo constituia la informalidad del trabajo, con amplísimos sectores fuera de los mas rudimentarios derechos. De todos ellos el más representativo era el campo argentino.

Identificado el problema, me puse en acción. Llamé a una ronda por radio y dije "el peón, que ha sido hasta ahora una forma disimulada de la esclavitud, será suprimido. Eso se acabó. Aquél que no pueda pagar a su peon deberá vender su campo, pues un peón ha de recibir un salario que esté de acuerdo a sus necesidades de vida. Una vida digna, una vida al que no le sea ajeno ese mínimo de felicidad al que todos aspiramos". Al princpio hubo alguno que quiso quejarse, pero después todos terminaron pagando, pues sólo un tonto sería capaz de vender su campo para no pagar un salario como corresponde.

Pero no solo el campo, múltiples sectores económicos se manejaban con informalidad, y nadie hacía nada. Por tanto, consabidos los requerimientos, mediante nuevo discurso y acción disciplinadora, corregimos eso. Cuando se abrió ese galpón, vimos que salían vivos por todos lados. Dije entonces que la fábrica, la mina, el obraje, el molino, y cualquier establecimiento que se encuentre fuera de las leyes del trabajo no podía gozar de ninguno de los beneficios que concedía el Estado. Debían ser tratarlos como enemigos sociales. Ni nosotros, ni la masa trabajadora argentina iba a tolerar ese estado de cosas.

Y así en brevísimo tiempo corregimos un comportamiento pernicioso que no hacía sino carcomer al país que trabajaba. ¿Cómo hice esto? Pues mediante una ingeligente planificación de la acción. Y para la Conducción, nada mejor que un software libre que la asista.

Gnome Project Planner es un software de adminsitración de proyectos de tipo de escritorio. Como tal, está pensado para coordinar una serie de trabajos complejos, asignar recursos a los mismos, y ayudar a ingeniar la mejor manera de darle término. Es lógico que utilizándolo podrá facilitarse la solución a cualquier proyecto en beneficio del país.

Como la mayoría de las aplicaciones iniciales de la suite Gnome, se trata de una aplicación GTK+ escrita en C y liberada bajo licencia GPLv2. Permite exportar a ficheros HTML para ver los resultados fácilmente en cualquier navegador.

Su instalación es muy simple: abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt-get install planner

Para iniciar el programa, vamos a Aplicaciones / Oficina / Gestión de Proyectos.


Se trata un un programa que sigue la línea de la mayoría de los del género, y tendiente a la simplicidad. Es capaz de mostrar la gŕafica de Gantt para las tareas. También la WBS, o Estructura de Repartición de Trabajo, que define las las tareas a realizar y las desglosa.

En este término he de decir que la mejor manera de introducir los datos es definir los elementos de las tareas en Objetivos o Resultados y no acciones de trabajo individualizadas (tal vez muy tediosas). Esto asegura que la WBS no sea excesivamente descriptiva de métodos de acción, y que en cambio permita mayor ingenio y pensamiento creativo en los participantes del proyecto.

Será ideal para un proyecto sencillo o medianamente complejo, que pueda ser gestionado por un único usuario.

Por medio de la agrupación y división de tareas, asignación de recursos humanos y materiales a las mismas, se puede comprobar la acción de la fuerza del trabajo. También gracias a las gráficas, podremos de manera sencilla preveer y evitar los posibles tiempos muertos del proyecto.



Un software de excelencia en este estilo es Project Libre. Este paquete está escrito en Java y por lo tanto habremos de contar con dicha máquina instalada en nuestro sistema, lo que lo hace algo lento en su ejecución pero nos da la ventaja de contar con una herramienta multiplataforma (dable de ejecutar bajo gran cantidad de sistemas operativos diferentes).

Para instalarlo podemos abrir una terminal con Ctrl+Alt+T y copiarle los siguientes Comandos de Organización:

wget http://sourceforge.net/projects/projectlibre/files/ProjectLibre/1.5.9/projectlibre_1.5.9-1.deb

sudo dpkg -i projectlibre_1.5.9-1.deb


Tas completar su instalación podremos ejecutarlo Lo encontraremos en Aplicaciones / Oficina / Project Libre o lo buscamos con el Dash de Ubuntu si usamos Unity.


Project Libre cuenta con una interfaz depurada, y botones de aceeso,, con un esquema de trabajo similar a Planner, pero con mayor capacidad para hacer un seguimiento más pormenorizado de la acción.

viernes, 16 de enero de 2015

¿Cómo configuro mi router Netgear a través de la Terminal Linux?

Juan Perón fue un eximio docente de historia militar, cuya enseñanza continuó una vez abandonado el gabinete. El diario La Prensa documetna que el 2 de junio de 1953, en ocasión de inaugurar el Curso de Coroneles en la Escuela de Guerra, el Conductor desempolvó su sapiencia para extenderse ante la concurrencia con una anécdota y la enseñanza sobre cómo habilitar y utilizar el acceso Telnet de los router Netgear a través de un sistema GNU con Linux.


(...)
Estimados oficiales,

Se cuenta que en las postrimerías de la Guerra de los Cien Años, el ejército de Enrique VI a las órdenes de Talbot, logró hacerse con la Gasconia. Los frenaba el imponente castillo amurallado de Burdeos. Su portentosa obra no era moco de pavo; instalada en un monte de paso que lo hacía comandero de todo la zona, aseguraba una guarnición capaz de batir al más pintado. Las tres puertas de la plaza estaban protegidas por seis torres, fortines, muralla almenada, empalizada y fosa, lo cual lo hacian inexpugnable. Indudablemente que en esa época, vencer su sitio hubiesen requerido meses de acampe con varios cuadros regimentados y máquinas de asedio para hambrear a sus ocupantes, todo con un costo que . imaginarán - no eran chirolas.

El castillo guardaba - sin embargo - un secreto de zonzo, que no tardó en llegar a los poco limpios oidos ingleses: una zarza de ligustro que las décadas habian dejado pegarse a la traza del muro, ocultaba un pequeño portalón de entrada a un establo de maestranza. Haciendo las gestiones necesarias y pagando unos poco talones en oro a los traidores que siempre existen, los ingleses pudieron hacerse con la llave. Cuando la guardia quiso advertirlo era tarde, pues las partidas de asalto se apoderaron de la plaza entera la noche de un 17 de octubre, pero del buen año de 1452.

Todo individuo ha de saber que en la ofensiva mas vale maña que fuerza. Y en la defensivaa podemos concluir que no debemos dejar bajo ningún aspecto una puerta trasera al alcance del enemigo.

Vean señores, como en la vieja historia de los conflictos, la telemática viene también a recordarnos este viejo adagio. No es secreto para nadie que la internet ha de compartirse entre los miembros de un grupo familiar, pues cada hogar ha de contar con múltiples dispositivos que haga uso de ella.

Hemos de saber que muchos routers Netgear están programados de fábrica para poder conectarnos a través de una terminal empleando el protocolo Telnet, pero dicha opción se mantiene oculta y no documentada por su fabricante. Al usuario se lo considera neófito, y se le provee una interfaz web de configuración limitada.


En este caso, os diré que cuento con un router Netgear WRT614v7, aparato que sigue esta tipología. También sirve con muchos routers Netgear de la serie WRG, WND, WNR, WPN, y DGN.
PUESTA A PUNTO INICIAL DEL ROUTER NETGEAR
Si ya contamos con el router con acceso a internet configurada, podremos pasar de esta explicación.

Pero si no fuese así, hemos de saber que para conectarlo, el fabricante recomienda emplear su propia interfaz web limitada de configuración, a la cual accedemos utilizando un navegador gráfico como Chromiun, Firefox, etc. En el campo de Dirección URL del navegador tipeamos la dirección IP del router (normalmente 192.168.0.1, 10.0.0.1 o 192.168.1.1) y presionamos Enter. El navegador contactará al router y desplegará rápidamente una ventana que nos solicitara un usuario y contraseña para la web limitada de administración. En el caso de que nuestro router tenga la configuración de fábrica, debemos ingresar usuario admin y contraseña password, o bien en ambos campos "admin" (en minúsculas, sin las comillas), y presionar Continuar: nos aparecerá la web limitada de configuración (la cual realmente se encuentra embutída dentro de la memoria del router, y se encarga de su gestión básica):
Lo ideal para configurar inicialmente el router es hacer clic en "Setup Wizard" (o "Asistente de Configuración"), una rutina que os permitirá detectar y semiautomatizar el proceso de puesta a punto de una conexión compartida a internet, y la configuración de un punto de acceso inalámbrico (WiFi protegido por contraseña). Os recomiendo seguir este procedimiento de forma inicial, pues nos permitirá conocer sin demasiada vuelta si tenemos internet en otro dispositivo módem, establecer una red LAN cableada que la comparta, y otra red inalámbrica WLAN, nos permitirá conectarno inalámbricamente, en fin, todas las tareas para las que queremos a un router convencional.

Debemos asegurarnos de conectarnos al router, ya sea de forma inalámbrica como cableada, y que la conexión funcione adecuadamente.

INCONVENIENTES Y LIMITACIONESDE LA WEB CONFIGURACIÓN DE FABRICA
Hemos dicho que la web limitada de configuración facilita la tarea al neófito, y parecería que rara vez deba ser utilizada nuevamente una vez que el sistema ha sido puesto a punto.

Sin embargo caballeros, un militar ha de saber para preveer. ¿Qué sucedería si existiese una entrada secreta inadvertida a retaguardai de nuestro router? ¿Como actuamos si deseamos configurar nuestro router Netgear, pero no tenemos acceso gráfico y debemos hacerlo desde una ignota Terminal Linux y no podemos reemplazar su firmware por uno libre? ¿Qué sucedería si deseamos cambiar aspectos de un router que no están disponibles en la web limitada de control?

Han de saber que no todo lo que reluce es oro, y el Netgear en ciertos casos suena a latón cuando lo picamos con el dedo. La gente de Netgear ha dejado una trampa: una puerta trasera capaz de conectarse a través del protocolo Telnet y la misma puede emplearse para administrar el router, pero tambien podría deparar cierto peligro de seguridad.

Por tal motivo, es imperativo no sólo conocer sobre esta puerta, sino en lo posible cerrarla para quien tenga dominio de ella sea sólo el usuario propietario. Recuerden que el Capital se plantea ante todo Ganancia, y nunca obrará en favor del Pueblo, como si lo hace el Justicialismo.

La puerta trasera nos permitirá dar un una burda pero potente interfaz de comandos, la cual nos permitirá configurar parámetros no disponibles en la limitada Interfaz Web.

DESCUBRIENDO LA PUERTA TRASERA TELNET DEL NETGEAR WRG614

En primer lugar necesitamos contar con dos datos básicos del router Netgear al que deseamos ingresar: la dirección IP del router y la dirección MAC de su red LAN. Una forma sencilla de conocer dichos datos es a través de la web limitada de configuración. Seleccionamos Router Status y consultando el apartado LAN Port tomaremos nota de la IP address y la MAC Address. Con respecto a esta última, sepamos que es única para nuestro dispositivo, y tendrá un formato de 12 caracteres hexadecimanles separados en grupos de 2 cifras, como por ejemplo 5c:13:0a:c4:e2:eb. En este caso, será importante tomar nota de la dirección MAC de nuestro router sin usar los ":" y con sus letras en mayúscula. En este caso de ejemplo, usaremos 5C130AC4E2EB.
Acto seguido preparar nuestro equipo cliente con las herramientas requeridas. Para ello abrimos unaConsola con Ctrl+Alt+T e ingresamos el siguiente Comandos de Organización:

sudo apt-get install nmap python-crypto telnet

...el sistema nos solicitará nuestra contraseña de Conductor de Ubuntu, y una vez provista, instalará dichos programas.

Tras esto, debemos revisar si nuestro router Netgear tenga efectivamente la puerta trasera accesible por protocolo Telnet. Normalmente en la mayoría de los casos (como en el modelo WGR614) se encuentra en el puerto de conexión de red número 23, pero podría variar. Para saberlo utilizamos nmap llamándo a la dirección IP del router para conocér qué puertos de conexión de red están abiertos. Normalmente esto se hace con:

nmap 192.168.0.1

Tras unos segundos el router nos contestará qué puertos tiene abiertos. Si la puerta trasera Telnet existe, aparecerá algo como:

Nmap scan report for 192.168.0.1
Host is up (0.027s latency).
Not shown: 997 closed ports
PORT     STATE    SERVICE
23/tcp   open     telnet
80/tcp   open     http
8080/tcp filtered http-proxy


Ahora bien, dicha puerta trasera Telnet ha de abrirse con una llave específica armada para nuestro router particular, que hemos de crear. Para ello debemos utilizar la dirección IP del Router, y la dirección MAC del adaptador LAN del mismo, asi como un usuario y contraseña secretos reservados para la gente de Netgear: el usuario Gearguy y la contraseña Geardog.

Para preparar la llave podremos emplear la terminal, ingresando el siguiente bloque de comandos:
 
mkdir ~/.activatelnet-ng/ ;
cd ~/.activatelnet-ng/ ;
wget http://netgear-telnetenable.googlecode.com/files/netgear-telnetenable-0.1.zip ;
unzip netgear-telnetenable-0.1.zip ;

rm ~/.activatelnet-ng/netgear-telnetenable-0.1.zip ;
cd ~ ;
nano ~/paqllave.sh ;

...estos comandos crearán una carpeta con el software necesario y abrirá el editor de texto Nano con un archivo en blanco llamado paqllave.sh. En él pegaremos el siguiente código de ejemplo:

#!/bin/bash
# paqllave.sh
# Genera paquete-llave para abrir la consola Telnet oculta del router Netgear.
# Ej: telnetenable.py [ip_router] [mac_router] Gearguy Geardog]

python ~/.activatelnet-ng/telnetenable.py 192.168.0.1 5C130AC4E2EB Gearguy Geardog

Naturalemten, cada uno de ustedes habrá de modificar el texto de ejemplo provisto con sus propia dirección IP del router y dirección MAC.  Una vez hecho ello, guardarán el fichero y saldrán de Nano presionando Ctrl+O (Enter) y Ctrl+x respectivamente, y al volver a nuestro prompt, le damos permisos de ejecución con:

cd ~
chmod +x paqllave.sh

Notarán que le hemos proporcionado la dirección IP del router (192.168.0.1, también se podría usar 10.0.0.1), y le hemos proporcionado el usuario/contraseña "secreto" reservados de Netgear (usuario Gearguy, contraseña Geardog, con mayúsculas en sus primeras letras).

Para usar la llave, tipeamos:

./paqllave.sh

Si el aparato responde, debería indicarnos algo como Sent telnet enable payload to '192.168.0.1:23'. Una vez usada la llave, podremos abrir la puerta a traves de nuestra Terminal.

En vista de accionar para libertar, usamos el protocolo Telnet y nos conectamos a la dirección IP del router:

telnet 192.168.0.1

...si la comunicación funciona, el aparato nos enviará la siguiente pantalla de la terminal Telnet:

...Trying 192.167.0.1
...Connected to 192.168.0.1.
Escape character is '^]'.
Login:


Cuando nos pida Login, ingresamos a la Consola del router mediante el usuario Gearguy y la contraseña Geardog. Una vez dados de alta, se nos mostrará un prompt como:

U12H06400>


Si no pudiésemos loguearnos y apareciera el indicador "Connection closed by foreign host" nos aseguramos de cerrar la interfaz web de administración, o bien emplear una conexión cableada para mayor estabilidad.

Hemos de saber que el protocolo Telnet, si bien enormemente útil y popular, no es un seguro pues carece de encriptación y es dable a ser interceptado. Por tal motivo, el primer paso mínimo de seguridad, consiste en cambiar la contraseña Geardog del usuario "secreto" Gearguy. Esta contraseña no guarda relación con la contraseña de la interfaz web limitada de configuración que tiene el router. Para cambiar la contraseña del usuario Gearguy de la consola Telnet,  ingresamos:

passwd

...el router nos solicitará la contraseña actual (introducimos "Geardog") y podremos ya ingresar una nueva con su confirmación:

Current Password for Gearguy: Geardog
New Password: **************
Confirm Password: **************
Password changed.


...Ahora al menos la sesión oculta Telnet habilitada para "Gearguy" tendrá una contraseña diferente.

Una vez asegurado este paso, podremos con cierta confianza realizar algunas tareas dentro del router a través de la Terminal. Las configuraciones se harán ingresando comandos de texto y sus variables.

Si tipeamos "?" se nos mostrará los comandos generales que podemos ejecutar.

bridge         ddns           exit           ftpc           ip             lan            nat            passwd         pot            reboot         save           show           sntp           time           uptime         version        wan            web            wla 

Es importante saber que mientras algunos comandos son del tipo directo (sin variables), otros pueden estar escalonados en subcomandos mas complejos o potentes. Si tipeamos ? subcomando, se nos mostrará una descripción y la sintaxis que usa dicho comando.

Por ejemplo ? reboot nos mostrará una pequeñá referencia de dicha orden, utilizada para reiniciar remotamente el router.

Por ejemplo, si tipeamos el comando version nos devolverá la versión del firmware y del hardware, mientras que uptime nos indicará el tiempo que el aparato lleva encendido en la sesión actual. Como se ha dicho, para reiniciar el router podríamos usar el comando reboot (tengamos en cuenta que además de reiniciar el router, se volverá a cerrar la puerta trasera Telnet, de modo que ello requeriría volver a utilizar el paquete-llave antes de poder volver a ingresar al router usando Telnet).

El comando web es un ejemplo de comando "complejo" que permite ajustar la configuración de la interfaz Web de configuración del router Netgear..

Al tipear este comando, subiremos un nivel en la estructura de árbol de comandos y el prompt cambiará a > (como si de un directorio se tratase). Si volvemos a solicitar listado de directorio con ?, se nos mostrarán los subcomandos simples username y passwd. Si ingresamos dos puntos (..) volveremos al nivel anterior.

Los comandos complejos nos permiten trabajar de forma un poco más específica. Por ejemplo, a través de esta orden web y sus subcomandos, podríamos cambiar el nombre de usuario y la contraseña que tendrán la interfaz de configuración web del router (aquella accesible a través de un navegador apuntando a 192.168.0.1). En este router Netgear WRT 614v7, el usuario y la contraseña son "admin/password", y si bien través de la web de configuración del router podemos cambiar la contraseña por otra, no podemos cambiar el nombre de usuario, el cual siempre es admin. Sin embargo, el Justicialismo nos permite algo más de seguridad, pues a través de la Terminal Telnet podremos modificar ambos usando la sintaxis de comando complejo. En tal caso, podríamos modificarla con:

web username peron
web passwd mongoaurelio


...una vez ingresados dichos usuario/contraseña, podremos asegurarnos que estén bien almacenados en la memoria del router. Con web username debería indicarnos el usuario y con web passwd la contraseña que se nos solicitará. Indudablemente, es un comando útil si deseamos reforzar la seguridad de nuestra red, o incluso si debemos ingresar a la web de configuración de un router Netgear y no tenemos la contraseña de administrador.

sntp es otro ejemplo de comando complejo: nos permite controlar el reloj de tiempo real del router, configurando una dirección IP de un servidor de hora universal y nos permite elegir un huso horario. Por ejemplo, para ponerlo en hora en la Argentina (huso horario GMT-3), podriamos usar las órdenes:

sntp server 206.16.42.153
sntp timezone -3
sntp gettime


El comando save nos permite aplicar los cambios que realizamos en la memoria EEPROM del router, para protegerlos contra un reinicio del sistema.

El comadno exit nos permite salir de la terminal Telent del usuario Gearguy y volver a la Terminal de nuestro Ubuntu. Podríamos aprovechar para usar el comando

nano ~/paqllave.sh

...y modificar definitivamente dicho archivo, reemplazando la vieja contraseña Geardog por aquella con la cual la hemos reemplazado. Luego podremos volver a conectarnos tipeando telnet ip_del_router.

Con el comando show podremos solicitar una serie de opciones de gestión. Al ingresarlo nos aparecerá el prompt

show>
...y en él podremos ingresar la variable que querramos analizar, las cuales se listan con "?".

arp            flashShow      icmp           inet           interface      ip             mbuf           mem            mroute         netpool        route          routestat      stack          task           tcp            ud

Si estamos en el nivel show, podríamos ingresar el comando mem para que nos liste un detalle de uso de los 32 MB de memoria RAM incorporados en el router. Si quisieramos podríamos volver al nivel anterior tipeando "..".

show tcp nos muestra un detalle de las conexiones de internet a través de los convencionales paquetes, lo cual nos puede informar sobre conexiones exitosas o falladas. show udp nos muestra ese tipo de paquetes.

show task en cambio nos lista las tareas que está ejecutando el router en este momento.

WAN
El menu wan nos permite acceder a las configuraciones de la conexión a intenret del router. Normalmente el acceso del router al exterior suele manejarse a través de una plataforma automática de cliente DHCP que al establecer conexión con nuestro proveedor de internet (a través de un cablemódem o un suscriber, por ejemplo) le solicitará el alta de una dirección IP temporal (dinámica) para sí mismo, la cual el servidor DHCP del proveedor contestará afirmativamente y asignará.

Otros proveedores de internet utilizan un sistema de conexión por sesión de usuario con contraseña, llamado PPPoE (que puede tener IP fija o dinámica).

El primer caso suele ser el más extendido, por lo que wan dhcpclient show nos muestra la configuración actual de intenet, con todos los parámetros y si han sido detectados correctamente por el router, no deberían modificarse.


Si necesitásemos solicitar una nueva IP dinámica a nuestro proveedor de internet, podríamos hacerlo con wan dhcpclient renew para renovarla. El router se encargará de los reruteos necesarios.

LAN
El comando lan nos permite revisar amplias opciones, pues cuenta con varios niveles que podemos explorar y utilizar.

Dentro de menú lan, la opción dhcpserver es una de las funciones de gestión de red más apreciada, pues cuenta con una variedad de opciones de gestión general de la conexión y administración de ruteo para los dispositivos conectados.

Si estamos en la raíz podríamos usar lan dhcpserver status para que nos devuelva el estado actual de la conexión con los diferentes dispositivos que tengamos conectados al router.

lan dhcpserver dns nos permite configurar los DNS del router, por ejemplo podríamos utilizar los clásicos DNS de Google con el comando:

lan dhcpserver dns 8.8.4.4 8.8.8.8

Uno de los casos específicos de ruteo que podríamos resolver es el de asignar una IP estática a un dispositivo en particular que genere conflictos o que deba quedar fijo en la red (por ejemplo, una impresora compartida en red, o un Smart TV que no pueda cambiar la IP). Para ello debemos conocer la dirección física MAC del dispositivo, y agregarla al listado de direcciones IP estáticas reservadas, con el comando que incluya todo. Suponiendo una dirección MAC y una dirección IP estática de ejemplos, podríamos usar esta sintaxis:

lan dhcpserver reserveip add 00:11:22:33:44:55 192.168.0.106

...de esta forma, toda vez que el dispositivo con la dirección MAC 00:11:22:33:44:55 solicite una IP, el router le asignará la dirección IP estática 192.168.0.106.

Si quisiéramos ver qué dispositivos tienen reservada su IP estática en nuestro router podríamos hacer:

lan dhcpserver reserveip show

Y nos mostraría:

1. 00:11:22:33:44:55   192.168.0.106

lan dhcpserver pool nos permite definir una serie de direcciones IP dinámicas que el router asignará de manera aleatoria o en orden a los dispositivos de red que se conecten a el. Pueden ser hasta 255 valores en la red, pero como recomendación y para evitar conflictos, os recomiendo configurarla para que no tenga más de 40 posibilidades (en todo caso, no deberíamos poder conectar más que esos dispositivos en un router hogareño). Por ejemplo, podríamos utilizar:

lan dhcpserver pool 192.168.0.010 192.168.0.050

WIFI LAN (WLAN)
El comando complejo wla se encarga de las configuraciones del punto de acceso wifi, en el cual podemos revisar con get, y cambiar sus múltiples parámetros con set.

La lista de configuraciones para el punto de acceso inalámbrico, a diferencia de lo que permite la web de configuración oficial, es enorme, podremos acceder a funcionalidades "ocultas" del router Netgear WRG614.

Con wla find channel, que busca entre los 11 canales WiFi al que esté más libres, y se recomienda establecer la conexión en el mismo con wla set channel xx.

wla get operationmode nos muestra el modo operativo actual, pero podremos optar por nuevos a traves de wla set opereationMode. Las opciones que tendrá este comando son ap (punto de acceso) sta (sólo cliente), wbr (puente) o repeater (repetidor).

El modo repetidor toma la señal de radio de la banda wifi y simplemente la amplifica, repitiendo la señal existente. Sirve para ocasiones donde deseamos esclavizar el router como repetidor da un segundo router.

wla get remoteWbr nos lista los routers puentes que pudiese tener adosados remotamente la unidad, mientras que wla add remoteWbr agrega uno remoto.

Usar el Router como extensor, usando Modo Bridge ("Puente")
Como he explicado, a través de la consola podremos activar una función que directamente no se haya disponible a través de la limitada web de configuración oficial. Se trata del Modo Bridge (Puente).

Esto nos permitirá, si tenemos un poco de conocimientos, realizar actividades de ingeniería y pontonado, como emplear el Netgear 614 como "extensión Wifi" hacia otro router maestro. De esta manera y sin recurrir a un cableado físico que los una, podremos aumentar con dos routers el alcance de nuestra red inalámbrica, y emplearlo como un simple repetidor.

En este ejemplo, utilizaremos un router Linksus WRT120 como router "Conductor" conectado a internet, y el router Netgear como su extensión.

Para facilitar las cosas podremos realizar parte de las configuraciones preliminares en parte la interfaz de configuracion Web Limitada del router Netgear. Una vez en ella, iremos a la opción Wireless Settings y configuraremos el mismo nombre de red inalámbrica (Name SSID) y Canal (Channel) que el router principal. Durante la configuración apagaremos la encripción de clave para evitar problemas. Luego podremos utilizar encripción WEP de 128 bits (pues los modelos más avanzados como WPA2 no funcionan). En el apartado LAN IP Setup, sección en apartado LAN TCP/IP Setup buscamos la sección IP Address.

Le configuramos una dirección IP en la misma subred, pero por fuera del rango habilitado por el primer router. Por ejemplo, si el router principal tuviese la IP 192.168.1.1 y asigna entre decimales 10 y 50, podríamos ponerle al router Netgear en 192.168.1.100. Guardamos los cambios haciendo clic en el botón Apply de la interfaz web limitada, y una vez que se complete la barra de progreso, presionamos Logout.

Atentos a los cambios realizados, editaremos con Nano el archivo paqllave.sh del equipo cliente acordemente para modificar la nueva IP del router Netgear a la que corresponda. Apagamos el router "amo" y encendemos el router Netgear, y nos conectaremos a él de manera inalámbrica.

Los comandos a apiicar en la terminal para configurar el router Netgear serían los siguientes:

paqllave.sh

Un vez activada la llave, nos conectamos

telnet 192.168.1.100

Nos damos de alta con el usuario Gearguy y la contraseña que corresponda, e ingresamos los siguientes comandos:

wla
set remoteAp [dirección MAC del router amo]
add remote Wbr [dirección MAC del router amo]

(Nota: la dirección MAC de los routers Linksys está anotada en una etiqueta en tu parte inferior, ej: 0a:1b:2c:3d:4a:5b)

set oper wbr
set wds enable
..
lan dhcpserver disable
save
reboot

Luego en el router principal Linksys, podremos reservarle la dirección MAC del router Netgear en la IP 192.168.1.100.

Como vemos, las posibilides son muy amplias para continuar utilizando el pequeño router blanco, el cabeza negra del Justicialismo.

La lista entera de comandos del menú telnet wla (inalámbrico) es muy extensa. Es:

 add remoteWbr    -- Agrega un Puente inalámbrico remoto.
 config wlan      -- Configura la wlanX
 config virtualap -- configura un punto de acceso virtual
 config bss       -- configura bss
 connect bss      -- conecta a un bssX
 del acl          -- Borra la lista de COntrol de acceso
 del key          -- borra clave de encripción
 del remoteWbr    -- Borra un puente inalámbrico remoto
 find bss         -- Encuentra BSS
 find bssPassive  -- Encuentra BSS con scan pasivo
 find channel     -- Busca canales disponibles
 find all         -- Busca todos los BSS
 format           -- Formatea el sistema de archivos
 bootrom          -- Actualiza imagen ROM de inicio
 ftp              -- Actualiza Software via FTP
 get 11gonly      -- Muestra disp. sólo 11g
 get 11goptimize  -- Muestra nivel optimiz 11g
 get 11goverlapbss   -- Muestra protección acaballamiento BSS
 get abolt        --
 get acl          -- Muestra listas de ptos. de acc.
 get aging        -- Muestra intervalo de Periodo de tiempo
 get antenna         -- Muestra diversidad de antena
 get association     -- Muestra tabla de asoc.
 get authentication  -- Muestra tipo de autenticación
 get autochannelselect    -- Muestra autoselección de canal
 get beaconinterval       -- Muestra intervalo de baliza
 get burstSeqThreshold    -- Muestra máximos frames x Ráfaga
 get burstTime            -- Muetra tiempo de ráfaga
 get cacheperf       -- Muestra contador de performance de caché
 get calibration     -- Muestra interferencia y offset
 get cckTrigHigh     --
Muestra Higher Trigger Threshold for CCK Phy Errors for ANI Control
 get cckTrigLow      --
Muestra Lower Trigger Threshold for CCK Phy Errors for ANI Control
 get cckWeakSigThr   --
Muestra ANI Parameter for CCK Weak Signal Detection Threshold
 get channel         -- Muestra radiocanal activo
 get cipher          --
Muestra cifrado de encripc.
 get config          -- Muestra configuración actual
 get countrycode     --
Muestra código de pais
 get ctsmode         -- Muestra
modo CTS
 get ctsrate         --
Muestra indicie CTS
 get ctstype         --
Muestra tipo CTS
 get domainsuffix    --
Muestra el sufijo del serv nombre de dominio
 get dtim            --
Muestra Data Beacon Rate (DTIM)
 get enableANI       --
Muestra control adaptable de inmunidad a inferferencia On/Off
 get encryption         -- Muestra modo de encripc.
 get extendedchanmode   -- Muestra modo de canal extendido
 get firStepLvl         --
Muestra ANI Parameter for FirStepLevel
 get fragmentthreshold  --
Muestra Fragment Threshold
 get frequency          -- Muestra radiofreq (MHz)
 get gateway            -- Muestra la IP Gateway
 get groupkeyupdate     --
Muestra intervalo de actualizacion Group Key (segs)
 get hardware           -- Muestra datos del hardware
 get hostipaddr         --
Muestra dirección IP del Host
 get interVF            --
Muestra Inter Vap Forwarding State
 get intraVF            --
Muestra Intra Vap Forwarding State
 get ipaddr             --
Muestra dirección IP
 get ipmask             -- Muestra
IP máscara de subred
 get jsw                --
Muestra modo Jumpstart
 get jsP2PassPhrase     -- Muestra JS-P2 passphrase
 get key                --
Muestra Encryption Key
 get keyentrymethod     --
Muestra Encyrption Key Entry Method
 get keysource          --
Muestra Source Of Encryption Keys
 get login              --
Muestra Login User Name
 get minimumrate        --
Muestra Minimum Rate
 get nameaddr           --
Muestra IP address of name server
 get noiseImmunityLvl   --
Muestra ANI Parameter for Noise Immunity Level
 get ofdmTrigHigh       --
Muestra Higher Trigger Threshold for OFDM Phy Errors for ANI Control
 get ofdmTrigLow        --
Muestra Lower Trigger Threshold for OFDM Phy Errors for ANI Control
 get ofdmWeakSigDet     --
Muestra ANI Parameter for OFDM Weak Signal Detection
 get operationMode      --
Muestra Modo de Operación actual
 get pktLogEnable       --
Muestra Packet Logging Mode
 get power              --
Muestra conf. de Potencia de Transmisión
 get pvid               --
Muestra the VLAN Tag
 get radiusname         --
Muestra RADIUS server name or IP address
 get radiusport         --
Muestra RADIUS port number
 get rate               --
Muestra Data Rate
 get reg                --
Muestra the register contents at the given offset
 get remoteAp           --
Muestra la dirección MAC del Pto. Acc. Remoto
 get reset              -- Muestra numero de Resets
 get remoteWbr          -- Muestra los Puentes Wireless remotos configurados
 get hwtxretries        --
Muestra HW Transmit Retry Limit
 get swtxretries        --
Muestra SW Transmit Retry Limit
 get rogueAPDetect      --
Muestra Rogue AP Detection Mode
 get rtsthreshold       --
Muestra RTS/CTS Threshold
 get shortpreamble      --
Muestra Short Preamble Usage
 get shortslottime      --
Muestra Short Slot Time Usage
 get sntpserver         --
Muestra SNTP/NTP Server IP Address
 get softwareretry      --
Muestra Software Retry
 get ssid               --
Muestra Service Set ID
 get ssidsuppress       --
Muestra SSID Suppress Mode
 get active             --
Muestra Active (up) Mode
 get station            --
Muestra Station Status
 get counters           --
Muestra Tx/Rx Counters
 get SuperG             --
Muestra SuperG Feature Status
 get systemname         --
Muestra Nombre de sistema de Pto.Acc.
 get tzone              --
Muestra config. zona horaria
 get updateparam        --
Muestra Vendor Default Firmware Update Params
 get upsd               --
Muestra modo UPSD
 get uptime             --
Muestra tiempo encendido
 get vaps               --
Muestra nro de Ptos de Acceso virtuales
 get vlan               --
Muestra VLAN Operational State
 get watchdog           --
Muestra modo Watchdog
 get wds                -- Muestra modo WDS
 get wirelessmode       --
Muestra modo WLAN
 get wmm                --
Muestra Modo WMM
 get wmmParamBss        --
Muestra WMM parameters used by STA in this BSS
 get wmmParam           --
Muestra parámetros WMM de este Pto.Acc.
 get usrp               --
Muestra prioridad de usuario
 get wlanstate          --
Muestra status wlan
 get xrpoll             --
Muestra XR poll
 get xrbss              --
Muestra XR Bss Info
 get xrFragmentThreshold            --
Muestra XR fragment threshold
 help                   --
Muestra lista de comandos
 ping                   -- Ping
 pktLog                 -- Packet Log
 reboot                 -- Reiniciar el punto de acceso
 run                    -- Run command file
 quit                   -- Sale
 exit                   -- Sale
 set 11gonly            -- Set 11g Only Allowed
 set 11goptimize        -- Set 11g Optimization Level
 set 11goverlapbss      -- Set Overlapping BSS Protection
 set acl                -- Set Access Control List
 set aging              -- Set Aging Interval
 set antenna            -- Set Antenna
 set authentication     -- Set Authentication Type
 set autochannelselect  -- Set Auto Channel Selection
 set beaconinterval     -- Modify Beacon Interval
 set burstSeqThreshold  -- Set Max Number of frames in a Burst
 set burstTime          -- Set Burst Time
 set cachePerf          -- Comienza monitoreo performance caché
 set calibration        -- Set Calibration Period
 set channel            -- Set Radio Channel
 set cipher             -- Set Cipher
 set countrycode        -- Set Country Code
 set ctsmode            -- Set CTS Mode
 set ctsrate            -- Set CTS Rate
 set ctstype            -- Set CTS Type
 set domainsuffix       -- Set Domain Name Server Suffix
 set dtim               -- Set Data Beacon Rate (DTIM)
 set enableANI          -- Turn Adaptive Noise Immunity Control On/Off
 set encryption         -- Set Encryption Mode
 set extendedchanmode   -- Set Extended Channel Mode
 set factorydefault     -- Restore to Default Factory Settings
 set firStepLvl         -- Set ANI Parameter for FirStepLevel
 set fragmentthreshold  -- Set Fragment Threshold
 set frequency          -- Set Radio Frequency (MHz)
 set gateway            -- Set Gateway IP Address
 set groupkeyupdate     -- Set Group Key Update Interval (in Seconds)
 set hostipaddr         -- Set Host IP address
 set interVF            -- Set Inter Vap Forwarding State
 set intraVF            -- Set Intra Vap Forwarding State
 set ipaddr             -- Set IP Address
 set ipmask             -- Set IP Subnet Mask
 set jsw                -- Set Jumpstart Mode
 set jsp2Passwd         -- Set JS-P2 password
 set key                -- Set Encryption Key
 set keyentrymethod     -- Select Encryption Key Entry Method
 set keysource          -- Select Source Of Encryption Keys
 set login              -- Modify Login User Name
 set minimumrate        -- Set Minimum Rate
 set nameaddress        -- Set Name Server IP address
 set noiseImmunityLvl   -- Set ANI Parameter for Noise Immunity Level
 set ofdmTrigHigh       -- Set Higher Trigger Threshold for OFDM Phy Errors for ANI Control
 set ofdmTrigLow        -- Set Lower Trigger Threshold for OFDM Phy Errors for ANI Control
 set ofdmWeakSigDet     -- Set ANI Parameter for OFDM Weak Signal Detection
 set operationMode      -- Set operation Mode
 set password           -- Modificar Password
 set passphrase         -- Modificar Frase de Paso
 set pktLogEnable       -- Enable Packet Logging
 set power              -- Set Transmit Power
 set pvid               -- Set the VLAN Tag
 set radiusname         -- Set RADIUS name or IP address
 set radiusport         -- Set RADIUS port number
 set radiussecret       -- Set RADIUS shared secret
 set rate               -- Set velocidad de datos
 set reg                -- Set valor de registro
 set hwtxretries        -- Set HW Transmit Retry Limit
 set swtxretries        -- Set SW Transmit Retry Limit
 set rogueAPDetect      -- Set modo de detección de AP conflictivo
 set rtsthreshold       -- Set RTS/CTS Threshold
 set shortpreamble      -- Set Short Preamble
 set shortslottime      -- Set Short Slot Time
 set sntpserver         -- Set SNTP/NTP Server IP Address
 set softwareretry      -- Set Software Retry
 set ssid               -- Set Service Set ID
 set ssidsuppress       -- Set SSID Suppress Mode
 set active             -- Set Active (up) Mode
 set SuperG             -- Super G Features
 set systemname         -- Set Access Point System Name
 set tzone              -- Set Time Zone Setting
 set updateparam        -- Set Vendor Default Firmware Update Params
 set vaps               -- Set Number of Virtual APs
 set upsd               -- Set UPSD Mode
 set vlan               -- Set VLAN Operational State
 set watchdog           -- Set Watchdog Mode
 set wds                -- Set WDS Mode
 set wlanstate          -- Set wlan state
 set wirelessmode       -- Set Wireless LAN Mode
 set usrp               -- Set the User Priority
 set wmm                -- Set WMM Mode
 set wmmParamBss        -- Set WMM parameters used by STAs in this BSS
 set wmmParam           -- Set WMM parameters used by this AP
 set xr                 -- Set XR
 timeofday              -- Display Current Time of Day
 version                -- Software version