[TUTORIAL] Homepass con router con OPENWRT

Yo - Hola Timmy ¿Por qué estás en este puente con esa piedra atada a los pies?

Timmy - Hola señor. Es que mi vida no tiene sentido y a mis 6 años he decidido que he vivido suficiente. Y es que mis amigos que tienen la 3DS están haciendo streetpass desde su casa con todo el mundo, y yo no puedo ¡ADIOS MUNDO CRUEL!

Y - No, Timmy. Aún tienes una posibilidad para hacer eso. Desátate la piedra y pon atención.

¿Has intentado hacer el homepass con un router con openwrt?

T - ¿Y eso que es lo que es, señor?

Y- El Openwrt es un firmware libre basado en linux que se puede instalar en gritoncientosmil routers distintos. Yo, por ejemplo lo he usado en routers de Vodafone que tenía por casa hg553 y hg556a, de esos blancos. Pero también sirven baratos como el tp-link wr740 o el wr841nd que se encuentras fácil en tiendas como Amazon por 15/20 €.

T - ¡Qué suerte señor! Yo tengo uno de esos.

Y - Pues partamos desde el principio de que ya tienes un router de estos con el firmware Openwrt y funcionando como punto de acceso con conexión a internet. Aunque no es el objetivo del hilo, si tienes, tú o algunos de tus amiguitos, alguna duda sobre openwrt en general intentaré ayudarte. Auque os recomiendo el foro.

http://foro.seguridadwireless.net/openwrt/

Que son unos máquinas y me han enseñado todo lo que sé del tema.

T - OK, pues casualmente aquí me traje un router al puente ya configurado.

Y - Muy previsor Timmy. El objetivo de esta primera parte del tutorial es crear el punto de acceso para que la 3DS lo detecte como un hotspot. Todos los cambios podemos hacerlo por línea de comandos mediante una conexión SSH con el router o por su interfaz web LuCI. Para ello nos vamos a la configuración del wifi y ponemos el ssid como attwifi, y desactivamos la seguridad.

Ahora desde la sesión de SSH ejecutaremos los siguientes comandos:

uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:46'


Este comando cambia la mac del wifi a la que queramos. Recuerda Timmy que la gente está usando las mac 40:53:50:4f:4f:XX, 42:53:50:4f:4f:XX y 4e:53:50:4f:4f:XX cambiando las XX por un número de dos dígitos en hexadecimal que vaya desde 00 a FF.

Después aplicaremos este comando para a segurarnos que se aplica el cambio.

uci commit


Y finalmente usaremos este comando para reiniciar el wifi y que tome el nuevo valor de mac.

wifi


Listo Timmy ya puedes cambiar la mac todas las veces que quieras para tener encuentros desde tu casa.

T - Gracias señor. Ahora mi vida vuelve a tener sentido pero...... Con lo que usted me ha dicho tendría que dejar una conexión a internet libre en mi casa y los gorrones de mis vecinos se aprovecharían de mí conduciéndome a las drogas y eso a la delincuencia.

Y - No te preocupes Timmy porque podemos hacer un truquito. En la configuración del wifi del router podemos activar un filtrado mac que sólo permita la mac de la 3DS, o también podemos ponerle protección a la red attwifi. Yo uso WPA2-AES. Sólo que ahora para tener streetpass deberás configurar esa red en las opciones de la 3DS para que se conecte a ella. Y nada más, ya tienes tu red protegida fuera del alcance de malechores y esquimales.

T - ¡¡¡¡GENIAL SEÑOR!!!! Peroooo......... Si tengo que estar todo el día cambiando la mac manuamente me volveré un psicopata, y eso me llevará a la delincuencia, y de ahí a las drogas y de ahí a político.

Y - Jo, Timmy. A tus 6 años te veo un negro porvenir. Pero no caigas en la desesperación porque todo este proceso se puede automatizar.

En Openwrt, en la interfaz web en System -> Scheduled Tasks (Sistemas -> Tareas programadas) podemos introducir la línea:

*/5 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi


Pulsamos el botón Submit y reiniciamos el Cron desde Luci en la pestaña Startup que está al lado de la de Scheduled Tasks.

Te explico que hace ese trozo de código por si quieres ponerlo a :

