me reciclé un TP-Link TL740N
¿cómo usarlo en modo robin hood?
o sea, para alguien re-colgado, pero del wi-fly del barrio;
¿puede invertirse el flujo de datos en un router?
es decir, en vez de que los PCs se conecten por la antena y salgan por el cable de red (WAN) a la tela, que el router se conecte a una red wi-fi vecina – como su humilde servidor que las abre con aircrack-ng, y los homies con las claves en papel – y use sus puertos LAN (más conocidos como los hoyitos 1, 2, 3 y 4) para «dar» internet.
en router con dos antenas tal vez se podría hacer ésto con una y dar un punto de acceso (AP) inalámbrico con la otra en vez de los cables LAN. si ésto se hace en malla (con altermesh o similar) podríamos compartir todas las redes abiertas y optimizar el tráfico con roaming. una red libre y pirata
OpenWRT
ésto sí es posible, gracias al software libre siempre. openwrt es un firmware (OS para routers) basado en linux.
en realidad primero intenté flashear el tl-740 con altermesh, pero me dio primero un error –
Error code: 18001 Upgrade unsuccessfully because the length of the upgraded file is incorrect. Please check the file name.
y luego otro cuando traté de usar una imágen para otros modelos que eran más livianos
Error code: 108005 Upgrade unsuccessfully because the version of the upgraded file was incorrect. Please check the file name.
que se supone que es porque el firmware de fábrica checkea el nombre del archivo, razón por qué tiene que llamarse -factory.bin.
como en realidad el tl-740 no está en la lista de hardware soportado por altermesh, seguí con openwrt que parecía sí soportarlo >> (el sitio no es muy claro). hasta intenté cambiarle unos bits que supuestamente también valida >> y que hay un programa para windows en chino que sabe arreglar – rarísimo…
tl-740 v2.4 sí soporta Attitude Adjustment
es importante la versión del router, según la tabla le correspondía la revisión (svn) r28314 que es un Barrier Breaker, i.e. una versión antigua de OpenWTRT.
lo compilé etc pero no funcionó… a punto de desesperanzar leí
The trunk WR740n hardware v1 image works unmodified and it can be flashed through the stock TP-Link web interface (another file exists for version 3). The v1 file was also successfully tested on hardware version 2.5
y si funcionó para 2.5, ¿para 2.4 también? ¡Sí! – lo debiera reportar a esa wiki…
modo cliente
buscando «wireless bridging» encontré indicios que lo que pensaba no era tan descabellado, y que se llama modo estación o cliente.
hay un seudo-estándar para interconectar wi-fis, WDR, pero se implementa distinto en cada hardware, por lo que implica control sobre todos los dispositivos, que ojalá corran el mismo software, etc.
modo enmascarado
WDR funciona como una sola red, pero también se puede hacer de manera ruteada, es decir jugando con sub-segmentos de red, lo cual es genérico y funciona con cualquier hard/soft-ware.
hay dos formas de hacerlo:
- masqueraded >>
- conectamos un segmento de red detrás del AP al que nos conectamos. no necesita acceder a éste (no podemos…) pero los que se conecten a él no podrán ver a los dispositivos detrás de nuestro router (…mejor)
- routed
- todos los clientes se pueden ver, pero requiere entrar al AP para setearle una ruta estática
paso a paso
entonces, primero tenemos que poner la tarjeta de red en modo cliente, o station
uci del wireless.@wifi-device[0].disabled uci del wireless.@wifi-iface[0].network uci set wireless.@wifi-iface[0].mode=sta uci commit wireless wifi
con estos comandos:
- borramos wi-fi disabled de la config de wireless, o sea lo habilitamos
- borramos la red wi-fi…
- ponemos la interfaz en modo station
- grabamos
- iniciamos el wifi
con este último comando me salía
command failed: Device or resource busy (-16) Successfully initialized wpa_supplicant
pero después de calentarme la cabeza un rato sospeché que estaba funcionando igual 🙂
tampoco me funcionaba iwlist scan
iwlist scan -ash: iwlist: not found
pero resultó ser porque estaba deprecado, y de hecho sí podía ver las redes inalámbricas desde LuCI, la interfaz gráfica
el comando ahora es >>
iw dev wlan0 scan
Join Network
Bueno, de hecho el resto del paso a paso no me sirvió, pero sí lo hizo darle al botón Join Network que pueden ver en la foto de arriba, que hace lo mismo automágicamente con sólo poner la clave crackeada
Así es que solamente copio los archivos relevantes como quedaron configurados:
- /etc/config/wireless
-
config wifi-device 'radio0' option type 'mac80211' option channel '11' option hwmode '11ng' option path 'pci0000:00/0000:00:00.0' option htmode 'HT20' list ht_capab 'SHORT-GI-40' list ht_capab 'TX-STBC' list ht_capab 'RX-STBC1' list ht_capab 'DSSS_CCK-40' option disabled '0' option txpower '30' option country 'US' config wifi-iface option network 'wwan' option bssid '00:H6:88:FF:G8:C4' option ssid 'el vecino' option encryption 'wep-open' option device 'radio0' option mode 'sta' option key1 'la-clave-crackeada' option key '1'
- /etc/config/network
-
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0' option type 'bridge' option proto 'static' option netmask '255.255.255.0' option ipaddr '192.168.2.1' config interface 'wan' option ifname 'eth1' option proto 'dhcp' config switch option name 'eth0' option reset '1' option enable_vlan '1' config switch_vlan option device 'eth0' option vlan '1' option ports '0 1 2 3 4' config interface 'wwan' option proto 'dhcp'
en negrita vemos que es lo mismo que las instrucciones del tutorial
nótese que aquí se crea una nueva interfaz wwan, en vez de editar la existente wan.
cambiar la ip del router
por último, si el router al que nos conectamos también usa la ip 192.168.1.1, habrá que cambiársela al nuestro para que use otro segmento de red (ver opción ipaddr arriba).
yo lo hice también a través de LuCI en Network > Interfaces > LAN
y listo, ya podemos hacer un ping desde openwrt o desde nuestra máquina
root@OpenWrt:~# ping numerica.cl PING numerica.cl (190.196.62.160): 56 data bytes 64 bytes from 190.196.62.160: seq=0 ttl=56 time=35.241 ms root@OpenWrt:~# exit Connection to 192.168.2.1 closed. usuario@PC:~$ ping numerica.cl PING numerica.cl (190.196.62.160) 56(84) bytes of data. 64 bytes from 190.196.62.160: icmp_req=1 ttl=55 time=33.9 ms