Compartir el Internet de wlan0 a eth0 con raspbian (Raspberry)

topologia

En esta ocasión hablaremos de como podemos tener Internet gratis en nuestra casa, no solo en una computadora, sino en varias, con un costo mínimo de inversión en unos componentes.

Primeramente ocupamos conseguir la clave de algún vecino (hay muchos manuales y tutoriales en youtube que te muestran como hackear redes inalambricas), Lo mejor es conseguir una buena antena como la que se muestra a continuación:

NOTA: No tendras problemas con los drivers al conectarla con el raspberry en raspbian.

Componentes para esta practica:

  • Un Raspberry (Es una computadora mini, con perifericos eth0, 4 usb, hdmi)
  • Una antena wifi USB para que se comporte como Wlan0
  • Un router o access pont
  • 1 memoria de 16Gb MicroSD CLASE 10 (Es mas veloz)
  • Una PC o LAPTOP (para hacer las configuraciones)

 

Es necesario antes que nada configurar la conexión de internet de la interface wlan0 (dispositivo WIFI por USB):

Abrir el menú de raspbian (esquina superior izquierda) / ir a Run y ejecutar wpa_gui

wpa_gui_1

Para seleccionar un SSID:

click en Scan / Seleccione el SSID ( doble click)

wpa_gui_2

Introduzca la contraseña

wpa_gui_3

Cierre la ventana y se conectará a la red inalámbrica que selecciono, pero para que no pierda la configuración del enlace al reiniciar el raspberry, vaya a  File/Save Configuratio.

Es todo para configurar primero el internet de entrada por wlan0

 

Abrimos una terminal y entramos en modo root

sudo su

Editamos /etc/network/interfaces, agregamos IP estatica a la interface eth0

sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static  
        address 10.0.0.1  
        netmask 255.255.255.0  

Reiniciamos la red

sudo /etc/init.d/networking restart  

Instalamos el encargado de proporcionar dhcp por eth0 a nuestra red: dhcp3 y dnsmasq

sudo apt-get install dhcp3-server dnsmasq    

*En caso de que no se descargue por la versión de headers haga lo siguiente:

sudo apt-get update

sudo apt-get upgrade

Posteriormente intente instalar nuevamente el servidor dhcp y dnsmasq

sudo apt-get install dhcp3-server dnsmasq    

Es posible que se obtenga un error al final de la instalacion en la comprobacion de la misma, esto se debe a que no le hemos dado los parametros a la red dhcp, vamos a configurar el archivo: /etc/dhcp/dhcpd.conf para agregar esto al final:

sudo nano /etc/dhcp/dhcpd.conf

subnet 10.0.0.0 netmask 255.255.255.0 {  
  range 10.0.0.2 10.0.0.254;  
  option routers 10.0.0.1;  
  option domain-name-servers 10.0.0.1;  
}

Ahora hay que reiniciar el servidor dhcp:

sudo /etc/init.d/isc-dhcp-server restart  

Primeramente Tenemos que seleccionar cual sera la interfaz de red con la cual queremos escuchar a las peticiones-dhcp para nuestro clientes para lo cual vamos a editar el archivo :
sudo nano /etc/default/isc-dhcp-server 

 

En la parte final del Archivo Motificar

INTERFACES=”eth0″; 

Es hora de habilitar el forwardeo del trafico

sudo iptables -A FORWARD -o eth0 -i eth1 -s 10.0.0.0/24 -m conntrack –ctstate NEW -j ACCEPT  
sudo iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT  
sudo iptables -A POSTROUTING -t nat -j MASQUERADE   
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o wlan0 -j MASQUERADE

Guardamos los comandos de iptables:

sudo iptables-save | sudo tee /etc/iptables.sav  
sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”  
sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Hay que hacer permanente el forwardeo para ello editamos el archivo: /etc/sysctl.conf y ponemos estas lineas al final:

sudo nano /etc/sysctl.conf

net.ipv4.conf.default.forwarding=1  
net.ipv4.conf.all.forwarding=1  

En este momento ya debe de compartirse el internet de wlan0 por la salida eth0

Habrá un problema al reiniciar desconozco la razón pero cada vez que se reinicia se pierde la configuración, deja de compartir el internet por la salida eth0. La única forma que pude corregir esto fue modificando el archivo que se ejecuta cada vez termina de arrancar el sistema y sus servicios (rc.local).

Para la ejecución de un comando o un script cada vez que iniciamos un sistema tipo Unix (BSD, Gnu/Linux, etc) tenemos la posibilidad de llamarlo desde el fichero /etc/rc.local

Pasemos a configurarlo:

 sudo nano /etc/rc.local

Ir al final del archivo, encontrarás “exit 0”
deberá quedar así:

 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE exit 0

Reinicia nuevamente y siempre routeará tu internet de wlan0 a eth0.

Es todo, Gracias

Leave a reply

required