Problemas con nat
Dinko
linux-utfsm en dinko.cl
Mie Mar 3 12:57:23 CLST 2004
On Wed, Mar 03, 2004 at 10:39:44AM -0300, Jose Miguel Vidal Lavin wrote:
> Señores
>
> Tengo una máquina que funciona com squid proxy y funciona bien,
> inclusive me filtra msn, kazaa y demases. El problema es que tengo ke
> usar nat para habilitar todos los servicios a ciertas máquinas y eso lo
> hago desde una máquina que tengo de firewall pero de un momento a otro
> dejó de funcionar el ruteo y no me puedo conectar a internet usando esa
> puerta de enlace, he revisado toda la configuración y no he podido
> encontrar el error.
>
> mi configuración que me entrega iptables es la siguiente:
>
> [...]
> Tabla: filter
> Chain INPUT (policy DROP)
> target prot opt source destination
> ACCEPT icmp -- anywhere anywhere icmp
> echo-request
> ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
> ACCEPT tcp -- anywhere anywhere tcp spt:ssh
> [...]
Esta configuracion es extranna -al menos en la cadena INPUT-, en cuanto a
tener los source ports de esa manera. Piensa que en teoria, podria forjar un
paquete con puertos de origen especificos y... mejor olvidate de permitir
conexiones mediante source ports.
Lo que conozco es aceptar conexiones solo si han sido establecidas desde tu
intranet:
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Esto va de la mano con el enmascaramiento. Ver mas adelante...
> [...]
> Chain POSTROUTING (policy ACCEPT)
> target prot opt source destination
> MASQUERADE all -- anywhere anywhere
>
> [...]
Esto es enmascaramiento gratis. Quizas sea bueno restringir esto a tu
intranet, p.e.:
MASQUERADE all -- 10.0.0.0/24 anywhere
Bastaria que cada uno de los clientes de la intranet tenga configurado como
gateway a esta maquina y liztaylor.
Ahora, respecto a tu problema en si, no veo reglas para direccionar servicios
a otras maquinas, p.e. algo similar a:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:25 to:10.0.0.3:25
que transfiere el smtp a otra maquina, la cual a su vez tiene como gateway a
esta (la del firewall), sino los paquetes de salida no tienen por donde ser
enviados para responder las peticiones.
No tendras el ruteo en algun script por ahi? Me tinca que tuviste que reiniciar
la maquina y no tienes "en duro" tales reglas.
Tambien no se ven 2 interfaces de red... debes ser mas explicito en las reglas
para cada una de ellas, y separar bien ambas redes: interfaz hacia internet
(insegura) e interfaz hacia intranet (menos insegura :).
Revisa los ejemplos que hay en iptables.org, ahi se aprende bastante!
> --
> Jose Miguel Vidal Lavin User #333809 http://couter.li.org
> Departamento de Informática Fono : 6764600
> Cobranzas y Servicios Afines 6764622
> Bulnes 317, Oficina 612
>
--
Saludos, Dinko
Más información sobre la lista de distribución Linux