How to choose, use and configure a VPN in PLD Linux Distribution (Guide)

Choosing the Right VPN for PLD Linux Distribution

PLD Linux Distribution is a veteran, RPM-based project tailored to experienced sysadmins, privacy enthusiasts and power users who prefer a highly customisable, systemd-free environment. Under the hood you’ll find the RPM toolset complemented by apt-rpm utilities and the native pmd/pmp front-ends for dependency resolution. Services are managed via classic SysVinit scripts, with optional support for OpenRC. Typical desktop setups range from lightweight XFCE, LXDE and Enlightenment through to MATE or KDE Plasma, all easily installed via pmp install. Given this minimalist, init-script-driven architecture, the ideal VPN solution should:

  • Rely on standard OpenVPN or WireGuard implementations rather than systemd daemons.
  • Offer a CLI or manual profile import, avoiding heavy desktop GUIs that pull in Qt or GTK dependencies.
  • Provide straightforward init scripts or the ability to script connection start/stop under /etc/init.d.

Based on those criteria, three providers stand out: ProtonVPN, Mullvad and Private Internet Access. They each supply robust OpenVPN and/or WireGuard support without systemd-only clients, making them a natural fit for PLD.

Comparison of VPN Providers for PLD Linux

Provider Protocols Init Integration Client Type Website
ProtonVPN OpenVPN, WireGuard SysVinit & OpenRC CLI ProtonVPN Official Site
Mullvad OpenVPN, WireGuard SysVinit Manual / CLI Mullvad VPN Homepage
Private Internet Access OpenVPN, WireGuard SysVinit Command-line / config files PIA Official Site

Installing and Configuring ProtonVPN

ProtonVPN offers a dedicated CLI package that works out of the box with PLD’s pmp and SysVinit/OpenRC. Below are the steps to get up and running.

1. Import ProtonVPN GPG Key and Repository

rpm --import https://repo.protonvpn.com/debian/public_key.asc
pmp add http://repo.protonvpn.com/debian stable main
  

2. Install the ProtonVPN CLI

pmp update
pmp install protonvpn-cli
  

3. Login and Connect

protonvpn-cli login your_username
protonvpn-cli c --fastest
  

To start ProtonVPN automatically at SysVinit runlevel 3 or 5, create a simple init script:

cat > /etc/init.d/protonvpn << 'EOF'
#!/bin/sh
### BEGIN INIT INFO
# Provides:          protonvpn
# Required-Start:    network
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: ProtonVPN
### END INIT INFO

case "$1" in
  start)
    /usr/bin/protonvpn-cli c --fastest
    ;;
  stop)
    /usr/bin/protonvpn-cli d
    ;;
  restart)
    /usr/bin/protonvpn-cli d
    /usr/bin/protonvpn-cli c --fastest
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
EOF

chmod +x /etc/init.d/protonvpn
ln -s /etc/init.d/protonvpn /etc/init.d/rc5.d/S90protonvpn
  

Installing and Configuring Mullvad VPN

Mullvad’s approach centres on downloadable RPMs for the CLI and auto-generated OpenVPN/WireGuard profiles. You can script everything under SysVinit with minimal fuss.

1. Download and Install the Mullvad RPM

wget https://mullvad.net/download/app/rpm/latest -O mullvad.rpm
rpm -Uvh mullvad.rpm
  

2. Login and Fetch Your OpenVPN Profile

mullvad account login
mullvad openvpn config --country=gb > /etc/openvpn/mullvad.conf
  

3. Create a SysVinit Script for Mullvad

cat > /etc/init.d/mullvad << 'EOF'
#!/bin/sh
### BEGIN INIT INFO
# Provides:          mullvad
# Required-Start:    network
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Mullvad OpenVPN
### END INIT INFO

case "$1" in
  start)
    /usr/sbin/openvpn --config /etc/openvpn/mullvad.conf --daemon
    ;;
  stop)
    killall openvpn
    ;;
  restart)
    killall openvpn
    /usr/sbin/openvpn --config /etc/openvpn/mullvad.conf --daemon
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
EOF

chmod +x /etc/init.d/mullvad
ln -s /etc/init.d/mullvad /etc/init.d/rc5.d/S60mullvad
service mullvad start
  

For WireGuard:

mullvad wireguard generate > /etc/wireguard/mullvad.conf
wg-quick up /etc/wireguard/mullvad.conf
  

Installing and Configuring Private Internet Access

Private Internet Access (PIA) works very well on systemd-free setups like PLD usando perfiles OpenVPN/WireGuard y scripts simples de SysVinit. Aquí nos centraremos en OpenVPN, que encaja perfectamente con el stack clásico de PLD.

1. Download Your PIA OpenVPN Profile

From another machine or browser session, log into your PIA account, download the Linux OpenVPN configuration bundle (ZIP) and copy it to your PLD system. Then extract it:

unzip pia-openvpn-configs.zip -d /etc/openvpn/pia
cd /etc/openvpn/pia
  

2. Create an Auth File for Non-Interactive Login

cat > /etc/openvpn/pia/credentials.txt << 'EOF'
PIA_USERNAME
PIA_PASSWORD
EOF
chmod 600 /etc/openvpn/pia/credentials.txt
  

Open one of the region files (for example, spain.ovpn) and make sure it contains a line pointing to the auth file:

auth-user-pass /etc/openvpn/pia/credentials.txt
  

3. Create a SysVinit Script for PIA

cat > /etc/init.d/pia << 'EOF'
#!/bin/sh
### BEGIN INIT INFO
# Provides:          pia
# Required-Start:    network
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Private Internet Access OpenVPN
### END INIT INFO

OVPN_CONFIG="/etc/openvpn/pia/spain.ovpn"

case "$1" in
  start)
    /usr/sbin/openvpn --config "$OVPN_CONFIG" --daemon
    ;;
  stop)
    killall openvpn
    ;;
  restart)
    killall openvpn
    /usr/sbin/openvpn --config "$OVPN_CONFIG" --daemon
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
EOF

chmod +x /etc/init.d/pia
ln -s /etc/init.d/pia /etc/init.d/rc5.d/S70pia
service pia start
  

If you prefer to use WireGuard with PIA, you can generate the wg0.conf file from your account panel and manage it with a small SysVinit or OpenRC script calling wg-quick up wg0 and wg-quick down wg0.

Wrapping Up

PLD Linux’s commitment to RPM, pmd/pmp and a systemd-free init landscape makes it an excellent playground for OpenVPN and WireGuard-centric providers. ProtonVPN brings a polished CLI and WireGuard support, Mullvad offers fully-scriptable profiles plus both protocols, and Private Internet Access remains a strong choice if you want wide server coverage with simple OpenVPN/WireGuard configs. All three integrate smoothly with SysVinit or OpenRC, keeping your system lean and fully under your control.

Download TXT




Leave a Reply

Your email address will not be published. Required fields are marked *