Facebook Twitter Gplus Flickr LinkedIn E-mail RSS
formats

Como eludir tecnicamente a una isp Defectuosa

Escrito por DJ_Dexter

Existe cierto ISP que de forma aleatoria falla misteriosamente. Tecnicamente, se genera un paquete RST sin sentido que cierra las conexiones TCP, ocasionando problemas al navegar tales como falta de estilos CSS, imagenes e incluso la incapacidad de visitar sitios web, normalmente sucede cuando bajas demaciado en el puerto 80, el de HTTP

Como les habia dicho anteriormente la ISP que uso no da soporte a GNU/Linux, entonces ella manda un paquete RST (reset) malformado en el puerto 80 y te reinicia la conexion = ping timeout, etc, pero si no usaba el puerto 80 podia estar muchos dias sin conexion caida, coincidencia?, parece que los he pillao…

Segun dice wikipedia:

Algunos representantes de los ISPs no les gusta el uso del término “forzado” al referirse a los reinicios de TCP. También han argumentado que estos se restablece de forma legítima para reducir el tráfico de red. [7] (o sea una especie de traffic shapping pero de peor manera, con reseteo de conexiones TCP), se ha dado casos en que telefonica (timofonica) lo hace, pero mas frecuentemente.

Ahora vamos a lo bueno:

1- hammerofthor nos puede servir, tambien sale hasta la manera de eludirlos por iptables

2- el metodo por iptables, las rules las puedes bajar aca

3- Hacer lo siguiente:

wget http://ompldr.org/vYzN6aw/reglas.sh
chmod a+x reglas.sh
sudo ./reglas.sh

y ahora andan las reglas de iptables :3

Lo que contienen esas reglas de iptables:

!/bin/bash
#
# Ejecutar este Script con sudo
#
echo Cargando Reglas....
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z

# evita las limitaciones tecnicas de un ISP defectuoso

 iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -m recent --set --name thor --rdest -j ACCEPT
 iptables -A INPUT -p tcp -m tcp --tcp-flag RST RST -m state --state ESTABLISHED -m recent --name thor --rcheck --rsource --seconds 1 -j DROP
bash -c “iptables-save > /etc/iptables.rules”
cp ./iptablesload /etc/network/if-pre-up.d/iptablesload
chmod +x /etc/network/if-pre-up.d/iptablesload

# o si quieren remover la carga automática borren el archivo

sudo rm /etc/network/if-pre-up.d/iptablesload
 
echo Reglas Cargadas...

lo que simplemente hace es captar la salida del puerto 80, claro se usa mas el puerto 80 que los demas, aunque estés mucho por irc no?, después, y las iptables rejectaran cualquier paquete flag RST, y así evitar el reseteo de conexion, si se cargaron correctamente al hacer, iptables -L, deberia salir esto:

 iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcpflags: RST/RST state ESTABLISHED recent: CHECK seconds: 1 name: thor side: source
 
Chain FORWARD (policy ACCEPT)
target prot opt source destination 
 
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW recent: SET name: thor side: dest


Lo malo, se perderan las reglas por cada reinicio, pero se pueden mantener con esto

En gentoo simplemente (ejecutar como root):

 /etc/init.d/iptables start
 * Not starting iptables. First create some rules then run:
 * /etc/init.d/iptables save
 * ERROR: iptables failed to start

si da ese error simplemente hacer esto:

 /etc/init.d/iptables save
 * Saving iptables state ... [ ok ]
 /etc/init.d/iptables start
* Loading iptables state and starting firewall ... [ ok ]

Ver el estado de iptables:

 /etc/init.d/iptables status
 * status: started

añadir al runlevel default y que en cada inicio recupere las reglas de iptables:

rc-update add iptables default

service iptables added to runlevel default

y ya estan guardadas :3

Con esto les hacemos tapita a la ISP, o a la conexion que manda paquetes de reseteo a la conexion, (quede claro que si desconectas los cables o apagas el modem, o erutador no sirve de nada esas reglas, obvio)

Fuente: Varias recompilaciones de foros, etc y readaptadaciones

3 de respuestas

  1. Estoy intentando ejecutar esto directamente en el router (con firmware Tomato) pero cuando ejecuto:
    /usr/sbin/iptables -v -A INPUT -p tcp -m tcp –tcp-flag RST RST -m state –state ESTABLISHED -m recent –name thor –rcheck –rsource -
    -seconds 1 -j DROP
    DROP tcp opt — in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp flags:0×04/0×04 state ESTABLISHED recent: CHECK seconds: 1 name: thor side: source
    iptables: No chain/target/match by that name

    La versión de iptables del router es la 1.3.8.
    ¿No puede ejecutarse esto en el router? ¿O hay que modificarlo para usarlo desde el router?

    Valorar: Thumb up 0 Thumb down 0

  2. Talves las iptables del router son viejas, desde la 1.4 esas reglas si funcionan de lo mas bien, tambien puedes hacerlo desde el mismo pc, ahi es mas seguro que tome bien esas reglas, porque a mi me funciona de lo mas bien en Gentoo :3

    Saludos!!!

    Valorar: Thumb up 0 Thumb down 0

    • Ya, pero si lo consiguiese poner en el router esta regla estaría activa para todos los dispositivos que se conecten a Internet a través de este router.

      Valorar: Thumb up 0 Thumb down 0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Home Tutoriales Como eludir tecnicamente a una isp Defectuosa
credit
© Linuxerz | GNU/Linux Latinoamericano