G604T y 504T Script para la inestabilidad con emule

#1
Hola soy rolflin

He conseguido montarme un script que lanza un telnet automatizado con la utilidad:
"Telnet Scripting Tool 1.0 "
Es freeware y se puede bajar desde aki :"http://superdownloads.ubbi.com.br/programas/1TELNET.html"

Hay que descompirimir un fichero llamado tst10.zip en algun lugar del disco. Yo lo he dejado en C:\windows
asi que el acceso directo en el menu inicio->programas->inicio seria este

%windir%\tst10.exe /r:c:\dlink\comandos.txt /o:eek:utput.txt /m
/o genera el fichero de output de dicho telnet y /m lo hace de forma minimizada
Tambien se podria incluir esa linea de comando en el registro para que se lanzara de forma automatica.

El script comandos.txt que he grabado en el directorio c:\dlink tiene este contenido:

192.168.1.1 23
WAIT "login:"
send "root\m"
WAIT "Password:"
send "vuestrapassword\m"
send "echo 2048 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max\m"
wait "#"
send "echo 50 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout\m"
wait "#"
send "echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close\m"
wait "#"
send "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait\m"
wait "#"
send "echo 1200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established\m"
wait "#"
send "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait\m"
wait "#"
send "echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait\m"
wait "#"
send "echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout\m"

\m indica que debe meter cr/lf al final de linea(el enter o intro)
el truco es ke va coincatenado wait y send para funcionar y eso no debe variar en ningun sistema

Cambiad el 192.168.1.1 por la direccion lan de vuestro router
Y tambien el password , por el vuestro.

Muchas gracias! espero ke os sirva!!

*************************************************

Actualización:
Se han subido a la web dos scripts:
http://www.adslzone.net/modules.php?nam ... oad&cid=31

Es necesario que estéis registrados en la web para acceder a las descargas.

Scripts automatizados para routers D-LINK 504-604
--------------------------------------------------

Funciones: Eliminan la inestabilidad de emule con estos routers al variar los parametros de entradas
maximas en la tabla NAT y las frecuencias de borrado de las mismas, que son erroneas en los firmwares
originales.



Dlinkemulev1:
----------------

Para routers D-LINK 504

Instrucciones
-------------

_Descargar el archivo v1 y descomprimirlo con WINRAR!!!
_Seguir las instrucciones de instalacion



Dlinkemulev2:
----------------

Para routers D-LINK 604

Instrucciones
-------------

_Descargar el archivo v2 y descomprimirlo con WINRAR!!!!!!!
_Seguir las instrucciones de instalacion.






Notas: Las contraseña por defecto es "admin" si la de tu router es otra no funcionara. Para cambiarla abre
el fichero router.txt en la carpeta bin y busca las lineas


send -- "admin\r"


Cambia admin por tu contraseña real.Tambien es conveniente introducir el acceso directo en el menu inicio de
windows asi cada vez que arranqueis el ordenador tendreis el router listo.

:arrow: Manuales de ayuda D-link

D-Link G604T
D-Link 504T
 
#3
perdon esto


Usage Syntax:

tst10.exe /r:script.txt [options]

/r:script.txt run script.txt
[options] any of these:

/o:eek:utput.txt send session output to output.txt
/m run script in minimized window

Usage Example:

tst10.exe /r:script.txt /o:eek:utput.txt /m

Scripting Syntax:

HOSTNAME PORT port number optional, default: 23
WAIT "string" string to wait for
SEND "string" string to send
\" represents the a quote character
\m represents a <CR/LF>
\\ represents the backslash character

Scripting Example:

hostname.com 23
WAIT "login"
SEND "root\m"
WAIT "password"
SEND "mypassword\m"
WAIT ">"
SEND "dip internet.dip\m"
WAIT ">"

Scripting Note:

You can start with either WAIT or SEND commands,
but you *must* alternate them. ie: you can't use two
or more WAIT or SEND in a row.

Note:

TST will disconnect and close as soon
as its done with the last entry of the script.

If you need to, you can type in the terminal
window while the script is running.


y debajo solo me da about y close
que hay que hacer mas
 
#4
A ver leete el mensaje! Tiene algo de trabajo.



Hay que descompirimir un fichero llamado tst10.zip en algun lugar del disco. Yo lo he dejado en C:\windows
asi que el acceso directo a crear en el menu inicio->programas->inicio seria este:

Código:
c:\windows\tst10.exe /r:c:\dlink\comandos.txt /o:output.txt /m
2º Crear en c: una carpeta llamada dlink
3º Crear un fichero en esa carpeta c:\dlink llamado comandos.txt
4º Editar y pegar esto en el fichero comandos.txt:

