Luis Abenza

Blog sobre temas como: Asterisk, VoIP, Mikrotik, Wireless, Web, Publicidad, …

Archive for the ‘Networking’ Category

Hoy ha sido mi primer día del training oficial de Mikrotik al que estaba apuntado.

Ha sido una jornada intensa, sobre todo cuando hemos empezado a ver el filtrado y el marcado de paquetes.

Me ha sorprendido gratamente la calidad del curso y el buen hacer de los dos profesores: Alfonso y Alessio.

Y mañana empezamos con NAT!

Ya me ha ocurrido un par de veces, tal y como se ha comentado en varias listas, que no termina de levantar el módulo SIP de Asterisk si perdemos la conexión a Internet y hay definida una o más líneas SIP.

Esto lo podemos evitar montando un servidor de nombre (BIND) con cacheo en la propia máquina de Asterisk. Suponiendo que trabajamos con CentOS, el proceso sería más o menos así:

yum -y install bind bind-libs caching-nameserver bind-chroot

chkconfig named on

service named start

Ahora editamos el fichero /var/named/chroot/etc/named.conf para añadir los reenviadores (servidores DNS externos, que en nuestro ejemplo será los de opendns.com) dentro de la sección options:

forwarders {
208.67.222.222;
208.67.220.220;
};

Por último, editamos el fichero /etc/resolv.conf para decirle a la máquina que se consulte a sí misma y lo dejamos así:

search localdomain
nameserver 127.0.0.1

Reiniciamos el servicio de DNS:

service named restart

Ya habríamos terminado, pero hay que tener en cuenta que hay que dejar pasar unas horas….

Mikrotik 3.0rc9

Tercer update de la versión 3.0 de Mikrotik en menos de una semana!

Parece que se acercan ya a la versión final.

*) fix for rb100 - can change ethernet settings when interface in bridge/bond;
*) fixed problem - RouterOS did not boot on some routers
(reported disk not found);
*) fixed dns resolver - sometimes could not parse packets with AAAA records;
*) hide ppp interface & wireless passwords and keys in WinBox as well;
*) fixed traffic-flow - could hang multi cpu router and ignore targets sometimes;
*) fixed rb100 - ethernets could be set at random bandwidth limit after reboot;
*) console:
repaint whole screen after terminal size change while in editor
(same as pressing F5 or Ctrl-L). this solves numerous issues with
terminal resizing;
added more workarounds for the case when terminal is too narrow
(<4 characters);
now logical operators '&&' and '||' can also be written as 'and' and 'or';
removed 'where' and 'from' arguments of find command. now find command
can be followed by arbitrary expression that can use item properties,
e.g. "find dst-address in 192.168.0.0/16 and interface=wlan1";
added 'where' argument to print command. "print where " and
"print from=[find ]" are equal;
removed filters from firewall print commands, now write, e.g.,
"/ip firewall filter print where !dynamic" instead of
"/ip firewall filter print static";
*) web proxy: fixed crash on stopping proxy;

Imagen del RouterBOARD 1000

Un preview de lo que será la nueva RouterBOARD 1000.

RouterBOARD 1000

MTU/MSS adecuados en Mikrotik

Ojeando el blog de maxid, he encontrado este artículo acerca de cómo solventar problemas derivados de la fragmentación de paquetes con Mikrotik. Estos problemas pueden ser el acceso a páginas HTTPS, conexiones MSN, etc.

Para solucionarlo debemos cambiar el MSS con la una regla en el mangle. Existe una tabla de referencia:

MTU/MSS Mikrotik

Mikrotik 3.0rc6 y protocolos L7

Ya salió la nueva RC de Mikrotik, la 3.0rc6. Entre otras novedades que podéis ver en el changelog, lo que más me interesa es el soporte para marcar por Layer7 a través de WinBox.

Podemos añadir unos cuantos protocolos con este script (la lista es increíble). Para la siguiente versión prometen mejorarlo un poco.

Reenvío de puertos por SSH…

…o cómo utilizar nuestra conexión SSH para acceder a cualquier máquina:puerto al que tenga acceso el servidor remoto.

Os comento una situación típica:

