Mostrando entradas con la etiqueta comtrend. Mostrar todas las entradas
Mostrando entradas con la etiqueta comtrend. Mostrar todas las entradas

comtrend hg536+: Script para cambiar de ip sin resetear el router en python

Esta es la versión actualizada del script de este post comtrend hg536+: cambiar de ip sin resetear el router, script en python. La principal diferencia es que nos muestra la ip pública que teníamos antes de realizar el reseteo y después


El script usa lo mismo que lo explicado en Comtrend hg536+: cambiar de ip sin resetear el router.

Podremos ejecutarlo siempre y cuando tengamos instalado python en nuestro SO (linux, windows ...). Podemos crear el archivo con el comando
cat > ~/bin/resetear.py
chmod u+x ~/bin/resetear.py


El script es el siguiente:
#!/usr/bin/python
#
# Copyright (C) 2012 dieguz2
# License: GNU GPL v2
# http://dieguz2.blogspot.com/
# Script for comtrend hg536+ ( firmware A101-302JAZ-C03_R21.A2pB021g.d15h )
# This  scripts connect to router and reset ip in 40s. In this example use default values for jazztel .

import getpass
import sys
import telnetlib
import time
import urllib2
import re


HOST = "192.168.1.1"
LOGIN = "admin"  
PASS = "admin"
PROMPT = " -> "
WAITTIME = 40  # Number of second
CONNECTIONNAME = "0.8.35 2"  # to see your connections, manually connect to router (telnet 192.168.1.1) and use "wan show" .You should choose you PPPoE connection Use a combination of  VCC + Con Id. For example ""0.8.35 2""


def resetear():
    tnt = telnetlib.Telnet(HOST)

    tnt.read_until("Login: ")
    tnt.write(LOGIN + "\n")

    tnt.read_until("Password: ")
    tnt.write(PASS + "\n")

    tnt.read_until(PROMPT)
    tnt.write("ppp config " + CONNECTIONNAME + " down\n")

    time.sleep(3)
    tnt.write("\n")
    tnt.write("ppp config  " + CONNECTIONNAME + " up\n")

    time.sleep(WAITTIME)

    tnt.read_until(PROMPT)
    tnt.write("ppp config  " + CONNECTIONNAME + " up\n")

    tnt.write("\n")

    tnt.read_until(PROMPT)
    tnt.write("13\n") # press option to exit

    tnt.close()
    return
def getip():
    try:
        ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}' ,urllib2.urlopen('http://checkip.dyndns.org/').read())
        salida = ip[0];
    except:   
        salida = '(Error al obtener la ip)'
    return salida

#programa
ip_current = getip()
print 'Current ip -> ' + ip_current
resetear()
ip_new = getip()
print 'New ip -----> ' + ip_new

comtrend hg536+: cambiar de ip sin resetear el router, script en python


El siguiente código contiene un script en python para resetear el router comtrend hg536+, en este caso está configurado para un router jazztel con los valores por defecto de user,pass y el nombre de la conexión.

El script usa lo mismo que lo explicado en Comtrend hg536+: cambiar de ip sin resetear el router.

Podremos ejecutarlo siempre y cuando tengamos instalado python en nuestro SO (linux, windows ...). Podemos crear el archivo con el comando
cat > ~/bin/resetear.py
chmod u+x ~/bin/resetear.py
Versión actualizada en :
http://dieguz2.blogspot.com.es/2012/04/comtrend-hg536-script-para-cambiar-de.html

El script es el siguiente:
#!/usr/bin/python
#
# Copyright (C) 2009 dieguz2
# License: GNU GPL v2
# http://dieguz2.blogspot.com/
# Script for comtrend hg536+ ( firmware A101-302JAZ-C03_R21.A2pB021g.d15h )
# This scripts connect to router and reset ip in 45s. In this example use default values for jazztel .

import getpass
import sys
import telnetlib
import time

HOST = "192.168.1.1"
LOGIN = "admin"
PASS = "admin"
PROMPT = " -> "
WAITTIME = 40 # Number of second
CONNECTIONNAME = "0.8.35 2" # to see your connections, manually connect to router (telnet 192.168.1.1) and use "wan show" .You should choose you PPPoE connection Use a combination of VCC + Con Id. For example ""0.8.35 2""

tnt = telnetlib.Telnet(HOST)

tnt.read_until("Login: ")
tnt.write(LOGIN + "\n")

tnt.read_until("Password: ")
tnt.write(PASS + "\n")

tnt.read_until(PROMPT)
tnt.write("ppp config " + CONNECTIONNAME + " down\n")

time.sleep(3)
tnt.write("\n")
tnt.write("ppp config " + CONNECTIONNAME + " up\n")

time.sleep(WAITTIME)

tnt.read_until(PROMPT)
tnt.write("ppp config " + CONNECTIONNAME + " up\n")

tnt.write("\n")

tnt.read_until(PROMPT)
tnt.write("13\n") # press option to exit

tnt.close()

comtrend hg536+: cambiar de ip sin resetear el router

En ocasiones no es necesario cambiar nuestra dirección ip, una de las opciones es la de resetear el router, pero esto puede implicar que se marque nuestra linea como problemática y el ISP (en mi caso jazztel) podría reducir la velocidad de sincronizacion para intentar mejorla.

Por otra parte es lento, tarda unos 2 minutos en reiniciarse y conseguir una nueva ip.

Con el siguiente procedimiento negociaremos una nueva dirección ip en menos tiempo sin resetear el router.

1) Conectar por telnet al router. Usualmente es el 192.168.1.1. Si lo desconocemos debemos mirar cual es nuestra puerta de enlace ( gateway) usando el comando ipconfig en windows o el comando route ( como root o con sudo) en linux . Tambine podemos mirar el network manager en caso de usarlo. El comando para conectar con telenet desde una terminal sería
telnet 192.168.1.1

2) Una vez conectados ejecutamos:
ppp config 0.8.35 2 down

3) Pasados unos 30 segundos ejecutamos. Puede darnos un error
ppp config 0.8.35 2 up

Puede darnos el error siguiente : "ping: sendto: Network is unreachable". Si esto es asi, esperamos otros 10s y probamos de nuevo ( y sucesivamente hasta que no de el error)

comtrend hg536+: cerrar puertos 21 ( ftp ), 23 ( telnet) y 80 (web)

El router comtrend 536+ es distribuido por jazztel y telefónica. En el caso de jazztel al pasar algún escaner de puertos online, aparecían puertos abiertos que no era posible cerrar a través de la interfaz web o de telnet. Con los siguientes pasos aseguraremos nuestro router, de modo que todos los puertos salvo los que abramos nosotros aparezcan cerrados.

1- Para acceder al router (en mi caso de jazztel), escribiremos la dirección http://192.168.1.1 .En mi caso el usuario es admin y la contraseña admin.

2- En el router es posible restringir desde donde se puede acceder para cambiar la configuración del router. Modificaremos las opciones en Management/ Access Control. Para permitir únicamente acceder al router desde la red local (LAN) y no permitirla desde interner (WAN). En la imagen está configurado para para permitir el acceso al router a través de la interfaz WEB y a través de TELNET. No debemos quitar todas las opciones de LAN o no podrémos acceder a la configuración del router


Aún Haciendo el paso 2, los puertos 80,21 y 23 aparecen abiertos. Si bien es cierto que desde fuera no pueden en principio acceder a la configuración, no es recomendable que aparezcan abiertos. Para cerrarlos seguiremos con los próximos pasos.

3) Exportamos la configuración actual a través de Management/ Settings / Backup y quedará guardado en un archivo de texto cuyo nombre por defecto es backupsettings.conf que guardaremos en el Escritorio o donde queramos.


4) Editamos el archivo backupsettings.conf con un editor de textos (notepad, vi, gedit, kate ...). Y buscamos la siguiente línea:

entry2 vccid="1" conid="2" name="pppoe_8_35_2" protocol="PPPOE" encap="LLC" firewall="disable" nat="enable" igmp="disable" vlanid="-31700" service="enable">


Cambiaremos firewall="disable" por firewall="enable" . De modo que la línea queda así:

entry2 vccid="1" conid="2" name="pppoe_8_35_2" protocol="PPPOE" encap="LLC" firewall="enable" nat="enable" igmp="disable" vlanid="-31700" service="enable">


NOTA: en ambas líneas es < entry2 (sin espacio entre < y entry2), pero blogspot no me deja publicarlo, así que he quitado el <. Salvamos el archivo.

5) En el router, subiremos el archivo de configuración backupsettings.conf que hemos modificado al router. Vamos a Management/ Settings / Update. en examinar buscamos el archivo, y le damos al botón Update Settings.


6) Le damos a Management/ Save/Reboot para que se guarden los cambios y se reinicie el router. tras unos 2 minutos podremos volver a navegar y a pasar correctamente los escaners de puertos.