Desde hace varios meses tenia cosas pendientes en el blog , que por carga de trabajo, no los podía postear, uno de ellos es este genial mini tutorial cuya autoría pertenece a mi amigo Alfredo Pastor (alfredomacr@gmail.com) el cual pienso que a mas de uno le sera útil.

El tutorial muestra como realizar la configuración de un telefono yealink para ser usado como un cliente vpn , de un servidor vpn en este caso openvpn instalado en un servidor Elastix. Esto provee una capa adicional de seguridad para poder encriptar y asegurar la conversaciones que pasan a través de internet con extensiones remotas.

OPENVPN EN EQUIPOS YEALINK

Este mini tutorial tiene por objetivo llegar a configurar los equipos Yealink T26p, T28p, T38p y el VP530 con OpenVPN. Primero que nada deberán configurar OpenVPN en el servidor Elastix.

 NOTA: Para este tutorial se utilizó la versión 2.3 de Elastix (64 bits).

 Manos a la obra, como les comentaba anteriormente deberán configurar primero la VPN. Este LINK les ayudará a realizar dicha configuración.

 Cuando lleguen a la parte donde se generan las llaves, es decir, la ca.crt, cliente1.crt y cliente1.key; regresen a este tutorial. Estos archivos se encuentran ubicados en /etc/openvpn/keys y deberán ser copiados en una carpeta llamada keys, lo que yo hago es lo siguiente:

1.1) Si estoy en Windows 7, me descargo el Winscp.  ( Nota : esta parte no me gusta Alfredo , pero soy inclusivo 😀 )

1.2) Si estoy en Ubuntu, me descargo el gFTP (lo descargan por el Centro de software de Ubuntu).

El siguiente paso es que deberemos crear un archivo más, al cual llamaremos vpn.cnf; este será el que nos redireccione ante nuestro servidor OpenVPN y el cual tendrá la configuración de comunicación, a continuación detallo dicho documento.

Para los YEALINK T26p y T28p, deberán colocar lo siguiente:

client
dev tun
proto udp
remote mi.dominio.com 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
# mute-replay-warnings
ca /yealink/config/openvpn/keys/ca.crt
cert /yealink/config/openvpn/keys/cliente1.crt
key /yealink/config/openvpn/keys/cliente1.key
ns-cert-type server
comp-lzo
ping 60
verb 3

Para los YEALINK T38p y VP530, deberán colocar lo siguiente:

client
dev tun
proto udp
remote mi.dominio.com 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
# mute-replay-warnings
ca /config/openvpn/keys/ca.crt
cert /config/openvpn/keys/cliente1.crt
key /config/openvpn/keys/cliente1.key
ns-cert-type server
comp-lzo
ping 60
verb 3

El siguiente paso que debemos seguir es comprimir todos los archivos que hemos creado en un .tar, esto es algo similar a utilizar el winrar o el winzip. A este tar lo llamaremos openvpn.tar (o como ustedes deseen llamarlo).

Para crear los tar en Windows 7, podemos guiarnos del siguiente link. Y si estamos en Ubuntu es mucho mas fácil, solo nos dirigimos a través de un terminal hasta la carpeta donde se encuentran nuestros archivos, es decir, la carpeta keys y el archivo vpn.cnf. En este caso yo los tengo en mi escritorio y hago los siguiente:

cd
cd Escritorio/
tar -cf openvpn.tar keys/ vpn.cnf

Si todo va bien, podremos observar que se nos a creado openvpn.tar en el escritorio.

Así que ya solo nos falta cargarlo de la siguiente manera en nuestro teléfono ip. Nos vamos a Network > Advanced > VPN > Seleccionar Archivo y le damos click a nuestro archivo openvpn.tar. Luego de ello seleccionamos Importar, finalmente en el select de VPNActive ponemos Enabled yseleccionamos el botón Confirmar. Luego de este paso el teléfono se reiniciará.