Disponemos de un acceso SSH al servidor Asterisk de un cliente para su mantenimiento. Por el motivo que sea, necesitamos acceder a otros puertos de la misma máquina o de otras conectadas al servidor. En este caso, necesitamos conectarnos a la administración web de un teléfono IP Linksys.

Si no tenemos acceso por VPN o posibilidad de realizar NAT desde el router/firewall, podemos utilizar el túnel SSH para acceder a este puerto.

Vamos a indicar cómo hacerlo utilizando el programa PuTTy (sobre Windows):

  1. Ejecutamos PuTTy y seleccionamos la sesión a utilizar
  2. En el menú de la izquierda nos dirigimos a: Connection->SSH->Tunnels
  3. Añadimos un nuevo puerto (”Add new forwarded port”):
      • Source port: Puerto al que conectaremos desde nuestra máquina
      • Destination: IP_REMOTA:PUERTO_REMOTO
      • En las opciones, dejar “Local” marcado
      • Presiona “Add” para añadir el túnel
  4. Volvemos a “Session”, pudiendo salvarla con el nuevo puerto, y presionamos “Open” para conectar
  5. Inicia sesión en el servidor remoto

Con estos pasos cumplimentados, ya disponemos del túnel.

El túnel lo que hace es un reenvío desde nuestra propia máquina hacia la remota (como un NAT). Por lo tanto, para acceder al puerto, como IP utilizamos “127.0.0.1″ o “localhost”.

Si el puerto es el 80 para acceder a la administración web del teléfono Linksys, por ejemplo, podríamos acceder a ella poniendo la siguiente dirección en nuestro explorador:

http://localhost:80 (o http://localhost/)

  • 2 Comments
  • Filed under: Networking
  • Para utilizar el cliente de Windows XP/2000 con L2TP para conectar a Mikrotik debemos desactivar IPSec. Para hacer esto, hay que meter un nuevo valor en el registro:

    • Ejecutar regedit.exe
    • Acceder a:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
    • Añadir un nuevo valor DWORD llamado ProhibitIpSec
    • Asignarle un valor hexadecimal 1
    • Reiniciar

    Esto desactivará IPSec para las conexiones L2TP, y se utilizará el protocolo MPPE (como en PPTP) para encriptar el tráfico.

    QoS y VoIP

    Muchas veces nos encontramos con problemas de sonido y ecos entre terminales VoIP. Se habla mucho de los problemas provenientes de convertir la comunicación analógica en IP, pero en este caso me refiero a la comunicación IP-IP.

    Es muy importante disponer de una red planificada al efecto, si se puede separar la voz de los datos, mejor. Unos switches gestionables que prioricen por tipo de tráfico sería estupendo. Pero la mayoría de los problemas vienen cuando la comunicación se realiza a través de Internet con usuarios nómadas u otras sedes. Aquí es donde implementar QoS es más necesario, y pocas veces se utiliza.

    Con QoS podemos priorizar el tráfico de VoIP sobre el resto de servicios IP, incluso reservarle un ancho de banda exclusivo. Desde Excom, utilizamos Mikrotik como complemento a los proyectos de Asterisk y VoIP para implementar la calidad del servicio (QoS).

    Por ejemplo, si utilizamos el servidor Asterisk exclusivamente para el servicio de VoIP, podríamos marcar los paquetes que entran y salen de este servidor:

    /ip firewall mangle add chain=forward src-address=IP_Asterisk action=mark-packet new-packet-mark=VoIP disabled=no
    /ip firewall mangle add chain=forward dst-address=IP_Asterisk action=mark-packet new-packet-mark=VoIP disabled=no

    Luego darle una prioridad 1 a estos paquetes con una cola simple:

    /queue simple add name=”Cola-VoIP” priority=1 packet-marks=VoIP disabled=no

    Y a lo mejor limitar el resto de nuestro tráfico a 512 con una prioridad mucho más baja:

    /queue simple add name=”Cola-Resto” priority=5 max-limit=512000/512000 disabled=no

    Simplemente con esto mejoraremos notablemente la calidad de las conversaciones IP-IP entre sedes o con usuarios nómadas.

    Mikrotik acaba de lanzar una beta de un pequeño escaneador de red que te genera un informe en PDF.

    Kiss The Net (KTN) Beta

    Automáticamente empieza a escanear al ejecutarlo y genera un PDF curioso e interesante.