¿Cómo compartir la conexión de internet con mi CentOS?

Imagen de Epe

Una de las situaciones para las que se usa Linux es para compartir la conexión de internet.

Es decir, supongamos que nuestro ISP nos ha dado una IP pública, en mi ejemplo será 1.2.3.4 y queremos navegar no sólo con una máquina, sino que queremos que todas las máquinas de mi red LAN, que son 5,naveguen a internet a través de mi CentOS.

Para esto podemos implementar NAT en el servidor Linux CentOS.

Requisitos y condiciones previas:

1- El servidor que tendrá CentOS-5 debe tener 2 tarjetas de red, eth0 y eth1.
2- La tarjeta eth0 tendrá la IP pública que me dió mi ISP, en mi ejemplo será: 1.2.3.4
3- La tarjeta eth1 tendrá la primera IP privada de mi red: 192.168.0.1/255.255.255.0
4- Tendré una máquina de windows conectada a la red LAN a esta máquina le pondré la IP 192.168.0.2/255.255.255.0 y desde esta máquina haré todas las pruebas de conectividad.

Asumo que ya a la máquina de Windows le has configurado la IP y estés claro de que está bien configurada la IP.

El proceso que haremos será el siguiente, no ignorar ningún paso ni proseguir al siguiente paso si falla un paso de los siguientes:
1- intalaremos CentOS , este paso no lo voy a explicar instalalo como mejor te parezca. Yo considero esto parte de otro artículo que algún día pondré.

2- Una vez CentOS arranque, nos cercioraremos de que desde CentOs se puede hacer ping al windows:

ping 192.168.0.2

Si no puedes hacer ping al windows esto es que quizá te hayas confundido de tarjeta (que hayas puesto los cables al revés), o que quizá haya un problema en la red.

3a- cerciórate de que puedas hacer ping desde el linux al gateway de tu proveedor (tu proveedor al darte la IP te dió seguramente una IP de su puerta de enlace). Esto lo haces con el mismo comando ping.

3b- También nos cercioraremos de que podemos hacer ping a 208.67.222.222, si este paso falla es el mismo problema del paso 2.. cables al revés...

4- anota cuál tarjeta apunta a la ip publica y cual tarjeta apunta a la ip privada, con el comando ifconfig. En mi ejemplo la ip publica es 1.2.3.4 y está en eth0 y la ip privada es 192.168.0.1 y está en la eth1

