OpenWRT, cuando las políticas en la república independiente de tu casa las dictas tú

Comparto esta entrada escrita por el compañero @fanta para Diario de una Linuxera. Gracias por compartir! 🙂

 

Las puertas de casa y sus muros son importantes. Nada tienes que esconder pero resulta incomodo que te estén observando mientras duermes, mientras comes, te duchas o mientras te haces un dedo o una paja.

 

Es buena cosa ir liberando los cacharros de la cadena que permite que podamos comunicar desde nuestra casa con el mundo exterior. El router es una de las partes más importantes que normalmente suele dejarse de lado pareciendose eso con el tiempo a las pelisel chocho de la Bernarda” o “365 días de jornadas de puertas abiertas”.

 

La gente coloca el router que les entrega la operadora de turno (Timofonica, Vodafone, …). El router de la operadora vendrá posiblemente con backdoor del fabricante y configurado para gestión remota por parte de la compañía que te ofrece el servicio.

 

A mi no me agrada que los albañiles que un día hicieron obra en mi casa vengan cuando les entre en gana a comprobar si la chimenea que hicieron sigue en píe. Tampoco me agrada que coloquen cámaras en mi casa para que cuando les llame por algún problema no tengan que trasladarse. Por ese motivo no me agrada usar el router tal y como me lo entrega la operadora de turno y no me fío.

 

Este es un proceso importante en la vida de una GNULinuxera. Su router ha de llevar también GNU/Linux y poder disponer del control de este en su totalidad.

 

Para conseguir esto se puede instalar OpenWRT en el router que tengamos actualmente pero … cuidado ya que cada router es un mundo y antes de hacer nada tendríamos que mejor hacerlo en un router viejo, mirar que realmente exista forma de hacerlo para nuestro modelo…

 

OpenWRT será el sistema que le empotremos al router. Lo normal es poder manejarlo igual que manejamos los routers caseros: Por una interface web o mediante Telnet o SSH.

 

Si andamos familiarizados con GNU/Linux es buena cosa que nuestro router también lleve este sistema ya que vamos a poder aplicar reglas de iptables muy molonas y encadenar diferentes routers uno tras otro.

 

Para que el artículo no quede cojo voy a relatar la forma de hacer ésto con uno de los routers más vendidos hace unos años: DLINK DSL-504T

 

001

 

Una de las peculiaridades de este router es que es un router ADSL NO inalámbrico. Se puede enganchar al RJ11 y tiene luego 4 salidas para RJ45 que podemos usar para enganchar a otros cacharros (por ejemplo otros routers con OpenWRT).

 

No se vosotros pero a mi esto del WI-FI cada día me ofrece menos fiabilidad. En casa tengo varios routers encadenados unos con otros y en uno de ellos tengo configurado un punto de acceso inalambrico que apenas enciendo.

 

Pasos para convertir el DLINK DSL-504T en un cacharro con OpenWRT en su interior

 

Descargamos desde aquí OpenWRT así (es la versión con la que me ha funcionado mejor):

 

wget "https://downloads.openwrt.org/kamikaze/8.09.2/ar7/openwrt-ar7-squashfs.bin" -O openwrt-ar7-squashfs.bin

 

Instalamos un cliente Telnet (por ejemplo así en Debian):

 

apt-get install telnet

 

Nos conectaremos vía telnet al router así:

 

telnet 192.168.1.1

 

user: root

 

password: admin

 

En caso de no saber la password o que esta fuese alterada o algo podemos resetear el cacharro dejando pulsado el botón de reset unos 10 segundos. Si es ese usuario y password estaremos dentro. Una vez dentro vamos a obtener una IP necesaria para conectarnos luego:

 

cat /proc/ticfg/env | grep my_ipaddress

 

En mi caso me ha salido: my_ipaddress 10.8.8.8

 

Configuramos en nuestra maquina una ip por ejemplo 10.8.8.1 y mascara 255.0.0.0

 

Instalamos LFTP y FTP así en Debian:

 

apt-get install lftp ftp

 

Para conectarnos lo vamos a hacer en el momento en el que lo encendemos y saltan las 4 luces de todos los puertos. En ese momento ya podemos conectar vía FTP y hemos de conectar así:

 

lftp ftp://adam2:adam2@10.8.8.8

 

Comprobamos y “seteamos” variables de entorno así:

 

quote “SETENV modulation MMODE”

 

quote “SETENV autoload 1”

 

quote "GETENV mtd0"

 

quote "SETENV mtd0,0x900a0000,0x903f0000"

 

quote "GETENV mtd1"

 

quote "SETENV mtd1,0x90010000,0x900a0000"

 

quote "GETENV mtd2"

 

quote "SETENV mtd2,0x90000000,0x90010000"

 

quote "GETENV mtd3"

 

quote "SETENV mtd3,0x903f0000,0x90400000"

 

quote "GETENV mtd4"

 

quote "SETENV mtd4,0x90010000,0x903f0000"

 

Salimos de LFTP y entramos en FTP así:

 

ftp 10.8.8.8

 

user: adam2

 

password: adam2

 

Ejecutamos:

 

quote "MEDIA FLSH"

 

bin

 

debug

 

hash

 

put "openwrt-ar7-squashfs.bin" "OpenWRT mtd4"

 

El comando put no funcionará si no se pone en modo bin (binary). Vamos a mandar el archivo de local a remoto. En remoto se llamará OpenWRT a secas y estará en mtd4. Esto puede tardar un ratillo.

 

Finalmente:

 

quote REBOOT

 

quit

 

Ya tenemos si todo va bien OpenWRT en nuestro router. Lo primero que se recomienda hacer es entrar vía Telnet por ejemplo así:

 

telnet 192.168.1.1

 

No nos pedirá clave alguna. Podemos por tanto ponerle una con el comando passwd. Luego podemos ya conectar vía SSH así:

 

ssh 192.168.1.1

 

Si queremos configurar nuestra conexión a internet de forma visual podemos hacerlo desde el navegador visitando: http://192.168.1.1

 

Tiene más miga el asunto pero inicialmente esos son los pasos. Una vez ya tenemos GNU/Linux en nuestro cacharro es cosa de ir leyendo un poco para configurarlo en condiciones óptimas.

 

Una opción bonita es bloquear absolutamente toda conexión entrante inicialmente e ir poco a poco con el paso del tiempo construyendo unas reglas que nos permitan abrir y cerrar las puertas cuando necesitemos salir o cuando necesitemos que algo entre.

 

Supongamos que Jess entra mucho a su web. Lo lógico es que genere unas reglas en Iptables en el router que le permitan poder conectar. Si Jess suele entrar también a un nodo de gnusocial le puede interesar abrir también esas conexiones.

 

Es más rollo pero al final tienes unos chacharros con los que poder tener cierto control. Eso no quita que también se recomiende que cada ordenador y cacharro en general tenga su propio cortafuegos configurado.

 

La vida es política. Una política es la de no dejar nada abierto que no tenga una razón de ser y otra política es la de no conectar nada a internet que no tenga sentido que este conectado.

 

Lo importante es que tu seas participe de la política que gobernará la república independiente de tu casa y no delegar algo tan importante en terceros.

 

Dale a tu cuerpo alegría Macarena e instalate en un cacharro OpenWRT para trastear. Seguramente con el tiempo ya no te interesará ver un router de esos que regalan las compañías ni en pintura salvo para cambiarles el alma por OpenWRT.

 

También puede interesarte...

10 comments

  1. Gracias a ambas/os. A investigar si puedo instalarlo en mi router.
    @ fanta… trataba de ubicar unas notillas tuyas en elbinario.net y las bajado han. Lástima, porque aparte ‘literateaba’ Ud.. ¿Dónde se lo puede leer?
    @ Jessica… hace poco re-descubro tu blog; está bueno.

  2. Ya no me puedes leer en ningún dónde. De vez en cuando si jess me deja dejaré caer algún artículo por aqui y otro por allá. Cuando recupere energía quizás un proyecto bonito se pueda intentar junto y con gente buena.

    1. Claro que te dejo! Yo encantada de que se le de vidilla al blog y se comparta conocimientos sin límites 🙂
      Es bueno descansar de vez en cuando para volver con más energía, ánimo y suerte en todos tus proyectos!!!

  3. ¡Hoygan! ¿Cómo puedo saber la forma de acceder por telnet a un Conceptronic cuyo nombre de usuario y contraseña para la interfaz web es admin/admin?
    Pista: admin/admin no es. Y root tampoco.
    A pesar del tono de broma, la pregunta es en serio. De verdad.
    Un saludo y enhorabuena doble: por el blog y por la entrada.

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies, porque no le queda otro remedio. Si continúas navegando estás dando tu consentimiento para su aceptación y también a la política de cookies, pincha en el enlace para mayor información. ACEPTAR

Aviso de cookies