miércoles, 2 de diciembre de 2015

Elaboracion de un router inalambrico utilizando Raspberry Pi y Open WRT

En el presente BLOG se presenta la elaboración de un proyecto que tiene como finalidad la configuración del hardware Raspberry Pi2, como un ROUTER INALAMBRICO, que sirva de base para configuraciones inalámbricas, utilizando la imagen Open WRT como plataforma,  realizando la correspondiente configuración de esta. El proyecto se utiliza básicamente como plataforma para el ruteo de usuarios inalámbricos y el acceso a redes. La funcionalidad de este dispone de accesos de configuración a través de protocolos http y ssh.


Materiales Utilizados Para la Elaboración.

  • Raspberry Pi 2 (RPi2) Model B Quad-Core 900 MHz 1 GB RAM


  • 8 GB Micro SD Card (Class 10)





  • CanaKit WiFi Adapter 150 Mbps





  • Carcasa Plastica (opcional)











  • Cable HDMI 

  • Fuente de alimentacion  de   5v y 1000 mA, con cable micro USB


Para la realizacion del presente proyecto los materiales anteriores fueron adquiridos  a manera de Kit en la tienda Amazon.com, con un costo de $69.99 mas gastos de envio de $32.01 para  un costo total de $102.00, para mas detalle se puede consultar el siguiente enlace:

http://www.amazon.com/gp/product/B008XVAVAW?keywords=raspberry+pi+2&qid=1445312619&ref_=sr_1_2&s=pc&sr=1-2

Tareas de Instalación

Instalación de la imagen OpenWRT en la Raspberry PI 2

Para poder realizar el siguiente procedimiento se deberá contar con la herramienta Win32 Disk Image, usando Microsoft Windows 7 en nuestro computador,solo para instalar la imagen de OpenWRT en nuestra memoria SD. En primer lugar se deberá descargar la imagen de OpenWRT desde el siguiente enlace:

Luego,procedemos a descargar la herramienta Win32 Disk Image, desde el siguiente link

http://sourceforge.net/projects/win32diskimager/files/latest/download?source=files.-

Ahora procedemos a instalar, dando doble clic al icono


Luego,nos saldrá el menú principal de la aplicación


Luego,procedemos a seleccionamos la imagen de OPENWRT que descargamos


Luego, le damos clic en el botón Write. Después de unos segundos, nos saldrá el mensaje de proceso terminado.


Hecho lo anterior la Raspberry Pi se iniciara correctamente.
Conectamos al raspberry la fuente, el cable de red, un teclado y una pantalla LCD(ya que para ver la configuracion se realizara por un puerto hdmi), esto es temporal ya que se realizaran las respectivas configuraciones para que despues se conecte via ssh, o web si es por interfaz.


Entonces procedemos a setear la password: pondremos "grupo15" de password


Después de esto, ya solo nos quedaría configurar la wifi para poder crear la red a nuestro gusto:

Nos conectaríamos con el navegador web en la siguiente dirección: http://192.168.1.1 
     El usuario es root y la contraseña es la que establecimos para la conexión SSH.
Hacemos clic en la pestaña network, y veremos como está configurado el router.

Inicialmente nos aparecerá una pantalla como la siguiente donde podremos cambiar la password con la que queremos autenticarnos, ya que inicialmente esa contraseña esta en blanco y el usuario es root, la imagen mostrada a continuación corresponde a lo antes mencionado:




Luego se establece la configuración básica para ssh, en la sección "interface" se puede seleccionar la interface deseada, si seleccionamos la opción "unspecified" podremos accesar mediante cualquier interfaz y también se habilita la opción de autenticacion por "password" y "root" así como en la siguiente imagen:


Guardamos los cambios en "Save & Apply" para terminar la configuración


Se recomienda actualizar los repositorios desde los cuales podremos descargar paquetes necesarios o actualizarlos, teniendo una conexión a Internet, de no tener estos repositorios se tendrán problemas al instalar o actualizar paquetes.
Para actualizar los repositorios vaya a System-> Sofware -> Configuration como se ve en la imagen:


Actualmente los repositorios mas esenciales son los listados a continuación:

src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/base
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/luci
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/packages
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/routing
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/telephony
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/management
src/gz barrier_breaker_oldpackageshttp://downloads.openwrt.org/barrier_breaker/14.07/brcm2708/generic/packages/oldpackage

