Compartir el Internet de wlan0 a eth0 con raspbian (Raspberry)
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
Para seleccionar un SSID:
click en Scan / Seleccione el SSID ( doble click)
Introduzca la contraseña
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