Programación

OpenFlow en MikroTik con MetaROUTER

Recientemente MikroTik ha incorporado OpenFlow  a la versión v6 del RouteOS. Esto realmente es una revolución de las próximas cosas que podremos hacer en nuestras redes.

En MKE Solutions se hablo sobre OpenFlow hace un tiempo y como se implementa. Recientemente un grupo de Brasil ha desarrollado un módulo para openWRT de OpenFlow que es ejecutado sobre MetaROUTER en MikroTik.

El nombre del proyecto es MikOF y con el se puede experimentar en la implementación de este protocolo. Esta optimizado para un RB433AH pero puede ser instalado en cualquier RouterBOARD

Puede leer mas información en el sitio del proyecto.

Configuraciones b�sicas para MikroTik RouterOS

Leyendo el foro de MikroTik encuentro el hilo donde un usuario del grupo comparte un enlace de un sitio donde muestran algunos ejemplos de configuraciones básicas para RouterOS.

Le estuve echando un ojo y me ha gustado porque trae algunos ejemplos que pueden ayudar a quien se inicia como también para alguien que quiera armar una plantilla de configuración (repito básica).

En los ejemplos de configuraciones que hay se encuentran un Firewall de protección para el router con prevención de ataque por fuerza bruta. Ejemplos de NATs y como sincronizar la hora con NTP.

En el mismo hilo del foro, otros usuarios han aportado algunos scripts para DynDNS, Backups  y como configurar una VPN PPtP en RouterOS.

Pueden revisar los códigos de la configuración y leer los comentarios sobre diferentes TIPs en el sitio.

Vía: MikroTik

Un poco de vida al blog…..

Acabo de ingresar al blog luego de mucho tiempo de no hacerlo, motivos: varios, principalmente la falta de tiempo que antes destinaba para mis actividades de ocio.

He estado fuera de mi ciudad por mas de 2 meses y esto hace que las diferencias horarias de los países en donde he estado, mas el soporte y la consultaría diaria dificulte hacer las actividades de actualizaciones de conocimientos, sitios, etc.

Amen a eso, he estado dedicándome 100% a la finalización del Ciclopev6 y la verdad que la programación del código ha sido mas compleja de lo que la había diseñado, porque a medida que iba avanzando se me ocurrían algunas cosas para agregar o mejorar y que hace que lleve mas tiempo su finalización. Pero estoy contento por como va quedando, si bien a nivel de interfaz le queda un poco, a nivel del corazón (motor) está funcional  y las pruebas de laboratorio han dado excelentes resultados.

Tengo en funcionamiento algunos proxys en producción en clientes que disponen diferentes cantidades de usuarios y topologías en sus redes;   los resultados al momento de colocar el Ciclope en paralelo son significativas. Uno de ellos tiene mas de 1000 clientes y el proxy, pasado unos días de funcionamiento, está entregando casi 15 megas constantes (está limitado a propósito para no saturar la red); el rendimiento pasado unos días de almacenamiento es notable.

Esta nueva versión totalmente programada desde cero, esta hecha en binario y optimizado su código para tener una mejor perfomance que la versión anterior. El panel de administración dista mucho de la que estaba funcional; la versión actual dispone de un panel de estadísticas y reportes mucho mas detallada que permite tener una idea en tiempo real de como está funcionando el Ciclope; también tiene sistemas de actualizaciones de plugines (addons), librerías y hasta el mismo WebPanelView para siempre estar con los últimos agregados disponibles.

Realmente estoy muy contento con los desempeños de ésta versión. Pronto estaré poniendo a disponibilidad pública las licencias para las nuevas instalaciones y las actualizaciones a quienes aún tengan soporte activo en sus licencias.

Voy a aprovechar ésta semana que estoy en entrenamiento para destinar unas horas diarias y escribir algunos post en el blog que tengo pendiente a hacerlo desde hace mucho tiempo.

 

Generador de Certificados SSL auto-firmados

Muchas veces estamos en entornos de desarrollo y necesitamos utilizar un certificado SSL para realizar alguna aplicación con seguridad encriptada de datos.

Sucede que para generar los certificados debemos realizar algunos pasos para la creación de llaves desde la consola (Linux). Existe un sitio en donde su administrador comenta que al website lo creó ya que le daba pereza cada vez que tenía que crear un certificado buscar los pasos para hacerlo ya que no se los acordaba de memoria.

El sitio Self Signed Certificate es un generador de certificados autofirmados, nosotros le colocamos el dominio –Server Name–  y nos devuelve la llave pública y privada para luego ser importada en un servidor; también devuelve las lineas de configuración para utilizarlo en un Apache por ejemplo.

