7 de enero de 2013

Configurar una conexión ad-hoc para compartir internet

La idea es que tenemos dos computadoras, una con acceso a internet, y queremos que la otra también puede conectarse a internet, pero no contamos con un router.

Lo primero que vamos a hacer es conectar las dos computadoras, luego vamos a configurar esta conexión para que la segunda computadora pueda acceder a internet.

Ahora en la máquina que tiene la conexión a internet, que vamos a llamar Servidor, ponemos la conexión inalámbrica en modo ad-hoc, con el nombre MYSID, usando WEP con la clave 12345 (algunas versiones de windows sólo funcionan con claves de longitud 5 ó 10), usando como IP 192.68.22.1.
# iwconfig wlan0 mode ad-hoc
# iwconfig wlan0 essid MYSID
# iwconfig wlan0 key s:12345
# ifconfig wlan0 192.168.22.1 up
En la otra computadora, que vamos a llamar Cliente, repetimos estos pasos (cambiando el IP pero dentro del mismo rango por ejemplo 192.168.22.2). Sólo falta configurar Cliente para que use la conexión de Servidor como salida.
# route add default gw 192.168.22.1
Después de estos pasos deberiamos tener conectividad entre las dos computadoras.

Para compartir la conexión de internet de la computadora Servidor con la Cliente, tenemos que configurar Servidor para que pueda enrutar correctamente los paquetes de Cliente, y luego pueda reenviar la respuesta. Este tipo de conexión se llama NAT.
# sysctl -w net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i wlan0 -j ACCEPT
El primer comando habilita en el núcleo el reenvio de paquetes. El segundo y tercero habilitan que Cliente se pueda conectar a internet usando la IP de Servidor y poder recibir las respuestas.