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. Tengo tres tablas de enrutamiento TB1, TB2 y TB3. Estas tablas tienen rutas por defecto através de adsl1, adsl2 y adsl3 respectivamente. Las tablas de enrutamiento y las rutas están funcionando correctamente sin marcado. El servidor de seguridad (máquina) funciona como un router para cinco redes diferentes con 5 interfaces eth diferentes. eth1 (red1), eth2 (red2), eth3 (adsl3), eth4 (da acceso aadsl1 y adsl2) Necesito que el tráfico que pasa a través del servidor (forward) de la red1 pase por el adsl1 (TB1) si el puerto de destino es el 22 o 500, por ejemplo, pero si el puerto de destino es otro que vaya a adsl3 (TB3). Necesito que el tráfico que pasa a través del servidor (forward) de la red2 pase por el adsl2 (TB2) si el puerto de destino es el 22 o 500, por ejemplo, pero si el puerto de destino es otro que vaya a adsl3 (TB3). He creado algunas reglas en el cortafuegos dentro de la tabla mangle y cadena PREROUTING para marcar los paquetes antes de la decisión de enrutamiento. # Red2 marcado con 2 iptables -t mangle -A PREROUTING -s 10.0.2.0/255.255.255.0 -p tcp -m tcp --dport 22 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x2 iptables -t mangle -A PREROUTING -s 10.0.2.0/255.255.255.0 -p udp -m udp -m multiport --dports 500,4500 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x2 iptables -t mangle -A OUTPUT -s 10.0.2.0/255.255.255.0 -p tcp -m tcp --dport 22 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x2 iptables -t mangle -A OUTPUT -s 10.0.2.0/255.255.255.0 -p udp -m udp -m multiport --dports 500,4500 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x2 # El resto de paquetes (red1 incluido) marcado con 1 iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 22 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -p udp -m udp -m multiport --dports 500,4500 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x1 iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x1 iptables -t mangle -A OUTPUT -p udp -m udp -m multiport --dports 500,4500 -m state --state NEW, RELATED, ESTABLISHED -j MARK --set-mark 0x1 He creado las reglas en la tabla nat iptables -t nat -A POSTROUTING -o -j MASQUERADE eth4 iptables -t nat -A POSTROUTING -o -j MASQUERADE eth3 Ok. Tengo algunas reglas de ruteo que son las que envían paquetes por uno u otro lugar dependiendo del marcado. # 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? 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 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. Gracias de antemano y un saludo -- 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/50475e18.8030...@openknowledgenetwork.com