Este mismo servicio puede ser utilizado para generar los certificados para trabajar con OpenVPN o SSTP en MikroTik sin necesidad de hacer los diferentes pasos manuales para hacerlo.

Recuerden que este certificado dará una alerta ya que no esta firmado por una entidad de confianza conocida, pero no es mas que eso, una alerta. Si se desea se puede comprar algún certificado real en entidades como Verisign o Thawte; también si es personal puede ser conseguido gratis desde StartSSL.

Una excelente herramienta de trabajo para el administrador de sistema.

Self Signed Certificate

Nueva theme para MKE Solutions

Si bien tiene varios días de funcionamiento la nueva interfaz de MKE Solutions, hasta ayer estaba con cambios internos en el código mas no así del aspecto.

Este nuevo estilo está muy optimizado, su código es más compacto y dispone de mayores recursos por lo que hace que el sitio tenga una buena performance. Existe un sitio -del cual tengo un post programado para estos días en donde hablo de él- que le hace un testeo a cualquier sitio web simulando carga de usuarios y te va midiendo el ancho de banda que está traficando en ese momento. Los resultados del testeo dieron que soporta hasta 50 usuarios concurrentes y 200 megas de tráfico constante; mas de eso el sitio tiene bastantes tiempos de retraso y se vuelve un poco lento. Gracias a unos sistemas de cache tanto para base de datos como para el html ha ayudado a mejorar aún más la respuesta.

Aún le queda un retoque a nivel estético para darle mayor interacción con las redes sociales pero lo tengo como pendiente ya que no es algo que haga al funcionamiento del sitio. Si encuentran algún error o tienen ganas de decir alguna sugerencia, me pueden enviar un correo electrónico o twittearme para comentarlo.

Ejecutando comandos en MikroTik RouterOS v�a PHP

Encontré hace tiempo una función de PHP que permite conectarse al MikroTik RouterOS para ejecutar ciertos comandos o tareas en los routers.

Lo bueno de esta función es que permite definir un array (arreglo) con el listado de las direcciones IP de los routers en los cuales queremos ejecutar los comandos. La conexión hacia el router se realiza por medio de SSH con lo que hay que instalar el modulo SSH para PHP.

Los pasos para instalar el soporte de SSH en PHP los pueden tomar del siguiente enlace, en donde está explicado paso a paso muy detalladamente para instarlo en Ubuntu.

Una vez instalado el módulo, podemos llamar a la aplicación que se conecte hacía el router, aqui un ejemplo llamado mtssh.php

El sistema es muy útil para realizar actualizaciones masivas, backups o cualquier gestión por lotes.

Vía: Google Code

EasyUbnt: Instalando Ubiquiti mas simple

EasyUbnt es una herramienta que esta desarrollada para Android y que permite administrar la instalación de los dispositivos inalámbricos con el sistema operativo AirOS.

La ventaja de ésta aplicación es que permite encontrar las redes inalámbricas, una vez seleccionada la red se pueden realizar tareas de instalación, medir latencias, conocer el ancho de banda, etc.




Entre las principales ventajas que tiene podemos mencionar:

  • Mejora la instalación ya que realiza la configuración automáticamente
  • Mide la latencia y transferencia de un enlace inalámbrico en una instalación
  • Autodescubrimiento automático de dispositivos en LAN
  • Actualización de Firmware en unos pocos clicks
  • Soporte AirOS v3 y v5 (MIMO)
  • etc
La aplicación parece interesante, como mencione, está disponible para la plataforma Android que puede ser comprada y descargada de la tienda Android.
Mas información sobre la herramienta, videos de su uso y mas capturas de pantalla en el sitio oficial.

MikroTik RouterOS BruteForcer

Hace tiempo que tengo en favoritos el siguiente script, el cual puede tener uso para algo bueno ó también para hacer algo malo. Es una herramienta que hace un ataque por fuerza bruta para intentar recuperar la contraseña de un equipo RouterOS y no deseamos hacer un netinstall.

La herramienta intenta hacer un login vía web para encontrar la combinación que hace la contraseña. Para protegerse de este ataque basta con cerrar el puerto 80 con una regla de firewall para que no sea vulnerable a este ataque.

vía: Google y Pastebin

Dreamhost VPS Manager

Dreamhost es el servidor que utilizo de hosting para los diferentes sitios que tengo, algunos mios, otros de algunos amigos y clientes que tienen su blog. En general tiene un buen servicio, no me puedo quejar, porque siempre su soporte ha respondido en tiempo y forma al momento que tuvo algún problema.

Desde hace un año y medio aproximadamente migre a MKE Solutions a un VPS dentro de la misma empresa ya que empezaba a tener una carga mayor y aumento de necesidad de recursos, lo cual fue la mejor elección. Hace un par de semanas el sitio de MKE Solutions empezó a tener algunos cortes en los cuales no estaba disponible. Cuando sucedía eso tampoco podía acceder por SSH; me contacte con el soporte y me dijo que habían colocado una nueva política de script que los sitios que consuman mas memoria RAM que la que tienen seteada (configurada en el VPS) se reinician automáticamente, lo que hace que por el lapso de unos minutos el sitio no este disponible.

La política de reiniciar el servidor cuando sucede esto es para asegurarse que no haya alguna aplicación que este corriendo y que consuma mucha memoria dejando inestable el sistema, reiniciando se liberan todos los procesos. El problema que el aumento de la memoria tiene un costo y el no conocer la cantidad de memoria que requiere el sitio, en este caso maneja el sitio de MKE Solutions, el sistema de newsletter y algunos sitios internos que trabajamos que se utilizan para trabajar, como paneles de algunos clientes que usan el WebPanelView entre otros hacen que no se pueda mesurar la cantidad necesaria.

Buscando encontré un script llamado Dreamhost VPS ManagerPSManager– el cual permite manejar los tamaños de memoria RAM de los VPS de Dreamhost automáticamente a través de un API. De esta manera se puede temporariamente aumentar la memoria RAM cuando hay un pico de tráfico y luego bajarla cuando no haya actividad en el sitio logrando bajar los costos del hosting en momentos ociosos.

Para su instalación es necesario obtener un API key, que se adquiere desde el panel de Dreamhost y luego se hace la instalación del PSManager, la cual es muy simple y hay una guía de como hacer paso a paso los procesos hasta su configuración. Allí mismo indican los diferentes parámetros que se pueden retocar en el archivo de configuración de acuerdo a nuestro gusto. Hay que tener algunas precauciones a tener en cuenta para evitar una penalización por parte de Dreamhost ya que solo permite tener 30 cambios de tamaño de memoria por VPS por día, con lo que hay que ser cuidadoso. De todos modos el PSManager no hará mas de 10 cambios en 8 horas para evitar problemas.

Además permite indicar vía Twitter o Identi.ca los cambios de los ajustes de memoria RAM a medida que se vayan seteando, así poder tener una idea de sus valores.

Se puede descargar su código fuente ya que esta liberada con licencia GNU-GPL v3. Más información en su sitio oficial.

MAC-Telnet server para Linux

En MikroTik RouterOS tenemos el servicio de MAC-Telnet, el cual nos permite ingresar a un router MikroTik -que tenga habilitado el servicio- tan solo con la MAC-Address y sin necesidad de tener IP.

Esta opción es muy útil cuando se quiere configurar un router que viene seteado de fabrica sin IP, ó cuando perdemos conectividad con algún dispositivo y estamos en el mismo segmento de red, entre algunas de sus utilidades. Tiene la desventaja que al ser en Capa 2OSI– no tiene corrección de errores y por lo tanto no es seguro para transferir un archivo, pero si lo es para un acceso general.

Ya habíamos comentado que un grupo le había hecho ingeniería inversa al protocolo y habían creado un MAC-Telnet cliente nativo para Linux, pues bien, estos mismos amigos han portado el MAC-Telnet Server para ser instalado en un Linux y poder tener acceso a un servidor vía MAC.

El siguiente es un ejemplo de un MAC-Telnet a un Ubuntu desde un MikroTik:

[admin@Holmenveien] > tool mac-telnet 1c:6f:65:2c:98:b7
Login: haakon
Password:
Trying 1C:6F:65:2C:98:B7...
Connected to 1C:6F:65:2C:98:B7
Linux haakon-kontorpc 2.6.35-23-generic-pae #41-Ubuntu SMP Wed Nov 24 10:35:46 UTC 2010 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
* Documentation:  https://help.ubuntu.com/

haakon@haakon-kontorpc:~$ w
01:32:52 up 24 days, 22:48,  2 users,  load average: 0.53, 0.61, 0.57
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
haakon   tty7     :0               01Dec10 24days 26:29m  3.17s gnome-session
haakon   pts/0    0:c:42:3e:20:c2  01:32    0.00s  0.15s  0.00s w

 

Los pasos de la instalación y configuración son muy simples, se puede bajar el código fuente o un paquete DEB para Debian/Ubuntu.

Mas información en el sitio lunatic.