5- Ahora verifica si te trabajan los dns: ping www.google.com si no te responde, es que los dns no están bien definidos (podías hacer ping en el paso 3 a una ip y no puedes ahora hacer ping a una URI... eso es que los dns no te resuelven.

Listo, ya tenemos entonces nuestro CentOS navegando a internet (puedes hacer ping), ahora instalemos el firewall.

6- Bajas e instalas el arno-iptables-firewall desde aqui así:

wget http://centos5.ecualinux.com/i386/arno-iptables-firewall-1.8.8o-1.noarch.rpm
rpm -Uvh arno*rpm

7- Listo, una vez instalado, puedes configurarlo, edita el archivo:

vi /etc/arno-iptables-firewall/firewall.conf

Y buscas y cambias las siguientes opciones únicamente, no te metas a cambiar nada más, en principio así funcionará.. después metes los cascos con otras opciones, pero después, todo es poco a poco.

Opciones a cambiar:

EXT_IF="eth0"
EXT_IF_DHCP_IP=0
INT_IF="eth1"
INTERNAL_NET="192.168.0.0/24"
NAT=1

Estas opciones algunas quizá estén comentadas (# al inicio), quítales el comentario sino no harás nada, te garantizo que este será el error que cometerás, no quitar el # al inicio de estas opciones.

Te las explico:

  • EXT_IF: Nombre de la interfaz externa, eth0 en mi caso (la obtuve cuando puse ifconfig
  • EXT_IF_DHCP=0 significa que mi interfaz externa tiene una IP fija, que no es dhcp, si te asignaran dhcp entonces debes poner esta variable a 1
  • INT_IF: Nombre de la interfaz interna. En mi caso es eth1, lo obtuve con el comando ifconfig
  • INTERNAL_NET : IP de la red interna, en mi caso es: 192.168.0.0/24, lo puedes deducir del comando ifconfig
  • NAT=1 justo lo que quería, que se hiciera NAT.

Una vez le haya configurado, entonces arranco el servicio de arno:

service iptables stop
chkconfig iptables off
chkconfig arno-iptables-firewall on
service arno-iptables-firewall start

Los dos primeros se ocuparán de apagar el firewall por defecto de redhat, que se llama iptables. Mala opción para el nombre pero bueno. En todo caso nunca debes correr dos scripts/programas de firewall a la vez, es por esto que me ves apagando el iptables para entonces encender el de arno. Si por casualidad tuvieras otro firewall activo, no olvides apagarlo..sino.. sino lo haces... tastas! si no lo haces pueden haber consecuencias inesperadas (cachos del otro firewall entrometido en el actual, etc.

Mira bien cuando hagas el start que no te de ningún error, si te da un error LEELO e interprétalo.

Verificación del funcionamiento:

Ya está el sistema funcionando, ahora vamos al windows y verifiquemos que funcione, estos son los pasos, desde el windows!, no continuar al siguiente paso si no les funciona el actual.

1- Hacemos ping a 192.168.0.1

2- hacemos ping a 208.67.222.222

3- hacemos ping a www.google.com

Si falla el paso 1, es porque tienes un problema en tu red local, entre el windows y el linux, este paso no debe fallar pues lo probamos a la inversa anteriormente

si falla el paso 2, es porque el firewall de arno no está arrancado o no está bien configurado, revisar la configuración y reiniciar el firewall. Aquí es donde tendrás más problemas por no leer y no hacer bien las cosas!

Si falla el paso 3 es porque la máquina de windows no tiene correctamente puesto los dns, si deseas puedes usar los siguientes DNS son muy buenos:

208.67.222.222
208.67.220.220

Estos DNS son muy buenos, incluso puedes crearte una cuenta en www.opendns.org y mediante esta cuenta controlar a dónde pueden o no acceder los usuarios de tu red (opendns se da cuenta de qué hacer porque se configura a través de la IP que tiene tu red). Incluso te puede bloquear p2p, pornografía, chat y mucho más

¿Viste qué fácil? Realmente así lo es.. fácil.. Pero eso sí, tienes que ser paciente y hacer uno a uno los pasos aquí indicados, si uno solito te falla, no te funcionarán bien las cosas.

Comentarios

Consuta arno-iptables-firewall

Hola Ernesto, muchas gracias por todos tus consejos y tutoriales, realmente logre subir de la nada un server de internet y correo electronico.

El problema que tengo es que cuando subi el arno-iptables-firewall funciono super bien el internet y el envio de mail dentro y fuera de la red, pero no recibo mails desde fuera, actualmente volvi a la configuracion iptables basica que mantenia anteriormente me podrias ayudar.

Que debo modificar para poder recibir mails desde fuera activando el arno-iptables-firewall ya que me parecio super facil de instalar y debe tener reglas muy completas respecto a seguridad.

Por cierto, talvez das cursos , podrias indicarme como puedo contactarte ya que me gustaria mejorar en eso de linux.

Gracias por tu ayuda. :)

gracias a tu inquietud me

Imagen de Epe

gracias a tu inquietud me surgieron tres mejoras...

1- olvidé verificar un ping al gateway del proveedor (fue por leer nuevamente el howto)

2- olvidé indicar que esto era solamente para un servidor para navegar, no mail... que si quieres abrir puertos veas la continuación de este howto... ahora lo hago! Saldrá como una página adicional del libro de ecualug

3- olvidé mencionar que sólo se debe tener un firewall activo... ya lo corrijo en este mismo joutú.

gracias!

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

AYUDA NO PUEDO EN ESTE PASO LO HE INTENTADO YNO EHE PODIDO

hola me podria decir alguien porfavor como se edita lo que dice aqui

Y buscas y cambias las siguientes opciones únicamente, no te metas a cambiar nada más, en principio así funcionará.. después metes los cascos con otras opciones, pero después, todo es poco a poco.

Opciones a cambiar:
EXT_IF="eth0"
EXT_IF_DHCP_IP=0
INT_IF="eth1"
INTERNAL_NET="192.168.0.0/24"
NAT=1

no se como cambiar los valores puedo leerlos y aparentemente los cambio pero no se guardan y no pasa nada me podrian ayudar ya que soy nuevo en linux a porcierto estoy usando CENTOS 5.3 SERA POR ESO QUE NO ME SALE
AGRADESCO SU GENTIL RESPUESTA
:)

"El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz."

Compartir internet por bloques con dos tarjetas de red

Hola Ernesto, muchas gracias por tu tutorial. Instale el firewall de internet y me funciono perfectamente, pero adicionalmente en mi pc esta instalada otra tarjeta de red (osea 3 en total), con una me conecto al internet "eth1", con la otra comparto el internet al primer bloque "eth1" con la ip 192.168.66.200, y con la otra "eth2" comparto el internet al otro bloque con la ip 192.168.67.200. cada tarjeta de red esta conectada a un switch diferente cada una para repartir el internet cada switch a las pcs de su bloque. Como seria la configuracion en firewall.conf para este caso para que haya 2 INTERNAT_NET. ? El caso es que antes habia otro servidor linux pero se daño y ahora puse uno nuevo con tu configuracion.

Nuevamente Muchas Gracias.

hola no tengo una máquina con

Imagen de Epe

hola
no tengo una máquina con arno firewall ahora, pero te podría dar una idea,encima de cada configuración hay amplios comentarios (en el .conf) sobre cómo proceder.

yo te pediría que mires encima de estas dos configuraciones:
[code]
INT_IF="eth1"
INTERNAL_NET="192.168.0.0/24"
[/code]

quizá haya una forma, separado por coma o por espacios, de definir dos interfaces internas y dos redes... estoy seguro que sí, pero me tomará varias semanas poder montar una máquina de prueba.. así que te sugiero que experimentes y si te funciona que nos indiques por aquí cómo lo lograste

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Claro, ya lo lei pero no funciono, seguire intentando

Gracias por responderme Ernesto, claro, se me olvido decir que ya lo habia intentado separados por espacios, como dice en las indicaciones, y que lamentablemente no me funciono, lo puse asi:

INT_IF="eth1 eth2"
INTERNAL_NET="192.168.66.200/24 192.168.67.200./24"

Voy a seguir intentando con otras configuraciones y yo les aviso.

Gracias

hola yo si pude compartir el

hola yo si pude compartir el internet con dos interfaces de red
mi configuracion

eth0 internet
eth1 10.1.1.1
eth2 192.168.0.1


INT_IF="eth1 eth2"
INTERNAL_NET="10.1.1.0/24 192.168.0.0/24"

Si funciona

Lo que nose es como hacer para que pase squid proxy transparente por la segunda interfas alguna idea??

"El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz."

Hola Ernesto, Recibe un

Hola Ernesto,
Recibe un cordial saludo,
Te comento que segui tu manual y las pruebas una a una, mientras instalaba el arno-iptables-firewall (en mi caso en Debian).
Para mi caso especifico, mi server tiene 2 tarjetas de red, eth0 (es la interna 192.168.1.7) y eth1 (es la externa 190.187.100.2). Y mi PC windows con IP 192.168.1.21 (brindada x dhcp x el mismo server). Lo triste es que no consigo que funcione...
Cuando hago ping desde el server hacia la pc windows, hay exito. Linux "ve" a mi windows. Sin embargo cuando intento hacer ping al 192.168.1.1 (ip del router) este no funciona.

Mas o menos el esquema que tengo es asi:

Server (eth1-190.187.100.2) CONECTADO a Router del ISP (192.168.1.1 , 190.187.100.1)
Server (eth0-192.168.1.7) CONECTADO a switch no administrable Dlink.
PC Windows (192.168.1.21) CONECTADO A switch no administrable Dlink.

Te agradeceria la orientacion... algo debo estar haciendo mal...

Gracias.

no hermano, ahí hay algo más

Imagen de Epe

no hermano, ahí hay algo más allá del firewall, esa red tiene algún lío, lo veo en que 192.168.1.x está tanto en eth1 como en algún lugar por eth0... no uses una misma red dos veces .... por ahi es la cosa.

diferencia claramente ambas redes... la de eth0 BIEN SEPARADA de la de eth1

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Páginas