*/5 * * * * : Esto ejecuta el comando cada 5 minutos. Si quisieramos hacerlo cada 3 pondríamos */3 * * * * y si quisieramos ejecutarlo sólo en el minuto 8 entoces, 8 * * * *.

La parte:

`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1`


Genera un número cuasialeatorio hexadecimal entre 0 y F. Así que al poner el comando:

uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1`


Estamos cambiando la mac a la 40:53:50:4f:4f:XX donde XX serán números aleatorios entre 00 y FF. Obviamente un simple cambio hace que esto funcione con las macs 42 y 4e.

Y luego la parte:
&& uci commit && wifi
aplican el comando uci y renicician el wifi con la nueva mac.

En la parte del Cron task podemos hacer varias tareas y jugar con ellas. Por ejemplo:

10 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
20 * * * * uci set wireless.@wifi-iface[0].macaddr='42:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
30 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi


Esto haría que en el minuto 10 de cada hora pusiera una mac del tipo 40, en el 20 del tipo 42 y en el 30 del tipo 4e.

O este:

0-29/3 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
30-59/3 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi


Que haría que durante la primera media hora de cada hora cambiara la mac cada 3 minutos a la 40 y el resto de la hora en la 4e.

Lo ves Timmy, no era tan complicado. Y recuerda que aquí estoy para echarte una mano con las dudas que te pudieran surgir.

T - Gracias Señor, voy corriendo a casa a probarlo y a reime de mis amiguitos que sólo tienen 300 soldados en la Conquista Mii.

NOTA del Autor: Este tuto está orientado a alguien que ya haya hecho sus pinitos en openwrt. Pero si tú, amiguito de Timmy, no tienes ni idea estoy abierto a daros consejos y guiaros.

Además si os metéis en el mundo del openwrt obtendréis muchas posibilidades como por ejemplo. Usar el router como punto de acceso como receptor wifi o como repetidor para ampliar la señal del wifi de vuestra casa. Sin tenéis un pincho 3G conectarlo al router y generar un wifi con esa conexión de datos. Conectarle un disco duro al router y compartir sus carpetas en red con samba. Instalar un cliente de torrents al router para que descargues cosas a un disco duro sin tener un Pc encendido. O compartir el contenido multimedia que tengáis en un disco duro por DLNA a TV, tablets, smartphones, etc.
Eres todo un heroe. Buen trabajo!
Buen tutorial, pero no tiene sentido hacer un hilo para cada metodo de conexion de StreetPass casero, se deberia juntar con el de ubuntu.
Sencillamente magnifico.
me ha encantado el dialogo, buenisimo XD, voy a ver si lo puedo hacer en mi base wifi.

Edit: Creo que mi router no es compatible, es una base wifi de vodafone ZTE pero no veo ningun apartardo de comandos... Bueno, al menos el ordenador me sirve como zone aunque seria mucho mas comodo con el router.

Una pregunta... y puede que sea tonta pero... ¿Como me conecto al moden por ssh para meter los comandos?

Edit 2: no sabia que OPENWRT es un firmware modificado para el modem, estupido de mi, mi ZTE MF10 no esta en la lista de dispositivos compatibles con este sistema, si, el modem tiene un apartado inutil en el menu interno de actualizacion de firmware, pero nunca han sacado uno. Que le vamos hacer, seguire usando el portatil como repetidor de Nintendo zone... [buuuaaaa]
Cómo se haría con un router Comtrend 5387 de Jazztel? creo que es compatible según la Web, pero está en inglés y no la quiero cagar.
josepvf escribió:Cómo se haría con un router Comtrend 5387 de Jazztel? creo que es compatible según la Web, pero está en inglés y no la quiero cagar.


No tengo experiencia con ese router pero mírate este hilo

http://foro.seguridadwireless.net/openw ... -ar5387un/

Yo me descararía el firmware r37180.

Edito: Mirando el hilo parece que este router funciona lento en modo ap (access point) pero no sería un problema para este uso que le vamos a dar.
Al final he instalado Openwrt en un Comtrend CT-536+
Todo lo que encuentro está en inglés, y lo que encuentro es castellano lo veo anticuado.

Tengo otro router conectado a Internet, entonces usaría el Comtrend con Openwrt como repetidor, si no me equivoco.

Bueno, lo tengo sin tocar nada. Me podríais explicar qué debo hacer a partir de aquí?

Thanks!
Supongamos que tu router principal tiene la,ip 192.168.1.1.

En el comtrend vete al apartado network-interfaces y modifica la lan para que sea, por ejemplo, 192.168.1.10, en la macaddress pon 255.255.255.0 y en puerta de enlace (gateway) por 192.168.1.1 y desactiva el dhcp (marca disable dhcp). Ahora conecta el comtrend con tu router principal de adsl con un cable de red.

Deberías poder acceder a la interfaz web en la nueva dirección 192.168.1.10.

Ahora vamos a activar el wifi, nos vamos a network-wifi y si no tenemos ninguna pulsamos add para añadir una. En la configuración de la red ponemos el essid attwifi, en mode access point y en network marcamos lan. Verás también una pestaña que pone wireless security. Y ahí se define la seguridad de la red. Para empezar a probar déjala sin encriptación. Así la 3ds la debe detectar y registrarse sin problemas, pero recuerda que en esta situación tienes una red abierta en tu casa. Así que el momento que veas que la 3ds se conecta y se ilumina el icono del nintendo zone, métele seguridad a la red como pongo en el tutorial.

Y ya estás listo para seguir los pasos del tuto para cambiar la mac automáticamente.
Voy a probar, los pasos del tuto de ssh cómo los hago? con cmd(telnet), putty...??
magnifico tuto, gracias por ello, tengo 2 routes con DD-WRT v24-sp1 tirados por ahi, cuando los encuentre lo intento aver si lo hago andar, muy buena opcion , tengo 3ds de salida y mi mii ya pide a gritos que lo rescaten XD XD

saludos

pd: muy conmovedora la historia de timmy :(
Probado y funcionando. Mil gracias por tu ayuda! ^^

Esta parte veo que no es necesaria, pero es aconsejable? Se puede poner el código debajo de otro? Obsería sólo un código?

En la parte del Cron task podemos hacer varias tareas y jugar con ellas. Por ejemplo:

Código: Seleccionar todo
10 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
20 * * * * uci set wireless.@wifi-iface[0].macaddr='42:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
30 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi



Esto haría que en el minuto 10 de cada hora pusiera una mac del tipo 40, en el 20 del tipo 42 y en el 30 del tipo 4e.

O este:

Código: Seleccionar todo
0-29/3 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
30-59/3 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi



Que haría que durante la primera media hora de cada hora cambiara la mac cada 3 minutos a la 40 y el resto de la hora en la 4e.
Me alegro que te esté funcionando. De esa parte son varios ejemplos de automatizaciones para mostraros como se comporta el Cron.

Ahora mismo yo estoy usando ésta.

0-19/2 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
20-39/2 * * * * uci set wireless.@wifi-iface[0].macaddr='42:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
40-59/3 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi


Así cambia cada 2 minutos y en las macs 40, 42 y 4E.
Elnef escribió:Me alegro que te esté funcionando. De esa parte son varios ejemplos de automatizaciones para mostraros como se comporta el Cron.

Ahora mismo yo estoy usando ésta.

0-19/2 * * * * uci set wireless.@wifi-iface[0].macaddr='40:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
20-39/2 * * * * uci set wireless.@wifi-iface[0].macaddr='42:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi
40-59/3 * * * * uci set wireless.@wifi-iface[0].macaddr='4e:53:50:4f:4f:'`/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1``/bin/cat /proc/interrupts | /usr/bin/md5sum | /usr/bin/cut -b 1` && uci commit && wifi


Así cambia cada 2 minutos y en las macs 40, 42 y 4E.


Acabo de poner tu código, parece que encuentra gente más rápido. Seguiré toqueteando a ver. Gracias!
funciona para los DD-WRT??
tengo un DD-WRT 24 SP2
No. Para DD-wrt son distintos la configuración del wifi y los comandos que hay que usar. Pero sí se puede acabar consiguiendo lo mismo.
Me he reído mucho con el diálogo. ¡Timmy es muy negativo! Espero que en próximos tutoriales vea la vida de forma diferente...

Ahora en serio, intentaré cacharrear con mi viejo router Vodafone porque no había pensado en él para el OpenWRT. ¡Muchas gracias!

EDITO: Anoche conseguí "cruzarme" con varias personas, y entre ellas había varios eolianos. :) Sin embargo, tras apagarlo y encenderlo esta mañana no puedo acceder de nuevo a la página de configuración. No me digáis que se pierde al reiniciar (o es que me he dejado algo sin hacer). [carcajad]
Es raro. La configuración si está funcionando se debe quedar guardada.
Con lo facil que es en DD-WRT y lo jodido que es en OpenWRT...
Elnef escribió:Es raro. La configuración si está funcionando se debe quedar guardada.

Específicamente lo que ocurre es que, al intentar acceder a 192.168.1.10 (nueva IP del router con OpenWRT), hace un amago de conectar a la interfaz LuCI pero inmediatamente después salta un error estándar del navegador de imposible conectar.
TheFireRed escribió:
Elnef escribió:Es raro. La configuración si está funcionando se debe quedar guardada.

Específicamente lo que ocurre es que, al intentar acceder a 192.168.1.10 (nueva IP del router con OpenWRT), hace un amago de conectar a la interfaz LuCI pero inmediatamente después salta un error estándar del navegador de imposible conectar.


Prueba con otro navegador.
Muchas gracias [risita] [risita] [risita]
funciona a las mil maravillas cambiando incluso cada minuto.
¿Alguien conoce las mac de los macdonalds y tienda Game en España?

Gracias
Gracias por el tutorial, aunque no me entero de nada con tantos programas. Tengo un router de Movistar ADB:

http://bandaancha.eu/shadow/story/69r/c ... rqno5.jpeg

No se si es compatible ni nada. En la página del router solo se cambiar el nombre de la red y abrir puertos.
Hola. Gracias por el tutorial, me ha servido de mucho.

Tengo un par de dudas:

- ¿Es necesario reiniciar el wifi al cambiar la MAC? En mi router el proceso parece ser bastante lento, tengo que ponerle 10 minutos de intervalo para que la 3DS pille algo. Con 2 minutos es imposible.

- ¿Sabes si funciona con SSIDs de Nintendo zone españolas? Bueno, esto lo voy a probar yo mismo de todas formas, pero si ya se sabe que no, me ahorro el paso. EDITADO: Lo acabo de probar y sí funciona. Mejor, así no tengo que cambiar la SSID cada vez que quiera entrar en la NZ de aquí.

Gracias.
Gran tutorial Elfnet, solo tengo una duda esta esta mas relacionada con el OpenWrt que otra cosa. El caso esque he estado leyendo algunos tutoriales y demas sobre este firmware y por lo que he sacado en claro parece que el Router con OpenWrt no puede ser el router principal unido a la red y funcionar como modem sino que tiene que estar bridgeado a otro principal que si que recibe internet.
¿He entendido yo mal las cosas y se si puede?
¿No se podia en una version antigua y ahora si?
Si la respuesta es afirmativa necesitaria saber si alguna configuracion extra porque tras instalar el OpenWrt en mi router no obtenia y internet y no se si es por lo mencionado anteriormente o soy un paleto. Y si no pues a comprar otro router porque no puedo soportar que timmy de 6 años tenga Home Pass y yo no.
Muchas gracias y un saludo.
benjides escribió:Gran tutorial Elfnet, solo tengo una duda esta esta mas relacionada con el OpenWrt que otra cosa. El caso esque he estado leyendo algunos tutoriales y demas sobre este firmware y por lo que he sacado en claro parece que el Router con OpenWrt no puede ser el router principal unido a la red y funcionar como modem sino que tiene que estar bridgeado a otro principal que si que recibe internet.
¿He entendido yo mal las cosas y se si puede?
¿No se podia en una version antigua y ahora si?
Si la respuesta es afirmativa necesitaria saber si alguna configuracion extra porque tras instalar el OpenWrt en mi router no obtenia y internet y no se si es por lo mencionado anteriormente o soy un paleto. Y si no pues a comprar otro router porque no puedo soportar que timmy de 6 años tenga Home Pass y yo no.
Muchas gracias y un saludo.


La mayoría de routers se convieren en router neutro al instalar Openwrt. Por ejemplo con el HG556a que yo he usado. Así que sí es necesario que haya otro router para tener conexión al ADSL.
Desarchivado a petición de @Erauzkin [beer]

Salu2!
Buenas,

No soy capaz de encontrar openWRT para mi router (Asus RT-AC68U). Se puede hace con DD-WRT?
27 respuestas