Blog fotografico, notas de viajes y demas yerbas

Configuracion de firewall para videoconferencia

Logo PolycomConfiguración de videoconferencia para Polycom

Me anime a iniciar este pequeño manual, basado en mi experiencia con las soluciones de videoconferencia de Polycom. Polycom es una de las marcas mas reconocidas a nivel mundial en soluciones de tele presencia. Tengo la oportunidad de administrar un MCU (Unidad de Multi conferencia) RMX-1000, asi como equipos Polycom V-500, QDX-6000 y en software PVX.

Estos equipos son utilizados en diferentes oficinas remotas, las cuales se conectan por IP mediante la WAN. Esto funciona muy bien, ya un poco mas de 1año. Lo que si les comento es que el tema de videoconferencia es caro con respecto a costos de equipos, administración, monitoreo y todo lo relacionado a infraestructura de TI.

El nuevo reto fue conectar un equipo QDX-6000, para que pueda recibir y llamar a través de la internet. Hay que tener en cuenta, que no es lo mismo hacer una videoconferencia, a través de una WAN de enlace dedicado, que por internet. Hay que tener varios factores en cuenta, como, latencia de la red, picos de consumo de ancho de banda, ancho de banda a usar, perdida de paquetes entre otros temas mas. En este caso nos centraremos en la configuración del firewall para videoconferencia.

El Firewall

Para firewalls tengo algunas preferencias, dependiendo de la infraestructura disponible. En este caso me toco interactuar con mi firewall favorito shorewall. Shorewall es una de las aplicaciones para firewall, basado en iptables mas usados, me gusta mucho, dado que me permite hacer NAT, SNAT, DNAT, masq, ToS, filtrado de puertos (obviamente) e implementación de políticas de acuerdo a zonas, solo por mencionar algunas de las característica de shorewall.

Configuración de Firewall usando Shorewall

En este parte tenemos que configura el archivo /etc/shorewall/rules de shorewall, en este archivo de configuración especificaremos las siguientes reglas:

Reglas de entrada para Shorewall

DNAT   net     loc:192.168.0.95        tcp     3025:3235 - 200.75.141.255
DNAT   net     loc:192.168.0.95        udp     3230:3253 - 200.75.141.255
DNAT   net     loc:192.168.0.95        tcp     1720      - 200.75.141.255

En donde:

  • 192.168.0.95 es la IP interna del equipo de videoconferencia
  • 3025:3235 es el rango de puertos TCP y UDP necesarios para transmitir la señal, voz, control y datos de la llamada de videoconferencia
  • 200.75.141.255 es la IP publica ficticia, valida para nuestro ejemplo

Reglas de Salida para Shorewall

Aquí especificamos las reglas de salida de nuestro equipo de videoconferencia, en este caso le permití toda la salida para evitar generar variables a posibles problemas.

ACCEPT  loc:192.168.0.95        net     tcp
ACCEPT  loc:192.168.0.95        net     udp

Configuracion de Firewall, usando iptables

Si bien, mi preferencia va por Shorewall, también es factible realizar la configuración de DNAT por iptables, finalmente se trata de realizar los Destination NATs y las salidas de puertos para que la videoconferencia se realice sin mayores inconvenientes.

Reglas de Entrada para iptables

###DNAT DE PUERTOS TCP 3025 al 3235 iptables -t nat -A PREROUTING -p tcp -d 200.75.141.255 --dport 3025:3235 -j DNAT --to-destination 192.168.0.95 ### DNAT DE PUERTOS UDP 3230 al 3253 iptables -t nat -A PREROUTING -p udp -d 200.75.141.255  --dport 3230:3253 -j DNAT --to-destination 192.168.0.95
 ### DNAT DE PUERTO TCP 1720 iptables -t nat -A PREROUTING -p tcp -d 200.75.141.255  --dport 1720 -j DNAT --to-destination 192.168.0.95  

En donde:

  • 192.168.0.95 es la IP interna del equipo de videoconferencia
  • 3025:3235 es el rango de puertos TCP y UDP necesarios para transmitir la señal, voz, control y datos de la llamada de videoconferencia
  • 200.75.141.255 es la IP publica ficticia, valida para nuestro ejemplo

Reglas de Salida para iptables

###HABILITANDO SALIDA TOTAL DE PUERTOS TCP DESDE LA IP ESPECIFICADA
iptables -A OUTPUT -p tcp -s 192.168.0.95 -j ACCEPT ###HABILITANDO SALIDA TOTAL DE PUERTOS UDP DESDE LA IP ESPECIFICADA iptables -A OUTPUT -p tcp -s 192.168.0.95 -j ACCEPT 

En donde:

  • 192.168.0.95 es la IP interna del equipo de videoconferencia
  • 3025:3235 es el rango de puertos TCP y UDP necesarios para transmitir la señal, voz, control y datos de la llamada de videoconferencia
  • 200.75.141.255 es la IP publica ficticia, valida para nuestro ejemplo

Configuración del Equipo Polycom

polycom

polycom

Esta parte es lo mas fácil,

Debido a que estamos haciendo DNAT (Destination NAT) de los puertos TCP y UDP, requerimos hacer que estos pasen directamente al equipo de videoconferencia. Entonces, le ponemos check a la opción Puertos Fijos, luego verificamos que los puertos que estamos NATeando en el firewall correspondan a los del equipo de videoconferencia.

Como para finalizar la configuración es necesario presionar Actualizar en la parte superior de la pantalla y de preferencia reiniciar el equipo. A mi me funcionó reiniciándolo.

La prueba de llamada

Luego de esto sera necesario hacer una llamada al equipo remoto, apuntando a la IP remota, o en su defecto, que nos llamen a nuestra IP publica, en este caso, y para el ejemplo practico la IP 200.75.141.255