[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iptables SNAT,DNAT y caso extraño que no funciona



El Fri, 24 Apr 2015 18:42:05 +0200, José Miguel (sio2) escribió:

> El Thu, 23 de Apr de 2015, a las 02:17:07PM +0000, Camaleón dijo:
> 
>> A eso iba... ¿te has planteado una configuración sin iptables? Si
>> configuras los enrutados únicamente con "ip" podrías descartar que el
>> problema te venga de los filtros que tienes en iptables.

(...)

> Pues bien, este es el flujo de un paquete por una máquina linux:
> 
> http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-
flow.svg
> 
> Resulta que la cadena PREROUTING de la tabla nat en la que se hace el
> DNAT se encuentra antes de la decisión de conmutar el paquete. Así que
> en el momento de tomar la decisión el paquete tiene ya la IP y la MAC de
> M2. Pero M2 se encuentra en el mismo puerto por el que llega el
> datagrama y ¿qué hace un puente cuando el destino del datagrama se
> encuentra en el mismo puerto por el que lo recibe? Desecharlo. Y el
> paquete se desecha y no hay comunicación.
> 
> En el caso B, como el destino estaba en el otro puerto del puente, sí
> funcionaba el ping.
> 
> Esta conclusión, además, concuerda con lo que observaba cuando
> monitorizaba eth1: el paquete llegaba de M1, pero nunca salía hacia M2.
> 
> Para hacer que esto funcione hay que montar un brouter. Lo he hecho y,
> efectivamente, funciona.

Ya veo que te has dado una vuelta por la documentación de ebtables:

http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html

Resulta interesante saber que se pueden usar los dos juntos (iptables/
ebtables) cada uno "gestionando su parte" de la red.

Saludos,

-- 
Camaleón


Reply to: