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
- Habilitar EPEL y actualizar el sistema:
- Instalar OpenVPN y easy-rsa:
- Configurar la PKI y generar certificados:
- Crear
/etc/openvpn/server.conf: - Abrir puertos en el firewall y habilitar IP forwarding:
- Arrancar y habilitar servicio:
- Generar perfiles de cliente y distribuirlos al teléfono IP o a la estación de administración.
yum install -y epel-release yum update -y
yum install -y openvpn easy-rsa
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
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
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
systemctl enable openvpn@server systemctl start openvpn@server
Instalación y configuración de WireGuard
- Agregar ELRepo y instalar módulos y herramientas:
- Crear directorio y generar pares de claves:
- Archivo de configuración
/etc/wireguard/wg0.conf: - Habilitar IP forwarding y sysctl:
- Levantar la interfaz:
- Configurar el cliente WireGuard con su par de claves en la estación remota o teléfono SIP que lo soporte.
yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm yum install -y kmod-wireguard wireguard-tools
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
[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
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf sysctl -p
wg-quick up wg0 systemctl enable wg-quick@wg0
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.
Deja una respuesta