Al fin Juan Carlos y yo nos sentamos hacer un trabajo que desde hace tiempo teníamos pendiente y era el hecho que compartir mi conexión a internet por razones obvia (chulear mi conex), actualmente me conecto mediante un Modem CDU 680 CMOTECH.
Explicando un poco que vamos hacer la idea es que cualquier persona tenga conexión a internet ya sea mediante mi interfaz de Red o Inalambrica, estas opciones son validas de acuerdo el caso que se presente pero focalizando el escenario que tengo y es que el modem CDU se conecta a mi PC mediante USB, es decir cuando establezco la conexión tengo interfaz PPP, la idea es que mi PC sea el gateway de las maquinas que se van a conectar.
Los intrumentos que necesitamos es un cable de red directo, NO cruzado y es por hecho que en distribuciones Linux automaticamente este cable se vuelve cruzado por software, hagamos la prueba para comprobar esto que les digo :-).
Conectemos ambas PC’s una vez que tengamos la dirección IP 169.254.xxx.xxx, asignemos direcciones IP a estos computadores:
PC-1
root# ifconfig eth0 192.168.0.2
PC-2
root# ifconfig eth0 192.168.0.3
root# route add default gw 192.168.0.2
Una vez hecho esto hacemos ping de computador a computador para comprobar que existe conectividad.
Ping desde el PC-2 hacia el PC-1
root# ping 192.168.0.2
Debemos obtener una salida como esta:
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.031 ms
Esto simplemente para que se vea que no necesitamos un cable cruzado :-), ahora vamos a la parte interesante en esta primera seccion lo haremos que nuestra PC-2 se conecte a internet mediante la interfaz de Red utilizando como gateway la PC-1, para esto utilizaremos brctl para crear un puente (bridge) esto lo haremos de la siguiente manera, todos estos pasos se haran en la PC-1:
root# brctl addbr br0
donde br0 es un nombre que le damos, puede ser cualquiera, una vez hecho esto levantamos este bridge, que finge como “interfaz”.
root# ifconfig br0 up
root# brctl addif br0 eth0
Le damos una dirección IP al bridge br0
root# ifconfig br0 192.168.0.2
Agregamos las siguientes reglas en el Iptables
root# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
root# iptables -A INPUT -p TCP -m state –state RELATED -j ACCEPT
root# echo 1 > /proc/sys/net/ipv4/ip_forward
NOTA: debemos detener el network-manager de la PC-1, ya que este tumba la puerta de enlace y por ende a pesar que de se este conectado por la interfaz ppp0 la PC nunca se “entera” que esta conectada.
root# /etc/init.d/network-manager stop
La configuración de la PC-2 ya tiene la dirección IP asignada (192.168.0.3) solo debemos agregar los dns, en este caso utilice los de cantv 200.44.32.12, una vez hecho esto en la PC-2 podemos intentar navegar, ya sea abriendo un navegador o haciendo ping.
root# ping www.google.com
PING www.l.google.com (74.125.95.103) 56(84) bytes of data.
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=1 ttl=241 time=269 ms
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=2 ttl=241 time=279 ms
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=3 ttl=241 time=261 ms
Como vemos ya tenemos conectividad hacia internet mediante la PC-1 utilizando la interfaz de red, ahora lo hacemos utilizando la tarjeta inalambrica de ambos computadores, para esto quitamos el cable de Red para evitar problemas.
En la PC-1 colocamos la tarjeta inalambrica en mode ad-hoc y añadimos la interfaz inalambrica por lo general wlan0 al brctl.
root# iwconfig wlan0 essid "CaChi" mode ad-hoc channel 11
root# brctl addif br0 wlan0
Ahora solo queda conectarse desde cualquier otra maquina hacia la PC-1 de la misma manera, es decir modo ad-hoc y por el canal (channel) 11 y por supuesto colocar los DNS correspondiente, en nuestro caso se colocó los de CANTV 200.44.32.12.
Con esto mis panas de la Universidad y demás, podrán “chulearme” la conexión :-) ahora solo faltaría un QoS.

