Utilizar router Comtrend Ar-5387un para rebotar una señal wifi

IMG_20160312_124150
El problema que se pretende solucionar es el siguiente desde el exterior de un edificio utilizando una tarjeta wifi exterior accedo a una red wifi. La misma red soy incapaz de detectarla utilizando la interficie del router.

El objetivo se resume en: instalar dos tarjetas de red en mismo router, un la que lleva de por si integrada y la otra conectada mediante USB. Posteriormente conectamos la tarjeta exterior a una red wifi y la rebotamos en otra red wifi definida en la tarjeta interna del router.

Material

Router:Comtrend Ar-5387un
Antena exterior wifi: Antena usb Ralink

Instalar Openwrt

Descargar desde:

https://wiki.openwrt.org/toh/comtrend/ar5387un

e instalar siguiendo las instrucciones

root@OpenWrt:~# uname -a
Linux OpenWrt 3.18.20 #1 Fri Sep 4 15:12:19 CEST 2015 mips GNU/Linux

Instalación driver tarjeta de red

Nombre de los modulos del kernel:
kmod-rt2800-lib
kmod-rt2800-usb
kmod-rt2x00-lib
kmod-rt2x00-usb
buscandolos por el gestor de pakets via web no los pilla

Para instalar las herramentas para listar los usb:
opkg update
opkg install usbutils

root@OpenWrt:~# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Para instalar el módulo sería:

opkg install kmod-rt2800-lib kmod-rt2800-usb kmod-rt2x00-lib kmod-rt2x00-usb

Y para ver como se a cargado

root@OpenWrt:~# lsmod | grep rt2
cfg80211              204304  3 rt2x00lib
compat                  1120  4 rt2800usb
crc_ccitt                944  2 rt2800lib
mac80211              366400  4 rt2800lib
rt2800lib              91104  1 rt2800usb
rt2800usb              14608  0
rt2x00lib              30896  3 rt2800usb
rt2x00usb               7136  1 rt2800usb
usbcore               113808  6 rt2800usb

Habilitar la interficie:

vim  /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11g'
        option path 'pci0000:00/0000:00:00.0/0000:01:00.0/bcma0:1'
        option txpower '20'
        option country '00'
        option disabled '0'
        option channel '3'

config wifi-iface
        option network 'wwan'
        option ssid 'puigverd'
        option encryption 'psk'
        option device 'radio0'
        option mode 'sta'
        option bssid '4C:8B:EF:73:54:9C'
        option key 'rafacuest'

config wifi-device  radio1
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'platform/ehci-platform/usb1/1-1/1-1:1.0'
        option htmode   HT20
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1

config wifi-iface
        option device   radio1
        option network  lan
        option mode     ap
        option ssid     OpenWrt
        option encryption none

Y para instalar el iwconfig

root@OpenWrt:~# opkg install wireless-tools

Editamos la línea y rebotamos tras lo cual ya tenemos la interficie funcionado

root@OpenWrt:~# ifconfig
wlan0     Link encap:Ethernet  HWaddr 38:72:C0:A1:0D:20
          inet addr:10.0.0.10  Bcast:10.0.0.1  Mask:255.255.255.0
          inet6 addr: fe80::3a72:c0ff:fea1:d20/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:517 errors:0 dropped:0 overruns:0 frame:0
          TX packets:518 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:66345 (64.7 KiB)  TX bytes:162147 (158.3 KiB)

wlan1     Link encap:Ethernet  HWaddr 00:0D:A3:14:A3:9A
          inet6 addr: fe80::20d:a3ff:fe14:a39a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:2696 (2.6 KiB)

Siendo wlan0 la tarjeta interna y wlan1 la tarjeta exterior de la antena USB.
Escaneando las redes disponibles mediante la interficie web se observa un aumento de número de redes disponibles así como una mejora significativa de la señal de las que ya se detectaban.
Se debe tener en cuenta que las antenas que dispone el router son obmidireccionales y por contra la tarjeta wifi dispone de una antena planar semidireccional.

Configuración de red

Una vez tenemos la tarjeta reconocida la intención es conectar dicha tarjeta exterior a una wifi lejana y utlitizar la wifi del router para extender la señal, es decir hacer trabajar la tarjeta externa como Mode: Client y la interna como Mode: Acces point.
Otra opción sería utilizar la tarjeta exterior como Acces Point WDS (Wireless Distribution System). Pero existen dos problemas: en primer lugar el punto de acceso al que quiero acceder debería soportar también dicho protocolo, en segundo lugar la emisión de la señal rebotada se realizaría desde el exterior del edificio y señal que me llegaría desde casa estaría debilitada.

Primero de todo es recomendable asignar un rango de IP diferentes a cada una de las interfices que dispone el router.
LAN 10.0.1.100/24
WWAN0 10.0.0.10/24
WWAN1 192.168.1.33/24

La configuración se puede realizar mediante al interficie web; conectamos la tarjeta exterior al rango IP del red objetivo mediante una dirección estática por que así podemos volver a conectarnos mediante ssh o web.
La tarjeta interna le asignamos un rango de ips diferentes por ejemplo 10.0.0.0/24 y la configuramos Mode: Acces point Mode: Master y habilitamos el servidor de DCHP.
screencapture-10-0-0-10-cgi-bin-luci-stok-284e6a2a62bdfa871528641a52921302-admin-network-wireless-radio0-network1-1457786638515

wifi_2
El puente entre las dos interficies se realiza automáticamente, no precisa de embarrarse las manos con Iptables :)
Aquí las reglas que crea automáticamente, yo e sido incapaz de crearlas manualmente.


root@OpenWrt:~# scren horst -i mon0
-ash: scren: not found
root@OpenWrt:~# screen
/var/run/utmp: No such file or directory
Chain zone_lan_output (1 references)
target     prot opt source               destination
output_lan_rule  all  --  anywhere             anywhere             /* user chain for output */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere

Chain zone_lan_src_ACCEPT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain zone_wan_dest_ACCEPT (2 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain zone_wan_dest_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere

Chain zone_wan_forward (1 references)
target     prot opt source               destination
forwarding_wan_rule  all  --  anywhere             anywhere             /* user chain for forwarding */
zone_lan_dest_ACCEPT  esp  --  anywhere             anywhere             /* @rule[7] */
zone_lan_dest_ACCEPT  udp  --  anywhere             anywhere             udp dpt:isakmp /* @rule[8] */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* Accept port forwards */
zone_wan_dest_REJECT  all  --  anywhere             anywhere

Chain zone_wan_input (1 references)
target     prot opt source               destination
input_wan_rule  all  --  anywhere             anywhere             /* user chain for input */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc /* Allow-DHCP-Renew */
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request /* Allow-Ping */
ACCEPT     igmp --  anywhere             anywhere             /* Allow-IGMP */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* Accept port redirections */
zone_wan_src_REJECT  all  --  anywhere             anywhere

Chain zone_wan_output (1 references)
target     prot opt source               destination
output_wan_rule  all  --  anywhere             anywhere             /* user chain for output */
zone_wan_dest_ACCEPT  all  --  anywhere             anywhere

Chain zone_wan_src_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere

Instalar la suite aircrack-ng

opkg update
opkg install aircrack-ng

horst: simple ncurses scanner de red

ifconfig wlan1 down
iw wlan0 set type monitor
sudo horst -i wlan1
Posted in Uncategorized