Problemas para configurar Linux como un router sencillo

Imagen de Phantom04

Forums: 

Tengo un server con CentOS 5. Estoy haciendo pruebas para ponerlo como router, firewall y proxy en una red que comparte un ADSL, así que no lo estoy probando todavía con las IPs y puerta de enlace provistas por el ISP.

El server tiene dos tarjetas de red, eth0 que es la que será conectada al módem ADSL y eth1 que estará conectada al switch de la red. Por lo pronto, mientras hago las pruebas, la configuración de las tarjetas es la siguiente:

eth0:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:08:a1:82:f7:18
NETMASK=255.255.255.0
IPADDR=192.168.0.247
GATEWAY=192.168.0.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes


eth1:

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:10:b5:87:cc:e9
NETMASK=255.255.255.0
IPADDR=192.168.1.248
GATEWAY=192.168.0.247
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes

La PC tiene salida hacia internet a través de eth0 (este post lo estoy escribiendo directamente desde la máquina en cuestión). La idea de mi prueba es hacer que las máquinas de la red 192.168.1. salgan a internet a través de la 192.168.0.247.

Para eso ya activé la redirección de paquetes en el archivo sysctl.conf poniendo en 1 la línea de ipv4.if_forward. También coloqué la siguiente línea en iptables:


iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

Ahora desde una máquina de la red 192.168.1 tengo ping hacia eth1, hacia eth0 y hacia el gateway de eth0 (192.168.0.1 que es el server windows que actualmente está dando la salida a internet a la red) pero en la red 192.168.1. no tengo ping hacia la web ni navegación si uso dominios, pero si hago por ejemplo un ping a 72.14.209.99 (una de las IPs de Google) tengo respuesta, igual si coloco esa IP en el web browser ingreso a Google. ¿Es un problema de resolución DNS? ¿En dónde puede estar la falla?

(El archivo resolv.conf contiene los nameservers de los DNS provistos por el ISP)

Saludos

problemas con la salida a internet

Imagen de acl

Estoy un poco confundido: aparentemente la salida a internet funciona normalmente desde el centos; su resolv.conf tiene los dns del isp. Que servidor dns tiene la maquina cliente? Puedes llegar a los dns desde el centos y desde la red 192.168.1?

Problema con salida al internet

Imagen de Phantom04

La máquina cliente tiene los mismos DNS que el CentOS. Lo raro es que no puedo llegar a ninguna de las 3 direcciones IP de los DNS del ISP (no obtengo ping de ninguna de ellas), desde ninguna computadora de mi red pero la navegación está sin problemas. La vaina es con la red 192.168.1 que es la que quiero "salga" a internet por el CentOS.

Voy a probar con algún DNS que me devuelva ping y veamos si instalando shorewall se me facilita la configuracción del firewall.

Saludos

Eso es correcto lo que

Imagen de damage

Eso es correcto lo que comenta ACL, tu PC cliente debe tener los dns del proveedor o mejor activa el dns-caching, pero fijate esto y dime porque lo pones:
eth1:
GATEWAY=192.168.0.247
No necesitas especificar ningun gateway en tu eth1 (peor aun si es la ip de la eth0), borra eso por favor, no se porque siempre cometen ese error, para eso estas activando el ENMASCARAMIENTO y la Redirección de Paquetes, pero ojo, en tu firewall de iptables debes activar el forward de tu red y habilitar los puertos pertinentes como navegación, DNS, FTP, etc, si no, no tendras ningun resultado positivo.

Saludos.

Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

tambien prueba esta

Imagen de JorgeCordova

tambien prueba esta linea:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source IP_PUBLICA

tambien has una traza desde una maquina de tu red interna hacia los DNS de tu proveedor de internet para ver donde se queda.

En tu mensaje indicas que no estas probando con la IP que te da tu ISP, como es que sales hacia internet, tambien ya reiniciaste el servicio del network cuando activaste el 1 en ipv4.if_forward, si no lo has hecho no te va a funcionar.

Nada tovavía

Imagen de Phantom04

Acabo de probar con esa línea de iptables y nada todavía.

Un traceroute hacia las IPs de los DNS se queda a medio camino (sale de mi red y llega a una primera dirección muy parecida a esas IPs) desde cualquier máquina de la red que está funcionando (la 192.168.0.) o de la red de prueba (192.168.1.).

No estoy probando con la IP de mi proveedor, esa está en el server Windows que da internet a la red 192.168.0. Por ahora lo que estoy haciendo es probando y la 192.168.0.247 estaría reemplazando a la IP pública. Quiero probar y hacer funcionar la vaina antes de cambiar de server, por lo pronto lo que pretendo hacer es que la red 192.168.1. salga hacia el internet a través de la 192.168.0.247 (eth0 en el server centos) que a su vez está saliendo al internet a través del server windows que tiene la IP y el gateway de mi ISP.

No estoy reiniciando el service network porque el net.ipv4.ip_forward=1 está seteado en el sysctl.conf y arranca ya con ese valor.

nat y dns

Imagen de acl

Traceroute no es ninguna garantia de nada, muchos isps estan bloqueando icmp (todavia le tienen miedo al Blaster). Te recomiendo correr una sesion de tcpdump en el centos y hacer una consulta de dns en un cliente cliente (preferiblemente usando "dig +trace" para ver el proceso de resolucion, y no nslookup ni host)

De todas maneras, parece que te estuvieran bloqueando...

Tip: nunca (o casi nunca) necesitas reiniciar. Un cambio en sysclt.conf puedes cargarlo en caliente con "sysctl -p"

Puedes decirnos que te sale

Imagen de damage

Puedes decirnos que te sale cuando colocas "route" en la consola :??
Puede ser que no este enrutando bien por que no tiene definida la salida (gateway).
A mi me paso una vez que el centos no me creo la Gateway por default y al mirar con route no lo veia, solo salian Destination, Genmask, flags, eth's, etc, pero no el default Gateway.

Saludos.

Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

Haciento route -n

Imagen de Phantom04

Haciendo un route -n sale:


[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

Páginas