<ip de tu router> 23
wait "login:"
send "root\m"
wait "Password:"
send "<tu_password>\m"
wait "#"
send "echo 2048 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max\m"
wait "#"
send "echo 50 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout\m"
wait "#"
send "echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close\m"
wait "#"
send "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait\m"
wait "#"
send "echo 1200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established\m"
wait "#"
send "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait\m"
wait "#"
send "echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait\m"
wait "#"
send "echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout\m"
Teneis ke cambiar la Direccion IP de vuestro router y la password por la que utiliceis normalmente accediendo via web.
El usuario SIEMPRE es root. Eso no lo toqueis.

Notas en las lineas del script:
\m indica que debe meter cr/lf al final de linea(el enter o intro)

El truco es ke va concatenando wait y send para funcionar y eso no debe variar en ningun sistema.
El wait espera el prompt del router que es en sucesivas fases este:
1ª linea login:
2ª linea Password:
3ª y sgtes. #

Y le va metiendo las lineas de comando que van cambiando las variables de nat y conexiones tcp del router seguidas de retorno de carro=/m.
 
#5
Más aportaciones :)



Soy el usuario manolito, y la verdad es que nuca antes habia posteado en este foro.

Como me estoy cambiando de ISP a jazztel, me han enviado dicho router, y como a todos nos gusta tenerlo lo mas fino posible, y sin tener que teclear mucho, jejeje, he creado un cript para poder realizar lo que se dice en dicho post.

El codigo lo he creado en base a un post en , y tambien de la persona que creo el post de www.adslzone.net, el cual menciono al principio del mail.

Dicho codigo es este:



#!/usr/bin/expect -f

set force_conservative 1 ;

if {$force_conservative} {

set send_slow {1 .010}

proc send {ignore arg} {

sleep .2

exp_send -s -- $arg

}

}

puts "\n"

spawn telnet IP_PRIVADA_DEL_ROUTER

expect "login:*"

send -- "USUARIO\r"

expect "Password:*"

send -- "CONTRASEÑA\r"

send -- "echo 2048 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max\r"

send -- "echo 50 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout\r"

send -- "echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close\r"

send -- "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait\r"

send -- "echo 1200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established\r"

send -- "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait\r"

send -- "echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait\r"

send -- "echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout\r"

puts "\n"

exit



Como podras comprobar en el codigo utilizo el “expect”, este programa se puede descargar de esta pagina ftp://bmrc.berkeley.edu/pub/winnt/tcltk ... -setup.exe

Lo que hay que hacer es instalarlo en una carpeta fácilmente accesible. Por ejemplo c:\router

Cuando lo hemos instalado, crearemos un archivo llamado por ejemplo router.bat con este codigo:

C:

Cd \

Cd router\bin\

Tclsh80.exe router.txt



Luego crearemos un archive llamado router.txt (si queremos crear otro archive que no tenga ese nombre, tendremos que cambiar tambien el router.txt del codigo del router.bat

El archivo router.txt llevara el codigo que te he puesto al principio.

Y mas adelante podremos ejecutar el archivo router.bat para ejecutar todos los comandos de tu post.

Si consideras oportuno postearlo, hazlo sin reparos, el trabajo duro ya lo has hecho todo tu, yo solo he puesto un granito de arena.

Muchas gracias otra vez

los méritos son para rolflin

Saludos
 
#6
Adaptación para Linux:

Agradecimiento a Rafael R. Pappalardo

He "adaptado" para que se pueda usar
en linux. Uso perl con el módulo Net::Telnet. Si alguien al probarlo le da
error porque no tiene ese módulo puede instalarlo usando:
cpan -i Net::Telnet

Para usarlo sólo hay que crear un fichero, por ejemplo, telnet.pl. Después se
puede hacer
chmod +x telnet.pl
y
./telnet.pl
---Copiar al fichero desde la línea siguiente---
#!/usr/bin/perl
use Net::Telnet;
$telnet=new Net::Telnet(Timeout=>20, Errmode=>'Die');
$telnet->open('192.168.1.1');
$telnet->waitfor('/Login:/i');
$telnet->print('root');
$telnet->waitfor('/Password:/i');
$telnet->print('admin');
$telnet->waitfor('/#/i');
$telnet->print('echo 2048 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max');
$telnet->waitfor('/#/i');
$telnet->print('echo 50
> /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout');
$telnet->waitfor('/#/i');
$telnet->print('echo 5
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close');
$telnet->waitfor('/#/i');
$telnet->print('echo 120
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait');
$telnet->waitfor('/#/i');
$telnet->print('echo 1200
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established');
$telnet->waitfor('/#/i');
$telnet->print('echo 120
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait');
$telnet->waitfor('/#/i');
$telnet->print('echo 60
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait');
$telnet->waitfor('/#/i');
$telnet->print('echo 10
> /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout');
$telnet->waitfor('/#/i');
$telnet->print('exit');
print ("Final\n");
---Fin del fichero---

Si la dirección del router no es 192.168.1.1 hay que cambiarla.

Un saludo
 
#7
hola soy xavi
me gustaria q alguien me explicara paso por paso como debo de hacerlo teniendo en cuenta q soy un poco novato en estos asuntos.
eso si estoy harto de este maldito router dlink porque no consigo estar conectado mas de ub dia seguido pues siempre se me acaba colgando!
muchas gracias!
 
#8
Cuelgues con el DLINK-g604t

Yo tengo este router desde hace escasamente un par de semanas y no se me cuelga, al menos pora hora.

Lo 1º que debes hacer es actualizar al último firmware del router, que lo puedes encontrar en la página en español de D-LINK, si no recuerdo mal, el último es del 21 del 09 del 2004.

Lo 2º, es que yo uso el eMule LSD, durante todo el día conectado 7 días a la semana, pero obviamente, no lo tengo configurado con miles y miles de fuentes y con chorrocientas conexiones como pone por defecto el programa.

Yo tengo en mi eMule LSD lo siguiente:
- Fuentes máximas: 200
- Conexiones máximas: tengo 100, pues mi ordenador es un AMD k7 a 770 Mhz, y tampoco conviene cargar el sistema con miles de conexiones.
- 10 conexiones cada 5 seg.

Lo que debes hacer es probar y bajar o subir estos datos hasta que la conexón se estabilice y no sature el router, aunque ya sabemos que al parecer tiene un problema de saturación de la tabla NAT, pero que es medianamente remediable.

Espero que te sirva.
 
#9
wenas...
Solo comentar que a mi parecer este router no esta nada mal.
Yo antes he tenido el 3com 812 oc, zyxel 643, xavi y zyxel 650 hw, sin mencionar a mi tan querido modem 3com (ese que estaba descatalogado y quemaba el ordenata si tenias el bindous EquisPe)
Me ha sorprendido gratamente que en sus entrañas llevase linux (la verdad es que no se si los anteriores tambien lo llevaban)
De la semana que llevo con el, no se me ha colgado ni una sola vez, estoy hablando del g604t.
Me puse a hacer lo del script, porque siempre me gusta tener mi router lo mas fino posible, y gracias a los compañeros esto es posible (yo jamas hubiera sido capaz de adivinar que comandos poner), pero que conste que no he tenido ni un pequeño problemilla con el.
Una cosa curiosa es que con mi antiguo router, el zyxel 650, mi ping rondaba los 80ms a www.terra.es , tengo ya.com (4mb), hasta que me activen jazztel, con lo que pensaba que el problema dle ping alto era solo culpa de ya.com. Ahora sorprendentemente mi ping ha bajado a 35ms. He probado mi antiguo router y con el siguen los 80. Con esto quiero decir que mal router no es, al llevar unix el tema de conexiones lo hara muyyyy bien, como es costumbre en este SO.
Ya no os aburrire mas, solo me gustaria agradeceros el trabajo que haceis sacando el maximo a nuestras conexiones ;)
Un saludo
 
#10
Hola, tengo el router este desde hace unos días, el 504t, y parece que se empieza a bloquear, así que habrá que darle caña al script ese (joé como os lo habeis currado). Pero ... con que frecuencia sería recomendable ejecutarlo??? asi lo pongo en el crontab y ya me olvido :)

Un saludo.
 
#12
mmm, creo que ya lo entiendo, o sea que el script lo que hace, es reducir el tiempo de la actualización de la tabla nat, que es lo que se satura (es que ni idea de iptables, jeje) Había puesto el script para que se ejecutase cada 24 horas, porque pensaba que lo que hacía, era limpiar la tabla esa de nat , en fin, así que solo hay que hacerlo después de un reset o un apagado. Ta bien.
 
#13
Mas ke eso.

Reduce esos tiempos de timeout para ir refrescando la tabla NAt mas rapidamente y ademas aumenta el tamaño de dicha tabla en memoria , todo esto gracias a Alfonso MC que se pego con el cacharrito que no veas!!
 
#14
Hola, soy nuevo en esto, y he comprado este router.
A las 24 horas,con la mula parece que se me ha colgado.
Apago/enciendo y ya veremos.
Bueno, el caso es que he hecho lo que indica rolflin y me aparece por un segundo un programa, que creo es el TST10 y desaparece.
¿como puedo comprobarlo?
¿hay que tener linux?
Desde la ventana de MS2 escribo telnet....ect. me aparece Busy box..., pero cuando dice hacer un cat, no se como; escribo cat y me da error.
Perdón por mi ignorancia del tema.
¿Lo devuelvo?
Cual me recomendais para un profano como yo?
Saludos
 
#15
Ke te lias!

A ver el scriot con el tst10 es para windoze, para usar eso es necesario usar windows, las otras soluciones son para linux o para windows , auqnue tendrias que montar perl.

Si ves ke al arrancar sale un momento el tst10 es que las cosas funcionan.
En ese instante se ha lanzado el scriopt y ha cambiado los valores de nat del router.
 
#16
Hola a todos,

Hace poco que tengo este router y quiero solucionarlo y no puedo. He leido vuestro manual y no consigo nada. Estoy a pundo de manicomio porque no para de colgarse el maldito router..

Alguien seria tan amable de insertar algunas imagenes para poderme aclarar un poco más.


Muchisimas gracias,
 
#18
MrBunbury dijo:
Más aportaciones :)



Soy el usuario manolito, y la verdad es que nuca antes habia posteado en este foro.

Como me estoy cambiando de ISP a jazztel, me han enviado dicho router, y como a todos nos gusta tenerlo lo mas fino posible, y sin tener que teclear mucho, jejeje, he creado un cript para poder realizar lo que se dice en dicho post.

El codigo lo he creado en base a un post en www.bandaancha.st , del señor undertow (esta es la direccion http://www.bandaancha.st/documentos.php?docid=78 ), y tambien de la persona que creo el post de www.adslzone.net, el cual menciono al principio del mail.

Dicho codigo es este:



#!/usr/bin/expect -f

set force_conservative 1 ;

if {$force_conservative} {

set send_slow {1 .010}

proc send {ignore arg} {

sleep .2

exp_send -s -- $arg

}

}

puts "\n"

spawn telnet IP_PRIVADA_DEL_ROUTER

expect "login:*"

send -- "USUARIO\r"

expect "Password:*"

send -- "CONTRASEÑA\r"

send -- "echo 2048 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max\r"

send -- "echo 50 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout\r"

send -- "echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close\r"

send -- "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait\r"

send -- "echo 1200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established\r"

send -- "echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait\r"

send -- "echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait\r"

send -- "echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout\r"

puts "\n"

exit



Como podras comprobar en el codigo utilizo el “expect”, este programa se puede descargar de esta pagina ftp://bmrc.berkeley.edu/pub/winnt/tcltk ... -setup.exe

Lo que hay que hacer es instalarlo en una carpeta fácilmente accesible. Por ejemplo c:\router

Cuando lo hemos instalado, crearemos un archivo llamado por ejemplo router.bat con este codigo:

C:

Cd \

Cd router\bin\

Tclsh80.exe router.txt



Luego crearemos un archive llamado router.txt (si queremos crear otro archive que no tenga ese nombre, tendremos que cambiar tambien el router.txt del codigo del router.bat

El archivo router.txt llevara el codigo que te he puesto al principio.

Y mas adelante podremos ejecutar el archivo router.bat para ejecutar todos los comandos de tu post.

Si consideras oportuno postearlo, hazlo sin reparos, el trabajo duro ya lo has hecho todo tu, yo solo he puesto un granito de arena.

Muchas gracias otra vez

los méritos son para rolflin

Saludos
yo hice este, y no se si lo hice bien, cuando ejecuto el archivo bat, lo ultimo que me ponen en la ventanta de simbolo de sistema, es login y password y despues ya no pone nada mas. Tendria que aparecer en esta ventana los otros sends que se manda? o estos son ocultos. Es que me extraña.
salu2
 
#19
hola.
No tiene que salirte nada.... si se cierra la ventana es que todo ha salido bien.... de todas formas si quieres ver si te ha funcionado, entra en el router y mira a ver el tamaño de la tabla nat, si es de 2048 es que ha cambiado, si es de 1024 no te ha hecho na de na....
Si has seguido todo slos pasos, te aseguro que te funcionara todo ;)
Un saludo
 
#20
Pues a mi se me sigue colgando

Tengo la conexion de Jazztel aun en modo de 512 pero dentor de poco a un mega, con eso de las llamadas gratis y tal , bueno la cosa es q lo tengo desde el lunes y se me cuelga con el emule siempre, a veces hasta en 25 minutos, es un asco, como tampoco puedo quitar el firewall del router ya no tengo ni idea q hacer, he probao con el script este y tampoco nada ¿ que hago?
 
Arriba