Como elegir, usar y configurar una VPN en FreePBX (formerly AsteriskNOW) (Guia)

Introducción

En un entorno de centralita IP como FreePBX (antiguo AsteriskNOW), garantizar el acceso remoto seguro tanto para los teléfonos VoIP como para los administradores es clave. Al no disponer de entorno de escritorio por defecto y estar basado en CentOS (actualmente Rocky o AlmaLinux en sus últimas versiones), recurrir a una VPN fiable se convierte en una necesidad. A continuación repasamos las opciones más adecuadas para FreePBX, teniendo en cuenta el gestor de paquetes (yum o dnf en versiones recientes), el perfil de usuario (administradores de sistemas, CLI-centric) y las peculiaridades técnicas de la distribución.

VPN recomendadas para FreePBX y razones de elección

  • OpenVPN: solución madura, disponible en EPEL, compatible con scripts de arranque de FreePBX y fácil de integrar con el firewall.
  • WireGuard: protocolo moderno, muy eficiente a nivel de rendimiento y sencillísimo de configurar, aunque requiere módulos de kernel (disponibles desde ELRepo).
  • SoftEther VPN: multi-protocolo (SSL-VPN, L2TP/IPsec, OpenVPN), ideal si buscas versatilidad de acceso, con un paquete auto-instalable pero mayor complejidad.

Estas tres opciones cubren los casos de uso más habituales en instalaciones de centralitas: acceso administrativo (CLI) y enlace de troncales seguras o túneles para extensiones remotas.

Comparativa de características

VPN Protocolo Disponibilidad CentOS/AlmaLinux Requisitos Integración con firewall
OpenVPN SSL/TLS sobre UDP/TCP EPEL oficial easy-rsa, certificados Reglas iptables/DNF
WireGuard WireGuard propio (UDP) ELRepo (kmod-wireguard) Módulo de kernel, wireguard-tools iptables sysctl net.ipv4.ip_forward=1
SoftEther VPN SSL-VPN, L2TP/IPsec, OpenVPN-plugin Binario oficial Compilación local o paquete auto-extraíble Script de configuración interno

Instalación y configuración de OpenVPN

  1. Habilitar EPEL y actualizar el sistema:
  2. yum install -y epel-release
    yum update -y
      
  3. Instalar OpenVPN y easy-rsa:
  4. yum install -y openvpn easy-rsa
      
  5. Configurar la PKI y generar certificados:
  6. make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
    ./easyrsa init-pki
    ./easyrsa build-ca nopass
    ./easyrsa gen-req server nopass
    ./easyrsa sign-req server server
    ./easyrsa gen-dh
    openvpn --genkey --secret ta.key
      
  7. Crear /etc/openvpn/server.conf:
  8. port 1194
    proto udp
    dev tun
    ca easy-rsa/pki/ca.crt
    cert easy-rsa/pki/issued/server.crt
    key easy-rsa/pki/private/server.key
    dh easy-rsa/pki/dh.pem
    tls-auth ta.key 0
    server 10.8.0.0 255.255.255.0
    push route 192.168.0.0 255.255.255.0
    keepalive 10 120
    persist-key
    persist-tun
    user nobody
    group nobody
    status openvpn-status.log
    verb 3
      
  9. Abrir puertos en el firewall y habilitar IP forwarding:
  10. firewall-cmd --add-service=openvpn --permanent
    firewall-cmd --add-masquerade --permanent
    firewall-cmd --reload
    echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
    sysctl -p
      
  11. Arrancar y habilitar servicio:
  12. systemctl enable openvpn@server
    systemctl start openvpn@server
      
  13. Generar perfiles de cliente y distribuirlos al teléfono IP o a la estación de administración.

Instalación y configuración de WireGuard

  1. Agregar ELRepo y instalar módulos y herramientas:
  2. yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    yum install -y kmod-wireguard wireguard-tools
      
  3. Crear directorio y generar pares de claves:
  4. mkdir /etc/wireguard  cd /etc/wireguard
    wg genkey  tee server.key  wg pubkey > server.pub
    wg genkey  tee client.key  wg pubkey > client.pub
    chmod 600 .key
      
  5. Archivo de configuración /etc/wireguard/wg0.conf:
  6. [Interface]
    Address = 10.0.0.1/24
    ListenPort = 51820
    PrivateKey = (contenido de server.key)
    PostUp = iptables -A FORWARD -i wg0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    PostDown = iptables -D FORWARD -i wg0 -j ACCEPT iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
    
    [Peer]
    PublicKey = (contenido de client.pub)
    AllowedIPs = 10.0.0.2/32
      
  7. Habilitar IP forwarding y sysctl:
  8. echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
    sysctl -p
      
  9. Levantar la interfaz:
  10. wg-quick up wg0
    systemctl enable wg-quick@wg0
      
  11. Configurar el cliente WireGuard con su par de claves en la estación remota o teléfono SIP que lo soporte.

Conclusión

Para FreePBX, OpenVPN y WireGuard son las propuestas más equilibradas en cuanto a prestaciones, mantenimiento y facilidad de integración con el firewall de la distro. SoftEther ofrece versatilidad de protocolos pero añade complejidad extra que no siempre compensa en un servidor de centralita. Implementar cualquiera de estas soluciones te permitirá gestionar de forma segura tanto la administración remota como las extensiones SIP distribuidas.

Download TXT




Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *