Hola

Tengo un problema extraño de red, o bueno, que no se muy bien a que se
debe. Tengo dos LAN que pasan a traves de un switch(1) y llega a un
firewall Linux (FW). Este firewall linux tiene una interfaz a la red
(IFLAN1) y otra a la IFLAN2 y otras interfaces. Una de ellas IFSDSL va a
otro switch(2) donde estan conectados 2 SDSLs (SDLS y SDSL2).

TEngo una serie de reglas que marcan los paquetes que vienen de LAN1 y
LAN2 al puerto 22 con marca1 y marca2 respectivamente. Despues tengo las
siguientes reglas

30010:  from all fwmark 0x2 lookup sdsl2
30020:  from all fwmark 0x1 lookup sdsl
30030:  from LAN1 lookup adsl
30040:  from LAN2 lookup adsl
32766:  from all lookup main
32767:  from all lookup default

La tabla de rutas main va, por defecto, a SDSL. Lo que se marca con 1 va
a sdsl y lo que se marca con 2 a sdsl2. El marcado funciona porque envia
a sdsl si viene de la LAN 1 y destino puerto 22 y a SDSL2 si viene de
LAN2 con destino puerto 22. Si no es el puerto 22 va la ADSL. Esto en la
tabla mangle en prerouting.

Despues en la tabla filter dejo pasar todo para pruebas a una direccion
de la LAN2 (mi ordenador IPLAN2) para que no haya problemas con puertos.

Y por ultimo, en la tabla NAT en postrouting tengo una regla de SNAT
para que traduzca lo que salga por la IFSDSL del firewall y le ponga esa IP.

Pues bien, mi problema es el siguiente:

Cuando conecto desde mi IP de la LAN2 (aunque pasa lo mismo con la LAN1)
con ssh a un servidor de internet mio me da timeout. Hago en firewall
una captura de todas las interfaces del puerto 22 y el servidor de
internet (INTSERV) y obtengo que hay un syn para la conexion y la vuelta
hay un syn,ack para la IFSDSL pero no hay un SYN,ACK para la IPLAN2.

IPLAN2---> INTSERV         SYN
IPSDSL---> INTSERV         SYN
INTSERV--> IPSDSL           SYN,ACK
Se repite lo mismo

Esto me provoca un timeout en ssh, es decir, no puedo conectar. Sin
embargo, esto es lo raro. Si pongo la siguiente regla en ip rule,
quedando asi:

29999:  from IPLAN2 lookup sdsl
30010:  from all fwmark 0x2 lookup sdsl2
30020:  from all fwmark 0x1 lookup sdsl
30030:  from LAN1 lookup adsl
30040:  from LAN2 lookup adsl
32766:  from all lookup main
32767:  from all lookup default

Vuelvo a conectar por ssh al mismo servidor y se produce lo siguente:

IPLAN2---> INTSERV         SYN
IPSDSL---> INTSERV         SYN
INTSERV--> IPSDSL           SYN,ACK
INTSERV--> IPLAN2           SYN,ACK
Y despues, todos los ACK y paquetes relacionados con ssh.

Es decir hay un paquete más de vuelta a mi IP en la LAN2 y puedo
conectar por ssh. Lo mismo ocurre con la LAN1 y las IPs de la LAN1.

Estoy usando las mismas reglas de firewall, las mismas rutas, los mismos
componentes de hardware, etc. Y estoy dejando pasar todo si el origen y
destino es mi IPLAN2 por cualquier protocolo y puerto. Entonces, por que
en un caso llega el segundo SYN, ACK mi IPLAN2 y se establece la
conexion y en el otro caso no llega produciendo un timeout si solo
cambia la regla de ip rule?

Además tengo otras 2 lan conectadas al firewall pero que no hacen
marcado por el puerto 22. Estas 2 redes si que conectan por ssh sin
problemas a traves del firewall usando la regla de la tabla main que va
por SDSL...

¿Alguien sabe que puede estar pasando? Es muy raro ¿o se me escapa
alguna tonteria relacionada con ip rule que estoy haciendo mal? Lo que
no entiendo es porque solo pasa con dos LAN. Os pongo las reglas del mangle.

target     prot opt in     out     source               destination
MARK       tcp  --  *      *      ! LAN2         0.0.0.0/0           
multiport dports 22,1723 MARK set 0x1
MARK       tcp  --  *      *        LAN2         0.0.0.0/0           
tcp dpt:22 MARK set 0x2

Saludos



-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51223a23.9070...@openknowledgenetwork.com

Responder a