Re: Problema extraño de red
El 19/02/13 12:15, Francisco J. Bejarano escribió:
> 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?
>
>
>
>
He visto que cuando no especifico la IP en el ip rule, la el servidor
INETSERVER no llegan paquetes y si la especifico en ip rule por delante
de las fwmark si recivo paquetes y respondo en el INETSERVER. Por eso me
falta un ack. La cuestion es por que desde LAN1 no llegan paquetes a
INETSERV con las ip rule fwmark y si desde la LAN3 y la misma regla
fwmark y cuando especifico la IP de la LAN2 conecta perfectamente.
Reply to: