BeagleBone Black ( BBB ) internet por USB

Hace un tiempo que me llegó mi BBB por un proyecto de Kickstarter en el que participé hace un tiempo ya…. de hecho, bastante tiempo ya.

Me demoré mucho además en hacerme el tiempo para empezar a jugar con él, pero el poco tiempo que llevo, me tiene bastante entretenido.

Por defecto ya viene con una distribución de Linux instalada en la placa  la cual puede ser accedida simplemente conectando el usb al computador. El USB del BBB funciona tanto para energía, como para generar una conexión de red con el computador HOST, en este caso mi computador tiene un Linux 14.04 que lo reconoce por defecto.

Mi BeagleBone Black conectado al USB de mi computador.
Mi BeagleBone Black conectado al USB de mi computador.

Teniendo lo anterior en consideración, y gracias a tener un computador linux como host, el darle además internet al BBB es bastante sencillo.

Antes que todo nos conectamos por ssh al BBB con el usuario root y sin passwords ( si es que no lo han hecho antes ), agregamos nuestro computador al que está conectado como gateway y finalmente agregamos un servidor DNS para que pueda encontrar las páginas.

ssh [email protected]
route add default gw 192.168.7.1
echo "nameserver 8.8.8.8" > /etc/resolv.conf

 

Ahora en el computador host, debemos permitir que el BBB se conecte a nosotros y poder retransfmitir la información. Puedes generar un archivo bash para realizar esto automáticamente.

sudo su
#wlan0 Es mi tarjeta que posee internet. Estoy por wifi !
#eth1 Es la conexión generada por mi BBB por USB.
ifconfig eth1 192.168.7.1
iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

 

Y si probamos con un ping a google no deberíamos tener problemas.

root@beaglebone:~# ping google.com
PING google.com (173.194.42.200) 56(84) bytes of data.
64 bytes from scl03s05-in-f8.1e100.net (173.194.42.200): icmp_req=1 ttl=57 time=6.08 ms
64 bytes from scl03s05-in-f8.1e100.net (173.194.42.200): icmp_req=2 ttl=57 time=7.47 ms
64 bytes from scl03s05-in-f8.1e100.net (173.194.42.200): icmp_req=3 ttl=57 time=5.95 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 5.955/6.505/7.472/0.685 ms

Y eso es todo :).