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: