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

5 mar 2019

Asuswrt es el nombre del firmware desarrollado por el fabricante Asus para su uso en sus últimos routers. Esta basado en Tomato, un proyecto de firmware de codigo abierto para routers, este firmware ha sido extensivamente modificado por Asus a lo largo de años para adaptarse a sus propios requisitos y especificaciones.
Asuswrt-Merlin es una iniciativa del desarrollador canadiense Eric Sauvageau  el cual ha personalizado una versión del firmware de Asus. En dicha personalización no se producen grandes cambios, se solucionan algunos pequeños errores y limitaciones, manteniendo para ello el mismo nivel de rendimiento que el firmware original. Por ello se mantienen las siguientes características de Asuswrt soporte completo a aceleración NAT (también conocido como aceleración por hardware), rendimiento NTFS mejorado (a través de los controladores propietarios utilizados por Asus de Paragon o Tuxera) y las características exclusivas de Asus, como AiCloud o AiProtection con tecnología Trend Micro. Pero la fuerza de esta iniciativa es que dicho firmware activa una serie de opciones o características avanzadas extra como son una partición JFFS para Scripts, soporte VPN mejorado ... Si quieres ver una lista de routers oficialmente soportados por Asuswrt-Merlin pulsa aquí.

Hace un tiempo os hablaba en mi entrada "[Proyecto] Mejorando mi Red LAN (Introduccion)" que yo había adquirido en su día un router AC87U (Julio del 2015), al que posteriormente cambie el firmware por el Asuswrt-Merlin. El motivo de este cambio es porque yo quería activar una serie de opciones que el firmware oficial de Asus no trae, por ejemplo que cuando reinicie o cambie la IP Publica que me da mi ISP (Internet Service Provider), reciba en un e-mail con dicha IP. Para hacer esto se realiza mediante un Script en la partición JFFS (Sistema de Ficheros Flash con soporte a Transacciones).

¡¡Atención!! Este procedimiento puede ocasionar graves daños a su equipo, proceda bajo su propio riesgo. Ten en cuenta que este procedimiento tiene una complejidad técnica y recomiendo tener nociones de terminal de Linux. Por favor lee atentamente este procedimiento y si tiene alguna duda te recomiende que leas atentamente mis instrucciones, investigues la bibliografía o preguntes.

Requisitos Previos
  • Tener instalado Asuswrt Merlin, recomendable siempre la ultima versión.
  • En Administración > Sistema  (Administration > System, si lo tenéis en Inglés) tener activadas las siguientes opciones; nota la primera vez  pulsaremos en Si para formatear la partición JFFS en el siguiente arranque (Format JFFS partition at next boot), una vez formateada deberemos dejarla en No. Posteriormente marcaremos en Si Habilitar Scripts y Configuraciones personalizadas en JFFS (Enable JFFS custom scripts and configs).
Persistent JFFS2 partition
Format JFFS partition at next boot No
Enable JFFS custom scripts and configs No

Por ultimo tener habilitado SSH, no me seáis cabestros y habilitarlo solo para la Red LAN, por defecto la conexión sera a través  del puerto 22, tambien hay que habiltar las opciones de aceptar login a través de Password y habilitar protección contra ataques de fuerza bruta SSH.


Pasos a seguir
  1. Conectarnos via SSH al router y el puerto que hayamos puesto. Yo lo he realizado desde Windows por lo que lo hice con el cliente de Telnet y SSH Putty. Nos solicitara que hagamos login en el router. 
  2. Nos dirigimos a  la ruta Raiz Directorio jffs
    cd /jffs
  3. Nos descargamos un certificado seguro (por motivos de presentación en el blog he introducido saltos de línea)
    wget -c -O /jffs/configs/Equifax_Secure_Certificate_Authority.pem
    http://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Certificate_Authority.pem 
    --no-check-certificate
  4. Nos dirigimos a la ruta Raiz Directorio jffs Directorio scripts
    cd /jffs/scripts
  5. Editamos un fichero escribiendo el siguiente comando nano wan-start, sino existe no importa porque este comando lo creara y copiamos en el interior el siguiente script, una vez copiado procederemos a editar los campos  FROM, AUTH, PASS, FRONNAME y TO con nuestros datos:
    #!/bin/sh
    FROM="Direccion email origen: por ejemplo pepitodelospalotes@gmail.com"
    AUTH="Usuario email pepitodelospalotes@gmail.com"
    PASS="Password XXXX"
    FROMNAME="Router Asus"
    TO="Direccion de email destino"
    
    ntpclient -h pool.ntp.org -s &> /dev/null
    sleep 5
    
    echo "Subject: WAN state notification" >/tmp/mail.txt
    echo "From: \\"$FROMNAME\\"<$FROM>" >>/tmp/mail.txt
    echo "Date: $(date -R)" >>/tmp/mail.txt
    echo "" >>/tmp/mail.txt
    echo "I just got connected to the internet." >>/tmp/mail.txt
    echo "" >>/tmp/mail.txt
    echo "My WAN IP is: $(nvram get wan0_ipaddr)" >>/tmp/mail.txt
    echo "Uptime is: $(uptime | cut -d ',' -f1 | sed 's/^.\{12\}//g')" >>/tmp/mail.txt
    echo "" >>/tmp/mail.txt
    echo "---- " >>/tmp/mail.txt
    echo "Your friendly router." >>/tmp/mail.txt
    echo "" >>/tmp/mail.txt
    
    cat /tmp/mail.txt | sendmail -H"exec openssl s_client -quiet \
    -CAfile /jffs/configs/Equifax_Secure_Certificate_Authority.pem \
    -connect smtp.gmail.com:587 -tls1 -starttls smtp" \
    -f"$FROM" \
    -au"$AUTH" -ap"$PASS" $TO 
    
    rm /tmp/mail.txt
  6. Salimos del fichero guardando y si nos pregunta el nombre deberemos poner wan-start, no hay que poner extensiones de ningún tipo.
  7. Cambiamos los permisos a todos los ficheros ubicados en /jffs/scripts añadiendo permisos de lectura y ejecución con el comando:
    chmod a+rx /jffs/scripts
  8. Si el e-mail que vamos a usar para realizar el envío de email es Gmail, deberemos activar la configuración de Acceso de aplicaciones poco seguras. Esta configuración no está disponible para las cuentas que tienen habilitada la verificación en dos pasos (2FA).
  9. Por ultimo lo único que nos quedaría es probar a reiniciar el router de nuestro ISP  y si todo esta correctamente configurado al de unos minutos recibiremos un e-mail con la IP Pública. 
Una de las cosas que me dejo en el tintero es como hacer para que la información de la IP Publica se enviara además mediante un SMS, sobre esto he estado haciendo pruebas y todavia no he conseguido resultados. Por lo demas creo que esta correctamente bien explicado y no hay erratas, pero si los hubiese o si teneis alguna duda o sugerencia teneis a vuestra disposicion los comentarios del Blog.

Compendio Bibliográfico
Información General
Imagenes
  • Logo oficial Asuswrt-Merlin obtenido de la pagina Web Asuswrt Merlin para ilustrar esta entrada. Esta imagen se han puesto en esta entrada para ilustrar la entrada e identificar el firmware en cuestión.

20 oct 2015

Invoice es una aplicación para Mac OS X desarrollada por Kedisoft.  Sirve como bien indica su nombre para la creación, edición y gestión de facturas, además de gestión de inventario, control de pagos etc. Es sencilla pero personalmente me sirve para gestionar mis pequeños negocios. Es una aplicación de pago cuyo precio en su página Web es de 39,99€ y de 39,90€ en la App Store. Es una aplicación que el propio desarrollador ha abandonado ya que no saca nuevas versiones, no resuelve bugs ... El desarrollador nos redirige a su nueva aplicación Totals, la cual personalmente no he probado y no puedo dar mi opinión.

La base de datos de este software se guarda en principio en local (%usuario%/Library/Application Support/Invoice3). Hace unos días se me ha estropeado mi Mac Mini A1776,  este venerable MAC lo compre de segunda mano para hacer de laboratorio de pruebas (solo es capaz de correr hasta MAC OS Snow Leopard), con tal mala suerte que la base de datos estaba alojada en local. Menos mal que tengo la paranoia de tener configurado el Time Machine en todos mis MACs.

Para no tener estos problemas he decidido centralizar en mi NAS Synology la base de datos de Invoice. Además tiene la siguiente ventaja que al estar mi NAS en RAID1 (en espejo) me da una tolerancia a errores mayor por fallo de disco duro. Este el procedimiento que he seguido para poner la Base de Datos en el NAS:
  1. He creado una carpeta compartida en mi NAS que se llama Invoice. He editado los permisos de seguridad para que solo pueda entrar un usuario del NAS en concreto (por sea acaso). En dicha carpeta he introducido los dos archivos que contienen las bases de datos de las tiendas que anteriormente he recuperado de la copia de seguridad del Time Machine. No hay que olvidar que las bases de datos de Invoice tienen extensión .invoicestore (extensión oculta).
  2. He ido a la carpeta %usuario%/Library/Application Support/Invoice3 y he editado el archivo Stores.plist para que apunte a la ruta en red de nuestro NAS. Vuelvo a repetir hay que tener en cuenta que las bases de datos de Invoice tienen extensión .invoicestore (extensión oculta). También hay que tener en cuenta la forma de montaje de MacOSX de las diferentes unidades.

    Hay que poner la ruta red entre las etiquetas , cada linea es una tienda (yo tengo dos lineas porque tengo dos tiendas).
     He creado una unidad red con la ruta de red de mi NAS. Para hacerlo he hecho lo siguiente:
    • Abrir Finder-&gt; Ir -&gt; Conectarse a servidor  
    • Introduzca smb://... ruta nas (ip o Hostname)
    • Al hacer clic en el botón 'Conectar', el sistema le pedirá que introduzca sus credenciales.
  3. Aunque existe la solución de usar una aplicación de terceros (Automount maker) para que automáticamente nuestro MAC nos abra una unidad de red, yo he usado una forma mas sencilla:
    Ítems de Inicio
    • Lo primero que he hecho es montar una unidad en red y guardar la contraseña de la misma en el llavero del sistema. (Paso Anterior)
    • Luego he tenido que ir a Preferencias de Usuario dentro del panel de Preferencias del Sistema.
    • He accedido a la opción “Ítems de Inicio”.
    • He seleccionado la unidad en red o directamente también se puede arrastrar desde el Finder hasta la lista de ítems.  
  4. Para finalizar he reiniciado el sistema y he comprobado que todo arranca bien.
Bueno esta la solución que yo he usado para poner la aplicación Invoice en mi NAS si tienes dudas por favor comenta o si tienes alguna idea de como mejorar o hacerlo de otra manera son bienvenidas las sugerencias y aportaciones. Esta solución ha sido probada en Mac OS X 10.6.8 Snow Leopard y Mac OS X 10.11 El Capitán*1.

*1La aplicación Invoice tiene un bug importante (el cual también yo estoy afectado) es que han desaparecido las flechitas y los datos de fecha en la selección de fecha, la versiones de Mac OS X afectadas son desde Mountain Lion hasta El Capitán. Para más información podéis clickear en el siguiente hilo del foro de Kedisoft.

Compendio Bibliográfico
Información General
  Imágenes