OpenVPN Install 2.0.2
🚀 OpenVPN Install v2.0.2
Network Improvements, Compatibility Fixes & Code Quality
25 July 2026
This release introduces a new default VPN network, improves compatibility with existing installations, resolves several edge-case bugs, and further enhances script reliability and maintainability.
✨ Release Highlights
OpenVPN Install v2.0.2 focuses on simplifying long-term maintenance while improving network configuration, firewall compatibility, installer robustness, and overall code quality.
🔄 Changes
🌐 Updated Default VPN Network
The default IPv4 VPN subnet has been changed from:
10.8.0.0/24
to:
172.16.200.0/24
Benefits include:
- Reduced likelihood of conflicts with existing private networks
- Better suitability for enterprise and homelab environments
- Improved compatibility with common LAN addressing schemes
Existing installations remain compatible and are automatically detected during uninstallation.
📦 Distribution Support
To simplify long-term maintenance and testing, support for the following distributions has been removed:
- openSUSE
- Arch Linux
The project now focuses on maintaining the most widely deployed and thoroughly tested Linux distributions.
🛠️ Bug Fixes
✅ IPv4 Validation
Resolved an issue in is_valid_ipv4() where IPv4 octets containing leading zeros could trigger Bash octal arithmetic errors.
Example:
192.168.001.100
The validation routine now handles these values safely and consistently.
🔥 firewalld Compatibility
Improved pattern matching within:
firewalld_direct_rule_exists()
to correctly detect firewall rules that include priority prefixes.
This prevents duplicate rule creation and improves compatibility with newer firewalld versions.
🌐 DNS Resolver Detection
Added an additional fallback when parsing:
/etc/resolv.conf
This improves compatibility across systems using different resolver configurations.
📥 EasyRSA Download Parsing
Improved HTTP header parsing by automatically removing carriage return (\r) characters when processing EasyRSA download responses.
This prevents parsing failures on servers that return CRLF-formatted headers.
📄 Client Configuration Generation
Added a more resilient fallback helper:
generate_client_config()
to improve generation of bundled .ovpn client configuration files when the primary method is unavailable.
🔄 Backward Compatibility
The uninstaller now dynamically detects the configured VPN subnet instead of assuming the default value.
This ensures older installations continue to uninstall correctly even if they were created with previous subnet configurations.
⚡ Optimizations
🧹 Centralized Client Configuration Logic
Refactored client configuration generation into a centralized implementation.
Benefits include:
- Reduced code duplication
- Easier maintenance
- Improved consistency
- Better long-term extensibility
✅ ShellCheck Compliance
The entire project has been reviewed to ensure strict ShellCheck compliance, improving script reliability, readability, and maintainability.
📈 Summary of Improvements
| Area | Improvements |
|---|---|
| 🌐 Networking | Default VPN subnet updated to 172.16.200.0/24 |
| 🔥 Firewall | Improved firewalld rule detection |
| 📥 Installer | More robust EasyRSA download parsing |
| 📄 Client Profiles | Added resilient .ovpn generation fallback |
| 🔄 Compatibility | Dynamic subnet detection during uninstall |
| 🧹 Code Quality | Centralized configuration logic and improved ShellCheck compliance |
| 📦 Maintenance | Removed openSUSE and Arch Linux support |
👨💻 Maintainer
Harry Dertin Sutisna (ALSYUNDAWY)
Alsyundawy IT Solution