Hasta aquí lo que hemos logrado es comunicarnos vía VPN, pero aún no lograremos comunicarnos con asterisk ya que falta configurar nuestra extensión; notarán en la siguiente imagen que yo estoy apuntando a la dirección 192.168.37.1 y esto es porque en el link que les comente mas arriba, el rango que utilizan para las conexiones VPN son las 192.168.37.0/255.255.255.0 siendo la 192.168.37.1 la dirección asignada por defecto al servidor OpenVPN (en este caso nuestro Elastix).

Ahora ya solo nos falta natear nuestros puertos en el router y apuntar a nuestro servidor Elastix:

  • El 1194 para OpenVPN con TCP y UDP (ALL).

  • Del 10000 al 20000 para RTP con TCP y UDP (ALL).

IMPORTANTE: Las VPN’s generan mayor ancho de banda en los paquetes, y como experiencia les comento que tuve algunos problemitas al principio por dicho tema (retardos y pérdidas de comunicación). Así que comencé a analizar el problema y me di cuenta que aun no había instalado la compresión lzo, la cual es una librería de compresión de datos y está diseñada para comprimir y descomprimir en tiempo real. Esto es fundamental para el buen funcionamiento de comunicación, lo que tienen que hacer es instalar estos paquetes de la siguiente manera:

  • yum install lzop.x86_64

  • yum install python-lzo.x86_64 (esto lo puse por las dudas).

 NOTA: Este documento se encuentra distribuido bajo licencia GPLv3.

6 respuestas a “Configurar OPENVPN en equipos YEALINK”

  1. Avatar de Jean Paul Vega

    Hola Juan, funciona muy bien todo. Un adicional, para los nuevos Yealink T21P también se debe colocar en el vpn.cnf la ruta desde el directorio /config/openvpn/….

  2. Avatar de Jhon Arango

    muchachos un gran favor alguien tiene de casualidad un archivo .tar de configuracion que me sirva para la configuracion es que me estoy intentando con una central de otra referencia

  3. Avatar de Daniel

    Hola Juan. Puedes ampliar un poco mas el tema de compresiòn del LZO? Instale mi server, pero tengo varias desconexiones y latencias altas de 250ms a 400ms. A nivel de voz, suele mostrarse ciertas perdidas audibles. Instale LZO como indicas en la ultima parte del blog. Sin embargo no noto cambios, y seguramente me falta habilitarlo. Puedes indicar como?

    1. Avatar de FRANK
      FRANK

      sigue estos pasos…….

      ————————————————————————————-
      ACTIVAR LZO PARA MEJORAR LA COMPRESION DE PAQUETES EN LA VPN Y AHORRAR ANCHO DE BANDA Y MEJORAR QOS
      ————————————————————————————-
      -cd /usr/src
      -wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
      -tar -xf lzo-2.09.tar.gz
      -cd lzo-2.09
      – ./configure
      -make
      -make check
      -make test
      -make install

      -luego revizar si los certificados tienen agregado el modo de compresion LZO

      -cd /etc/openvpn
      – ls
      -vi server.conf

      (verificar esto)
      …………………………………………………………………………………
      port 1194
      proto udp
      dev tun
      server 10.8.0.0 255.255.255.0
      ifconfig-pool-persist ipp.txt
      keepalive 10 120
      comp-lzo -> tienes que estar esto!!
      max-clients 30
      persist-key
      persist-tun
      log openvpn.log
      log-append openvpn.log
      verb 3
      management localhost 7505
      …………………………………………………………………………………..

      SI NO LO TIENES LO AGREGAS Y LISTO

  4. Avatar de Sebastian Lopez

    Buenas Tardes, alguno logro configurar la OpenVPN para telefonos Yealink T21P? y T21P-E2?
    Para que por favor me ayude y me indique como realizarlo

  5. Avatar de Nathalie Anderson

    This was lovely too read

Deja un comentario

Juan Oliva

Consultor en Ciberseguridad y VoIP con mas de 16 años de experiencia en el campo, muy involucrado en proyectos de Ethical Hacking, análisis y explotación de vulnerabilidades en infraestructura, aplicaciones web, APIs y Móviles, pruebas de ingeniería social y revisión de código.