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

Re: Problema extraño de red



El 19/02/13 08:23, Francisco J. Bejarano escribió:
> El 18/02/13 18:09, consultores escribió:
>> On Mon, 18 Feb 2013 15:26:43 +0100
>> "Francisco J. Bejarano" <francisco.bejarano@openknowledgenetwork.com> wrote:
>>
>>> 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
>> Hacia adonde apuntan tus busquedas DNS?
>>
> Hola
>
> Apuntan hacia un DNS interno que esta en otra LAN conectada al firewall.
> El DNS si lo resuelve, por?
>
> 2 puntualizaciones que he puesto mal. El trafico de las otras lan que
> probe con ssh sale por sdsl como he puesto pero si que estan marcadas
> con 1. He puesto que salían por main, pero son otros puertos no el 22.
> Por el 22 conectan correctamente las otras LAN (no la LAN1, marcada
> tambien con 1 ni la LAN2 marcada con 2).
>
>

Hola

¿Nadie sabe que puede estar pasando?

Añado un par de cosas

Si hago un

tcptraceroute -s IFLAN2 INETSERVER 80

traceroute to INETSERVER (74.125.230.215), 30 hops max, 60 byte packets
 1  ADSL  0.081 ms  0.061 ms  0.055 ms
 2  10.15.3.6 (10.15.3.6)  0.661 ms  1.377 ms  1.846 ms
 3  1.16.218.87.dynamic.jazztel.es (87.218.16.1)  29.813 ms  32.820 ms 
34.803 ms
 4  10.255.2.254 (10.255.2.254)  37.538 ms  38.500 ms  38.984 ms
 5  106.217.106.212.static.jazztel.es (212.106.217.106)  39.222 ms
114.217.106.212.static.jazztel.es (212.106.217.114)  52.948 ms
106.217.106.212.static.jazztel.es (212.106.217.106)  42.190 ms
 6  113.217.106.212.static.jazztel.es (212.106.217.113)  42.187 ms 
48.500 ms  48.442 ms
 7  254.216.106.212.static.jazztel.es (212.106.216.254)  45.146 ms 
46.024 ms  46.166 ms
 8  * 2.217.106.212.static.jazztel.es (212.106.217.2)  28.281 ms  28.658 ms
 9  72.14.235.18 (72.14.235.18)  29.659 ms 72.14.235.20 (72.14.235.20) 
29.313 ms  35.925 ms
10  209.85.240.191 (209.85.240.191)  46.862 ms 209.85.240.189
(209.85.240.189)  55.524 ms  54.605 ms
11  72.14.235.168 (72.14.235.168)  56.654 ms 72.14.235.172
(72.14.235.172)  116.389 ms  46.697 ms
12  209.85.242.49 (209.85.242.49)  51.695 ms  47.953 ms  55.410 ms
13  par08s09-in-f23.1e100.net (74.125.230.215) <syn,ack>  49.896 ms 
47.677 ms  47.690 ms

me devuelve todo ok

Si lo hago al puerto 22

tcptraceroute -s IFLAN2 INETSERVER 22
traceroute to INETSERVER (173.194.34.24), 30 hops max, 60 byte packets
 1  SDSL2  7.380 ms  9.126 ms  10.667 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Esto me pasa con la LAN1 y la LAN2 y el SDSL y el SDSL2. Pero si, a
través del firewall, me conecto por ssh desde otra LAN que usa SDSL y el
puerto 22, es decir usa la regla de mangle ! LAN2 mark 1... llega
perfectamente.

tcptraceroute -s IFLAN3 INETSERVER 22
traceroute to INETSERVER , 30 hops max, 60 byte packets
 1  SDSL  10.758 ms  12.110 ms  13.291 ms
 2  * * *
 3  10.115.54.49 (10.115.54.49)  63.195 ms  85.385 ms  87.591 ms
 4  10.127.160.1 (10.127.160.1)  93.517 ms  94.710 ms  95.780 ms
 5  10.254.8.198 (10.254.8.198)  90.033 ms  91.122 ms  92.314 ms
 6  10.254.8.177 (10.254.8.177)  97.806 ms  87.989 ms  88.193 ms
 7  10.254.3.126 (10.254.3.126)  87.991 ms 10.254.3.114 (10.254.3.114) 
106.782 ms 10.254.5.238 (10.254.5.238)  112.581 ms
 8  xe-11-1-0.bar2.Madrid2.Level3.net (213.242.71.181)  111.886 ms
213.242.109.169 (213.242.109.169)  110.468 ms
xe-11-1-0.bar2.madrid2.level3.net (213.242.71.181)  110.524 ms
 9  4.69.158.169 (4.69.158.169)  110.560 ms 4.69.158.161 (4.69.158.161) 
119.588 ms 4.69.158.165 (4.69.158.165)  120.443 ms
10  * * *
11  ae-58-113.csw1.Paris1.Level3.net (4.69.161.46)  127.823 ms
ae-59-114.csw1.paris1.level3.net (4.69.161.50)  128.649 ms
ae-57-112.csw1.paris1.level3.net (4.69.161.42)  138.804 ms
12  ae-1-51.edge5.paris1.level3.net (4.69.139.203)  138.310 ms  137.916
ms  137.997 ms
13  11-INTERNET.edge5.Paris1.Level3.net (212.73.200.54)  148.675 ms 
148.601 ms  153.598 ms
14  te-2-4.bb-d.bap.rhr.de.oneandone.net (212.227.120.42)  152.672 ms 
152.397 ms  151.696 ms
15  ae-10.gw-distp-a.bad.oneandone.net (212.227.121.165)  151.995 ms 
138.174 ms  150.945 ms
16  ae-1.gw-prtr-r261-a.bad.oneandone.net (195.20.247.53)  151.578 ms 
152.751 ms  152.687 ms
17  INETSERVER <syn,ack>  149.574 ms  148.968 ms  149.948 ms

En este caso el ip rule que esta usando es ip rule from all fwmark 1
lookup sdsl.

Si hago lo mismo desde la LAN1 que usa las mismas reglas que la LAN3 del
firewall mangle y del ip rule y del nat. Esto no funciona. Pasa como en
la LAN2.

Tambien veo que la IFLAN1 y la IFLAN2 estan conectadas a una tarjeta de
red Broadcom con modulo tg3 y que todas las demas IF del firewall estan
conectadas una tarjeta de 4 puertos con modulo r8169. De todas formas no
creo que sea de hardware puesto que si pongo el ip rule con una IP de la
LAN1 o la LAN2 con mayor prioridad y la envio por la misma tabla de
rutas (sdsl o sdsl2) funciona perfectamente con el puerto 22...

No entiendo nada :-D. ¿Alguna sugerencia?




Reply to: