[LUG.ro] IPTABLES - MSS - DNAT

Mey mey en mey-online.com.ar
Mie Feb 23 14:26:23 ART 2011


Me respondo solito :)
Haciendo un --set-mss desde la tabla mangle Prerouting funciono de
perlas!


iptables -t mangle -A PREROUTING -i eth2 -p tcp --tcp-flags SYN,RST SYN
-j TCPMSS --set-mss 1400


Saludos.-

[]V[] [E Y/



El mié, 23-02-2011 a las 11:17 -0300, Mey escribió:
> Hola listeros!
> Los ubico en el escenario.
> Mediante DNS Round Robin se balancea el acceso a una web
> (www.mey.example) mediante tres ISPs (supongamos las ips 1.1.1.1 -
> 2.2.2.2 - 3.3.3.3 para cada conexion).
> Uno de estos ISPs (3.3.3.3) me genera problemas con el MTU ya que si
> pongo su ip directamente no responde, los otros funcionan bien.
> Como se que es el MTU? porque si lo cambio en la iface del webserver a
> 1400 todo funciona de maravillas. Pero por 3.3.3.3 tambien hay RDP, SSH,
> POP3, SMTP y unas aplicaciones propietarias de la empresa, por lo que
> cambiar el MTU en cada servidor no es una opcion y no es prolijo
> tampoco.
> Mi idea es cambiar el MSS desde el firewall (Debian etch de 64 bist)
> pero las pruebas que he realizado hasta ahora no me funcan...
> 
> Vamos a acotarnos a HTTP.. las reglas de nateo son:
> 
> iptables -t nat -A PREROUTING -d 3.3.3.3 -p tcp --dport 80 -m state
> --state NEW,ESTABLISHED,RELATED -j DNAT --to 192.168.100.1:80
> iptables -t filter -A FORWARD -d 192.168.100.1 -p tcp --dport 80 -m
> state --state NEW,ESTABLISHED,RELATED -j ACCEPT
> iptables -t filter -A FORWARD -s 192.168.100.1 -p tcp --sport 80 -m
> state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -t nat -A POSTROUTING -d 192.168.100.1 -p tcp --dport 80 -m
> state --state ESTABLISHED,RELATED -j ACCEPT
> 
> He intentado mediante la tabla mangle cambiando el MSS de todo paquete
> que saldria por eth2 (la iface que conecta a ese ISP):
> 
> iptables -t mangle -A POSTROUTING -o eth2 -p tcp --tcp-flags SYN,RST SYN
> -m tcpmss --mss 1401:1500 -j TCPMSS --set-mss 1400
> 
> Pero el cliente y el servidor siempre arreglan un MSS=1460 en los
> paquetes SYN:
> 
> 11:09:07.697699 IP x.x.x.x.49559 > 192.168.100.1.www: S
> 71511714:71511714(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
> 11:09:07.697818 IP 192.168.100.1.www > x.x.x.x.49559: S
> 2183441239:2183441239(0) ack 71511715 win 16384 <mss 1460,nop,wscale
> 0,nop,nop,sackOK>
> 
> Probe tambien sin exito con la cadena FORWARD
> 
> iptables -A FORWARD -s 192.168.100.1 -p tcp --sport 80 --tcp-flags
> SYN,RST SYN -m tcpmss --mss 1401:1500 -j TCPMSS --set-mss 1400
> 
> Alguno podria ayudarme a dar con la regla correcta?
> 
> Gracias!
> 
> MEY
> 
> 
> PD: Utilizar --clamp-mss-to-mtu no creo que sea bueno debido a que envia
> paquetes con el bit NF en 1, entonces si hay un router que necesita
> fragmentarlo lo descarta y envia un ICMP tipo 3 (necesita fragmentar) y
> siempre hay un paranoico que bloquea ICMP por lo que se pierden los
> paquetes
> 
> 
> 
> 
> _______________________________________________
> Lugro mailing list
> Lugro en lugro.org.ar
> http://lugro.org.ar/mailman/listinfo/lugro



Más información sobre la lista de distribución Lugro