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

Re: Ayuda Urgente: Iptables e ip rule no funcionan correctamente en debian 6?



El 05/09/12 18:48, Marc Olive escribió:
> On Wednesday 05 September 2012 16:13:44 Francisco J. Bejarano wrote:
>> Hola
>>
>> Tengo un problema con iptables y reglas de enrutamiento (iproute2 (ip
>> rule)). Expongo mi caso:
>>
>> Actualicé de Debian 4 a Debian 6.0.5 con los pasos intermedios, de 4 a 5
>> y de 5 a 6. En debian 4 todo funcionaba okpero en Debian 6.0.5 ha dejado
>> de funcionar la parte de enrutado de los paquetes marcados.
> Uoou! Menuda actualización, y felicidades por tu osadia y haberlo logrado 
> (casi del todo).
Si, es lo que tienen las emergencias y no poder eliminar el sistema.

>
> [..]
>
>> # ip rule
>> 0: from all lookup local,
>> 30010: from all lookup fwmark 0x2 TB2
>> 30020: from all lookup fwmark 0x1 TB1
>> 30030: from 10.0.2.0/24 lookup TB3
>> 30040: from 10.0.1.0/24 lookup TB3
>> 30060: from all lookup main
>> 30070: from all lookup default
>>
>> Ok. ¿Alguien sabe lo que puedo estar haciendo mal? ¿Ha cambiado la forma
>> marcado en el firewall iptables o de crear las reglas de ruteo?
> Tengo montado algo parecido, e ip rule me muestra esa información con otro 
> orden, primero la marca y luego la tabla de enrutamiento.

Esto ha sido error de typeo, escribi primero el mensaje en ingles. Es
correcto como tu la pones. A mi me sale igual.

> , además, el campo 
> "from" contiene específicamente la IP de la interfície, no de la red.

Es posible que sea por esto? Probare aunque segun el man se pueden poner
rangos y demás. En teoría si pongo 10.0.1.0/24 estoy incluyendo la
interfaz pero si hay que poner especificamente la ip de la interfaz
probare. Pongo el recorrido de un paquete mio por si ayuda. De la red 2
por ejemplo.

IPCliente(10.0.2.25/24 P22) --> Firewall eth2 (10.0.2.1) --> PREROUTING
(marca con 2) --> Decision de ruteo (Se elige tabla con ip rule) Yo creo
que aqui es donde falla (TB2) --> POSTROUTING Masquerade --> eth4
(10.0.0.5/29) --> ADSL2 (Internet)

>  Como 
> hace NAT, la IP de orígen del paquete cambia por la IP de la ethernet que hace 
> NAT.
> He adaptado un poco mi salida para que concuerde mas con tu configuración:
>
> # ip rule
> 0:      from all lookup local 
> 32761:  from all fwmark 0x2 lookup TB2 
> 32762:  from all fwmark 0x1 lookup TB1 
> 32763:  from 10.0.2.2 lookup TB2 
> 32764:  from 10.0.2.1 lookup TB1 
> 32766:  from all lookup main 
> 32767:  from all lookup default 
>
> Aquí, las dos IPs 10.0.2.x són las IPs externas del firewall, las que envian 
> los paquetes hacia las adsl, en tu salida aparece un rango de IPs, y sospecho 
> que són las IPs internas de la red.

Si, son las IPs internas de la red 1 y 2. En debian 4 no habia problema
puede que haya cambiado ahora.
Las ips externas ¿te refieres a las interfaces de red eth del firewall,
al gateway de cada red no?

>
> Tengo las rutas en un script bash dentro un loop que recorre todas las 
> ethernets e ips que hay conectadas, por si te sirve, la líniea es:
>
> ip rule add from ${EXTIPs[n]} table TB$((n+1))
>
> Donde EXTIP es un array con las IPs de la ethernets externas, y "n" es el 
> contador del loop. Una vez haciendo el loop, quedaria:
>
> ip rule add from 10.0.2.2 table TB2
> ip rule add from 10.0.2.1 table TB1
>
> Las tablas de enrutamiento deben definirse también en /etc/iproute2/rt_tables, 
> no comentas nada sobre este archivo en tu correo y desconozco si estan o no. 
> En ese archivo, después de las "reserved values" deberia haber algo como:
>
> 11      TB1
> 12      TB2
Si esto esta correctamente definido.

>> Registro los paquetes en el registro de sistema que se marcan con 1 o 2
>> y en el log se muestran. Existe tráfico que se marca con 1 y 2, pero
>> después, el tráfico no se envía a las tablas de enrutamiento correctas.
>> ¿Es un bug de ip rule (iproute2) o algo así? Muestra del log
>>
>> Sep  5 15:24:55 firewall kernel: [1883719.204551] fwmark 1: IN=eth1 OUT=
>> MAC=00:18:8b:f9:f3:34:00:24:8c:de:c8:fb:08:00 SRC=10.0.1.153
>> DST=10.0.1.1 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=1436 DF PROTO=TCP
>> SPT=57856 DPT=22 WINDOW=16323 RES=0x00 ACK FIN URGP=0 MARK=0x1
>> Sep  5 15:24:55 firewall kernel: [1883719.205085] fwmark 1: IN=eth1 OUT=
>> MAC=00:18:8b:f9:f3:34:00:24:8c:de:c8:fb:08:00 SRC=10.0.1.153
>> DST=10.0.1.1 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=1437 DF PROTO=TCP
>> SPT=57856 DPT=22 WINDOW=16323 RES=0x00 ACK URGP=0 MARK=0x1
>> Sep  5 15:25:20 firewall kernel: [1883744.276724] fwmark 2: IN=eth2 OUT=
>> MAC=00:0d:88:c5:ba:53:20:cf:33:d3:a6:d5:08:00 SRC=10.0.2.226
>> DST=10.0.2.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=8254 DF PROTO=TCP
>> SPT=52845 DPT=22 WINDOW=2641 RES=0x00 ACK URGP=0 MARK=0x2
>> Sep  5 15:25:20 firewall kernel: [1883744.280404] fwmark 2: IN=eth2 OUT=
>> MAC=00:0d:88:c5:ba:53:20:cf:33:d3:a6:d5:08:00 SRC=10.0.2.226
>> DST=10.0.2.1 LEN=100 TOS=0x00 PREC=0x00 TTL=64 ID=8255 DF PROTO=TCP
>> SPT=52845 DPT=22 WINDOW=2641 RES=0x00 ACK PSH URGP=0 MARK=0x2
> Como los paquetes se marcan correctamente, he omitido por completo la parte de 
> iptables, no parece ser el problema. Las he mirado por encima y me han 
> parecido correctas.

Si, aunque en un principio hacía cosas extrañas, marcaba lo que le daba
la gana cuando quería :-D.

>
>> Por favor, necesito ayuda con este problema. Toda mi red de trabajo está
>> en una estado degradado ya que he de enviar trafico por diferentes rutas
>> para que no se saturen las lineas y este depende del puerto al que se
>> accede. Ya no sé que más ver para resolver este problema.
> Conozco perfectamente esta sensación ;-)
> No desesperes, ánimos!

Gracias por la respuesta voy a probar y cuento si funcionan las ip rules
con interfaces específicas o sigo igual :-)

>
>> Gracias de antemano y un saludo


-- 
-----------------------------------------------------------------
Francisco J. Bejarano
Responsable de Sistemas
Dpt. Sistemas e Infraestructuras
Open Knowledge Network S.L.
francisco.bejarano@openknowledgenetwork.com
Tel. (+34) 902 534 004
Fax. (+34) 917 266 476
-----------------------------------------------------------------


Reply to: