[HOW TO] Modificar un Router y agregarle funcionalidades

Responder
Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

[HOW TO] Modificar un Router y agregarle funcionalidades

Mensaje por Alejandro Donato » Dom Feb 22, 2015 9:40 am

Buenas, gente!

Esta vez les traigo un poco de información de algo que, quizás, alguno haya leído o, incluso, intentado hacer, y no se animó o no le salió.

Vamos con el estilo "pregunta-respuesta" como para hacerlo, para el que le interese o necesite hacer algo de esto, lo mas entendible posible. Seguro sobra información, pero como "el saber no ocupa lugar", mas vale que sobre que que falte.

1 - ¿Que es un router?

Ya convivimos con ellos hace rato (desde que internet se hizo mas masivo). Básicamente, es el aparatito responsable de que podamos usar una conexión a internet desde varios dispositivos a la vez.
Traduce los pedidos de acceso de datos y los deriva (a través de rutas, de ahí su nombre inglés y su traducción, enrutador) al terminal correspondiente que los solicitó.

Los hay bien básicos (que solo reparten datos por la red) y, en los últimos tiempos, han ido mejorando y agregando funcionalidades. Por ejemplo, desde el router (que tenga dichas funciones), se puede, desde compartir archivos de un disco USB conectado al mismo, hasta filtrar el contenido inapropiado para ciertos terminales (filtro parental).

Existen una amplia gama de modelos y con variadas funcionalidades. Obviamente, mas funciones cumplen, mas costosos suelen ser.

2 - Genial, lindo chiche. Ahora, ¿de qué me sirve modificarlo?

Los router, como casi todo dispositivo autónomo conectado a una red, traen su propio firmware. El firmware es, el programa interno que los mismos ejecutan, y les permite realizar sus funciones.
Dependiendo de la complejidad del mismo, realiza mas o menos funciones. O sea que, según el firmware que tenga, determina las funciones que cumple.
Gracias a esto es, que, se pueden actualizar (para corregir errores o implementar mejoras).
De fábrica, estos equipos vienen programados para realizar cierta cantidad de funciones. Y, es raro que, los fabricantes, una vez diseñado un producto, le agreguen funciones. Por lo tanto, las actualizaciones que suelen distribuir, solamente mejoran/corrigen las funcionalidades actuales.
Modificar el firmware de alguno de estos productos, entonces, sirve, básicamente, para añadirle funciones.

3 - Ajá, entonces, ¿que puedo hacer con mi router?

Aparte de usarlo para lo que viene diseñado (que suele ser, compartir la conexión de internet), como es un equipo que suele estar siempre encendido, y que tiene la capacidad de conectarse a la red (como cualquier dispositivo ethernet), puede utilizarse para muchas mas cosas.
Dependiendo del modelo que tengamos, es la cantidad de espacio disponible para el firmware. Y, obvio, cuanto mas espacio tenga, mas modificaciones se le podrán agregar. Algunos router, por el poco espacio interno que tienen, no permiten alterar demasiado (e incluso, ni vale la pena intentarlo). Otros, tienen un alto potencial "oculto", ya que, no es el hardware lo que limita su uso, sino que el software (el firmware) que es limitado.
Con el router adecuado, y el firmware adecuado, se puede, entre otras cosas, hacer que el router sirva como (entre otras cosas. Menciono las mas relevantes):

* Filtro activo de internet: Filtrando contenido peligroso, sitios web inadecuados, etc. Programar horarios hábiles de servicio.
* Control de ancho de banda: Asignar ancho de banda a determinadas cosas, o terminales. Útil cuando hay poco ancho de banda y muchos equipos pretenden usarlo.
* Servidor de archivos: (o conocido como NAS, almacenamiento de red) Si tiene posibilidad de conectarle algo por puerto USB, por ej, puede usarse para almacenar información en discos externos, y compartir los mismos en la red.
* Servidor WEB: Usando almacenamientos externos, puede, perfectamente, hacer las veces de servidor WEB.
* Servidor de telefonía digital: Puede correr una central telefónica IP.
* Servidor de impresión: Puede compartir impresoras en la red.
* Punto de acceso avanzado: Si trae WIFI, puede usarse desde como un simple access point (para conectarse a la red vía inalámbrica) hasta como repetidor de señal, enlace entre varias redes, hotspot (internet pública, donde los usuarios se registran para acceder a la red), etc.
[/b]

Estas son, algunas de las opciones. Hay mas posibilidades (en informática, siempre las hay), pero esas sobresalen.

3 - ¿Que routers sirven para esto?


Muchos. Desde los mas baratos, hasta los de gama media o alta. Todos comparten capacidades, y la limitación principal es la cantidad de memoria interna que posean y la potencia del procesador. Sí, son minicomputadoras. Y, como tales, comparten las mismas características. Solo que en estos casos, no se les suele poder agregar (fácilmente) potencia o espacio. Vienen con lo que vienen, no están preparados para ser expandidos en capacidad de hardware.

(continuará...)

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Modificar un Router y agregarle funcionalidades

Mensaje por Alejandro Donato » Lun Feb 23, 2015 9:22 am

Hecha la introducción, veamos, primero, pro y contras de hacer esto con un router.

Contras: Existe la posibilidad de dañar el router. Puede suceder que, al momento de flashearlo (escribirle en la memoria interna el firmware o programa modificado) se produzca algún error, y deje el router inoperable.
En casos así, hay forma de recuperarlos, salvo que el daño sea a nivel hardware (por una memoria interna dañada por ej) y termine "brickeando" el equipo (brick=ladrillo en inglés, hace referencia a que quede como un hermoso ladrillo pisapapeles)
Es muy raro que esto suceda, pero, puede pasar.
Para tratar de evitarlo, basta con asegurarse de no interrumpirle la alimentación al router mientras se lo esta flasheando, y asegurarse de utilizar la versión correcta de firmware al momento de reprogramarlo. No es paea temer la advertencia, pero si para ser precavidos.

Pros: De un router común hogareño, podemos obtener funcionalidades extra más que útiles e interesantes. Tratándose de un equipo que esta permanentemente encendido (por lo general), nos permite, con muy bajo consumo y solides, armar servicios de red muy útiles sin inversiones altas. El costo se los equipos que se utilizan es muy bajo en relación a lo que pueden hacer. Amen de que todo el mundo suele tener uno, o sea que, en realidad, se mejora, con un poco de maña, algo que ya se tiene.
Reemplaza, perfectamente, a esa computadora que dejamos siempre encendida haciendo descargas, o compartiendo discos, o impresoras. Muchas de las funciones para las que solemos destinar un equipo en la red, se pueden reemplazar con el router modificado, ahorrando desde energía, hasta desgaste innecesario de hardware.
No ocupa espacio extra, consume poco, no se cuelga ni recalienta.

Requisitos:

a - Un router que soporte las modificaciones (los hay muchos y de muchas marcas)
b - Nivel de conocimientos de red, relativamente bajos (saber lo que es una dirección IP, conectar un cable de red)
c - Un equipo con el cual conectarse al router para realizar las tareas (desde una tablet a una pc, lo que les resulte mas cómodo) con Windows, o Linux, o Mac e incluso, Android (es compatible con cualquier sistema operativo, ya que la mayoría de las tareas se realizan por interfaz WEB con cualquier navegador, y consola de comandos, para lo que hay programas para ello)
d - Paciencia. Puede que, configurando algo, hagamos lío y haya que resetear el router. Nada grave.

(continuara...)

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

Re: [HOW TO] Modificar un Router y agregarle funcionalidades

Mensaje por Alejandro Donato » Lun Feb 23, 2015 11:23 am

4 - Proyectos de modificaciones de routers

Hay varios. Destacan OpenWRT y DD-WRT. De hecho, ambos son parientes.
Todos los routers son similares. Es un hardware con procesador, memoria y puertos. Y, como tales, comparten la forma de programarse.
Acá entra en juego Linux. Linux, por su forma modular de instalarse, tiene la capacidad de ocupar muy poco espacio para ejecutarse. Sumado a la capacidad de manejar casi cualquier hardware, lo hace ideal para nuestro router.
Las modificaciones, entonces, se basan en un núcleo (kernel) linux, especialmente compilado (construido) para correr dentro del hard del router, y manejar sus funciones.
Al tener un sistema operativo flexible, esto nos permite hacer con el hard del router, lo que necesitemos (limitados solamente por las capacidades de almacenamiento y potencia del hardware en uso)

Dentro de estos proyectos (en los cuales la premisa es "liberar tu router") han avanzado en distintos hardware. Por eso, hay una lista de equipos soportados y de como flashearlos (modificarles el firmware).
Aclaro, esto no es nada ilegal ni mucho menos. Cuando uno compra algún equipo, es libre de usarlo con el sistema que mas le convenga. No se altera nada que no se pueda alterar ni que sea ilegal hacerlo.

Yo, particularmente, me inclino por utilizar OpenWRT, que, es, a mi parecer, el mas flexible al momento de modificar cosas. Pero, como contra, es que a veces (y para los que no tienen conocimientos relativamente avanzados) marea.
DD-WRT es similar, pero mas amigable al usuario final. Tiene la misma potencia (se basan en lo mismo) pero es mas "instale y use", ya que, viene preconfigurado para entrar en servicio.

Así que, para saber si el router que poseemos sirve (o comprar uno que sirva), debemos consultar en los sitios de los proyectos.
Si ya tenemos un router, debemos evaluar si sirve para lo que queremos. Y si vamos a armar uno, ver que características necesitamos.
Siempre hablamos de equipos hogareños/de pequeña oficina. Es la gracia de esto. Utilizar equipos económicos.

OpenWRT - Lista de dispositivos soportados : Aquí en forma de listado, los equipos soportados.
DD-WRT Base de datos de búsqueda : Aquí, el buscador de DD-WRT, en el cual, poniendo parte o todo el modelo de nuestro equipo, nos dice que versión lo soporta.

En ambos sitios, una vez seleccionado el modelo, verán las características del mismo (micro, memoria, puertos, etc).

El ejemplo que voy a utilizar para explicar como flashear un router, es un TP-LINK WR1043ND v2, que elegí por sus características, para usar en mi casa. Es un router relativamente económico, y muy potente.

(continuará...)

Responder