jueves, agosto 17, 2006

Compartir Internet Con Squid Y Firestarter

Aqui les explico como compartir internet cable modem a otra pc (red local).
Primero que nada es necesario contar con una maq que haga de servidor, en esta deberemos tener dos placas de red, una que se conecte con internet (la llamaremos eth0) y otra para compartir internet a la red local (eth1).

En ubuntu dapper vamos a Sistema --- Administracion --- Red
Seleccionamos eth0, y en la parte de propiedades, en donde dice configuracion ponemos dhcp.
Para eth1 hacemos lo mismo pero ponemos IP estatico. En Direccion de IP ponemos el IP con el que se identificara nuestro servidor en la red local, generalmente 192.168.0.1
La Mascara de SubRed se completa solo, el otro campo dejarlo vacio.
Ir a la solapa que dice DNS, y anotar los IP que se encuentran ahi.
En la solapa General poner el nombre que se deseen, pero tenerlos en mente ya que luego seran necesarios.
Volver a la solapa de conexiones, activar las placas y cerrar.

Si queremos compartir a una sola maq bastara con conectar la eth1 a la segunda pc con un cable cruzado, de lo contrario se debera usar un router o un hub (estos ultimos mas baratos)
En estas maquinas lo que tenemos que hacer es configurarle un IP estatico 192.168.0.n (con n distinto para cada maq y valores entre 2 y 254)(gracias EIVAR); decirle que la puerta de enlace es 192.168.0.1 (nuestro servidor); y en la parte de DNS poner los mismos que anotamos.

Con esto tendriamos configurada nuestra red local, pero todavia falta camino por recorrer.
Lo que sigue es instalar y configurar squid para que no nos baje el rendimiento de internet y aprovechar lo mas que se pueda nuestro ancho de banda. Para ello sigan esta guia que les dejo a continuacion, pero antes un par de sugerencias.

*Sean pacientes y tomense su tiempo, leanla con detenimiento, es un poco extensa pero vale la pena y es bastante explicativa
*Una ves instalado squid tendremos que agregar lineas al archivo squid.conf (insisto lean la guia), no agreguen las lineas en cualquier lado ya que llevan un orden de ejecucion. Asique cuando esten editando el fichero de configuracion asegurense de estar en el lugar indicado por la guia.
*Muchas veces agregamos comentarios para mas adelante saber cuales fueron los cambios que hicimos si nos falla la memoria. Pues aqui no se los recomiendo, ya que cuando inicien el servivio van a recibir unos cuantos errores y squid no funcionara.
*Antes de iniciar el servicio, busque en el fichero "visible_localhost", y agreguen la siguiente linea
visible_localhost nombre.localhost
En donde "nombre.localhost" es el nombre que le pusieron a su pc. Si no lo recuerdan, pueden ir a la configuracion de red y obtenerlo de ahi, o simplemente teclear "hostname" en una consola y esta les devolvera el nombre.
*Instalar firestarter haciendo

$sudo apt-get install firestarter


En fin, aca les dejo el link con la guia, y luego sigo con la explicacion de firestarter.

LINK AQUI

Una ves finalizada la guia, e instalado firestarter, nos queda ejecutar este, que para poder compartir internet debera estar ejecutandose todo el tiempo.

Cuando abren firestarter les aparece un asistente, los pasos son sencillos asique solo les dire que cuando les prgunta por compartir internet en la red local NO MARQUEN LA CASILLA QUE DICE COMPARTIR DHCP, sino les aparecera un mensaje de error cada ves que quieran iniciar el firewall. Solo tienen que ir a la solapa normativa (policy segun idioma), hacen boton derecho sobre la ventana que dice Permitir Conexiones desde el Host, ponen añadir, y agregan los IP 192.168.0.n a los que quieren compartir internet.
Si estan usando amule, bittorrent o alguno programa para descarga similar, y siguen teniendo probelmas de nat o de lowID, lo que hay que hacer es abrir algunos puertos y luego decirle al programa que usemos que los use.
Para abrir puertos vamos a permitir servicio, boton derecho, añadir, y solo debemos poner un nombre y un rango de puertos a dejar abierto Ej.: 30000-40000 (Esto hara que el firewall deje los puertos 30000 al 40000 abiertos).
Ademas en la parte inferior podemos agregar reglas para decirle al firewall que redirija determinados puertos para estos programas de descarga.

Luego de dar muchas vueltas tratando de configurar el squid segui estos pasos y me funciono a la perfeccion. Las pruebas las hice entre dos maquinas con linux dapper y luego (la que esta funcionando ahora) una maquina con dapper y otra con Win98. Hay muchas opciones mas que se pueden toquetear, pero con esto lograremos compartir intenrnet con un rendimiento mas que aceptable, sobretodo si se trata de pocas pc.

5 comentarios:

Anónimo dijo...

Bueno es solo para que aclares que las direcciones ip estaticas que le asignas a las otras maquinas con las que compartiras tu red deben estar en el rango de 2 a 254 porque el 255 se una para broadcast y no debe ser asignado a ninguna máquina.

Un saludo y gracias por los datos en el foro de Ubuntu.
Eivar A. M. M.

Matias Navarro dijo...

Gracias por la correcion. Cualquier comentario, mientras sea constructivo es bienvenido.

Anónimo dijo...

muy buen how-to, esta muy bien explicadito y derecho a mi bookmarks ;)

sigo a la busqueda de alguna maquinola chica para que haga ese trabajo.

Siempre tuve una duda?
podemos configurar una estacion como router e integrarla a la red como se explica aqui. Con esto nos libramos de gastar en un costoso router, pero mas que nada lo lindo de esto es lo didactico xD

mi duda mas rapidamente: NO LOGRO CONSEGUIR UN BENDITO "MODEM" QUE NO SEA ROUTER... TENES NOCION DE ALGUNO QUE "NO SEA USB"?

Anónimo dijo...

Buenas noches el problema que tengo es que al finalizar la configuracion en el asistente de firestarter me sale no se puede arrancar el cortafuegos el eth1 no esta preparado y desde ahi no se que hacer y tampoco encuentro informacion para esto.
Mi sistema es ubuntu 7.04 y mi conexion es dhcp y la maquina cliente es una laptop, cabe destacar que el squid ya esta configurado ya que si tengo internet en la otra maquina
Si tienen informacion acerca del tema les agradeceria un monton.

Anónimo dijo...

...Existe un error en el manualsito cuando te refieres a:
*Antes de iniciar el servicio, busque en el fichero "visible_localhost", y agreguen la siguiente linea
visible_localhost nombre.localhost

es visible_hostname NOMBRE_DE_LA_MAQUINA

Solamente eso..
Gracias LIOM