OpenVPN Client Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Sections
- Settings Reference
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Is OpenVPN Client?
OpenVPN Client is a site-to-site VPN module that connects the PBX server to another network via VPN. This enables secure connectivity between data centers, branch offices, or cloud environments.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ OpenVPN Client Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Local PBX Server │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ OpenVPN Client │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ .ovpn Configuration File │ │ │
│ │ │ ├─ Remote Host: vpn.datacenter.com │ │ │
│ │ │ ├─ Remote Port: 1194 │ │ │
│ │ │ ├─ Protocol: UDP │ │ │
│ │ │ └─ Certificates embedded │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Status: ● Connected │ │
│ │ Local IP: 10.8.0.5 │ │
│ │ Remote IP: 10.8.0.1 │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ │ Encrypted VPN Tunnel │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Remote Network / Data Center │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ VPN Server │ │ SIP Trunk │ │ Database │ │ │
│ │ │ 10.8.0.1 │ │ 10.0.0.10 │ │ 10.0.0.20 │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Key Tables
| Table | Purpose |
|---|
public.openvpn_client | Client configuration |
Key Files
| File | Description |
|---|
modules/openvpnClient/ | Frontend module | |
/etc/openvpn/client.conf | Client config | |
| Uploaded .ovpn | User configuration |
---
2. Module Overview (Commercial/Business)
Business Value
OpenVPN Client provides secure site connectivity:
| Without Site VPN | With Site VPN |
|---|
| Public internet | Private tunnel | |
| Exposed services | Secured access | |
| Complex routing | Simple tunnel | |
| Multiple configs | Single connection |
Use Cases
- Data Center Connection
- Connect to main DC
- Access internal services
- Branch Office Link
- Site-to-site tunnel
- Unified network
- Cloud Integration
- AWS/Azure VPN
- Hybrid deployment
- Trunk Security
- SIP over VPN
- Secure voice
Feature Highlights
| Feature | Benefit |
|---|
| .ovpn Upload | Easy configuration | |
| One-Click Connect | Simple control | |
| Status Monitoring | Connection visibility | |
| Traffic Stats | Bandwidth tracking | |
| Auto-Reconnect | Reliable connection |
---
3. Module Overview (End User/Administrator)
What Can You Do?
- Upload .ovpn configuration file
- Connect/disconnect VPN
- Monitor connection status
- View traffic statistics
- See connection details
- Delete configuration
OpenVPN Client Interface
┌─────────────────────────────────────────────────────────────────┐
│ OpenVPN Client │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Site-to-site VPN connection to another server │
│ │
│ ▼ Configuration │
│ Upload your .ovpn configuration file │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ Connection Name: datacenter-vpn ││
│ │ ││
│ │ Configuration: ● Loaded ││
│ │ ││
│ │ [Connect] [Delete Configuration] ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ ▼ Connection Status │
│ Current VPN connection details │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ Status: ● Connected ││
│ │ ││
│ │ Remote Host: vpn.datacenter.com ││
│ │ Remote Port: 1194 ││
│ │ ││
│ │ ───────────────────────────────────────────── ││
│ │ ││
│ │ IP Addresses: ││
│ │ Local IP: 10.8.0.5 ││
│ │ Remote IP: 10.8.0.1 ││
│ │ ││
│ │ ───────────────────────────────────────────── ││
│ │ ││
│ │ Data Transfer: ││
│ │ Bytes Received: 1.2 GB ││
│ │ Bytes Sent: 456 MB ││
│ │ ││
│ │ Connected Since: 2024-01-15 08:30:00 ││
│ │ Last Checked: 2024-01-16 14:22:15 ││
│ │ ││
│ │ [Disconnect] [Refresh Status] ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────────┘
No Configuration State
┌─────────────────────────────────────────────────────────────────┐
│ OpenVPN Client │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Site-to-site VPN connection to another server │
│ │
│ ▼ Configuration │
│ Upload your .ovpn configuration file │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ ⚠️ No configuration uploaded ││
│ │ ││
│ │ Upload an .ovpn file to configure the site-to-site ││
│ │ VPN connection ││
│ │ ││
│ │ [Upload Configuration] ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────────┘
Upload Configuration Modal
┌─────────────────────────────────────────────────────────────────┐
│ Upload .ovpn File │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Select or drag and drop your OpenVPN configuration file │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ 📁 ││
│ │ ││
│ │ Drop .ovpn file here or click to browse ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ Selected file: datacenter.ovpn │
│ │
│ [Upload and Save] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────────┘
Quick Tips
TIP
Complete .ovpn: Ensure certificates are embedded in the file.
TIP
Refresh Status: Click to update connection stats.
WARNING
Delete: Deleting config will disconnect active connection.
---
4. Configuration Sections
Configuration Section
| Field | Description |
|---|
| Connection Name | VPN connection identifier | |
| Configuration | Loaded status | |
| Upload | .ovpn file upload | |
| Delete | Remove configuration |
Status Section
| Field | Description |
|---|
| Status | Connected/Disconnected | |
| Remote Host | VPN server address | |
| Remote Port | VPN port | |
| Local IP | Assigned VPN IP | |
| Remote IP | Server tunnel IP | |
| Bytes Received | Download traffic | |
| Bytes Sent | Upload traffic | |
| Connected Since | Connection start time | |
| Last Checked | Last status update |
---
5. Settings Reference
Connection States
| Status | Icon | Description |
|---|
| Connected | ● | Active VPN tunnel | |
| Disconnected | ○ | No connection | |
| Connecting | ◐ | Establishing tunnel | |
| Error | ⊘ | Connection failed |
.ovpn File Requirements
| Component | Required | Notes |
|---|
| Remote host | Yes | Server address | |
| Remote port | Yes | Usually 1194 | |
| Certificates | Yes | CA, cert, key | |
| Protocol | Yes | UDP or TCP |
Example .ovpn Structure
client
dev tun
proto udp
remote vpn.datacenter.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca [inline]
cert [inline]
key [inline]
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>
---
6. Common Scenarios & Examples
Scenario 1: Upload Configuration
- Click Upload Configuration
- Drag .ovpn file or click to browse
- Select file
- Click Upload and Save
- Configuration now loaded
Scenario 2: Connect to VPN
- Ensure configuration is loaded
- Click Connect
- Wait for connection
- Status shows "Connected"
- View assigned IP addresses
Scenario 3: Monitor Connection
- View Connection Status section
- Check Remote Host and Port
- View Local/Remote IPs
- Check Data Transfer stats
- Click Refresh Status for updates
Scenario 4: Replace Configuration
- Click Delete Configuration
- Confirm deletion
- Connection disconnects
- Upload new .ovpn file
- Connect with new config
---
7. Limitations & Important Notes
Technical Notes
NOTE
Single Connection: Only one VPN client connection.
NOTE
Embedded Certs: Certificates must be embedded in .ovpn.
WARNING
Delete Disconnects: Deleting config terminates connection.
Best Practices
- Complete Config: Use .ovpn with embedded certificates
- Test First: Verify .ovpn works before uploading
- Monitor Status: Check connection regularly
- Secure File: Protect .ovpn file (contains private key)
- Backup Config: Keep copy of working .ovpn
.ovpn File Tips
| Tip | Description |
|---|
| Inline certs | Use , , sections | |
| Single file | All config in one .ovpn | |
| Test locally | Verify with OpenVPN client first | |
| Absolute paths | Avoid external file references |
---
8. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution |
|---|
| Upload fails | Invalid format | Check .ovpn structure | |
| Can't connect | Wrong server | Verify remote host | |
| Connection drops | Network issue | Check internet | |
| Error state | Bad certificates | Regenerate .ovpn |
Check VPN Status
# Check OpenVPN client service
systemctl status openvpn@client
# View client log
tail -f /var/log/openvpn/client.log
# Check tunnel interface
ip addr show tun0
# Test connectivity
ping 10.8.0.1
Verify Configuration
# Test .ovpn file locally
openvpn --config client.ovpn --verb 4
# Check for syntax errors
openvpn --config client.ovpn --show-tls
---
9. Glossary
| Term | Definition |
|---|
| .ovpn | OpenVPN config file | |
| Site-to-Site | Network-to-network VPN | |
| Tunnel | Encrypted connection | |
| TUN | Network tunnel device | |
| Client | VPN initiator | |
| Remote | VPN server side |
---
Lua Script Status ℹ️
Infrastructure Module
| Component | Status |
|---|
| OpenVPN Client | ℹ️ Site-to-site VPN - no Lua handler required |
OpenVPN Client is an infrastructure configuration module. It manages the VPN client connection via .ovpn file upload. No Lua handlers are used - connection is managed by the OpenVPN service through the backend.
---
Documentation last updated: January 2026