Para cambiar direccionamiento ip para nuestra interfaz "LAN" y tener acceso Internet por medio de un cable "UTP" Directo, haga los siguientes cambios en la pestaña

Network->Interfaces-> Edit

Y configure como se muestra en la imagen de acuerdo a su red:


Para hacer configuraciones referentes a la interfaz Wireless conectarse via ssh según el usuario y la "IP" que haya configurado estaticamente en el paso anterior, ejemplo:

Configure WIFI
Desde la consola de open WRT:
#vi /etc/config/network

Luego presiona la letra “i” y agregue:
config interface 'wan'
        option ifname 'wlan0'
        option proto 'dhcp'
Para guardar los cambios presione la tecla “esc”.
Para salir presione los caracteres “:wq”

Editamos la configuración del archivo “wireless” para conectarnos a la red
# vi /etc/config/wireless

Nota: El “wireless” a veces por default está apagado, cuando sea ese el caso necesitamos cambiar el estado de 1 a 0.

Se podría hacer como el ejemplo siguiente:

# uci set wireless.@wifi-device[0].disabled=0; uci commit wireless; wifi

Luego agregue lo siguiente, adaptandolo a su red
config wifi-iface
              option device radio0
              option network wan
              option mode sta
              option ssid '''GRUPO15'''
              option encryption psk
              option key ''COS115'''

Instalación del Adaptador Wifi


Para instalar el modulo Wifi y poder configurarlo ingresamos los siguientes comando en la terminal
opkg install kmod-rt2800-lib kmod-rt2800-usb kmod-rt2x00-lib kmod-rt2x00-usb 

Luego, instalamos la herramienta para detectar dispositivos wireless
     opkg install iw

Si nos aparece lo siguiente es por que tenemos el driver correcto

Supported interface modes:
  •  IBSS
  •  managed
  •  AP
  •  AP/VLAN
  •  WDS
  •  monitor
  •  mesh point

Ahora, configuraremos el archivo Wirreless

Borramos el fichero wireless con el comando

 "rm -r /etc/config/wireless"

Después ingresar el siguiente comando para que genere un fichero wireless nuevo.
wifi detect > /etc/config/wireless 

Ahora proseguimos a editar este fichero creado anteriormente, ingresando el comando "vi /etc/config/wireless" y lo dejamos de la siguiente manera:

config wifi-device 'radio0'
  option type 'mac80211'
  option channel '11'
  option hwmode '11n'
  option path 'platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0'
  option htmode 'HT20'
  option country 'ES'

config wifi-iface
  option device 'radio0'
  option network 'lan wifi'
  option mode 'ap'
  option ssid 'GRUPO 15'
  option encryption 'psk2'
  option key 'password'

INSTALANDO EL PROTOCOLO WPA DE ENCRIPTAMIENTO
ingresamos el siguiente comando, el cual instalara la encriptacion WPA

  opkg install wpad-mini

Ahora editamos el fichero network con "vi /etc/config/network"., en donde configuraremos la interface LAN, el protocolo DHCP y el DNS que usaremos en nuestro proyecto.Ademas confiraremos la interface WAN, con su puerta de enlace y la mascara de subred respectiva.

config interface 'lan'
  option ifname 'eth0' 
  option proto 'dhcp'
  option dns '8.8.8.8 8.8.4.4'
  option type 'bridge'

config interface 'wifi'
  option proto 'static'
  option netmask '255.255.255.0'
  option ipaddr '192.168.100.1'

Ahora, editaremos el archivo ‘/etc/config/firewall’ añadiendo el siguiente código al final,para insertar las excepciones al firewall y las configutaciones para lograr, una exitosa conexión a Internet

config zone
     option name wifi
     list network wifi
     option input ACCEPT
     option output ACCEPT
     option forward REJECT
config forwarding
     option src wifi
     option dest lan
config forwarding
     option src lan
     option dest wifi


Configurando opciones de DHCP


Configuramos DHCP, para la cual asignamos los siguientes valores  en la opción DHCP Server

Hecho por:
  • Vladimir Stanley Alvarez Alvarado
  • Juan Francisco Fuentes Elias
  • Marvin Raymundo Pinto Zetino
Estudiantes de la asignatura de Comunicaciones I /2015
Escuela Ingeniería De Sistemas Informáticos
Facultad de Ingenierías y Arquitectura
Universidad De El Salvador