How to choose, use and configure a VPN in Network Security Toolkit (NST) (Tutorial)

As an IT specialist based in London working extensively with the Network Security Toolkit (NST), I’ve found that selecting the right VPN solution involves matching your distro’s package ecosystem, command-line tooling and security focus. NST is a Fedora/RHEL‐derived live distribution geared toward network diagnostics and penetration testing. It ships with DNF (and legacy YUM) for package management, and common desktop environments include MATE, Xfce and LXDE. Many users operate directly in a shell or via NMCLI rather than a heavy GUI, so command-line friendliness, lightweight footprints and kernel integration are key factors.

Given these peculiarities, the most suitable VPN options for NST are:

  • OpenVPN – Time-tested, flexible and well-packaged for Fedora/RHEL environments.
  • WireGuard – Ultra-light, kernel-level encryption with minimal dependencies.
  • strongSwan – Enterprise-grade IPsec offering, integrates with systemd and firewalld.

Each of these supports non-GUI installations via DNF/YUM and works seamlessly in console-only workflows. Below is a comparative overview (note: prices omitted).

VPN Protocol DNF/YUM Package Installation Complexity Performance Ideal Use Case
OpenVPN SSL/TLS over UDP/TCP openvpn Medium (certificates config) Good General-purpose, site-to-site, remote access
WireGuard WireGuard (UDP only) wireguard-tools Low (simple keypairs) Excellent High-speed tunnels, portable embedded devices
strongSwan IPsec (IKEv2) strongswan High (IPsec policies, certs) Very Good Enterprise/IPsec site-to-site

Next, let’s walk through installation and basic configuration for the top two picks: OpenVPN and WireGuard. (strongSwan follows a similar pattern but with IPsec policy syntax.)

OpenVPN on NST

1. Install the package and EasyRSA for certificate management:

sudo dnf install -y openvpn easy-rsa

2. Set up a CA and server certificates:

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full server nopass
./easyrsa build-client-full client1 nopass

3. Create /etc/openvpn/server.conf:

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
push redirect-gateway def1 bypass-dhcp
keepalive 10 120
persist-key
persist-tun
user nobody
group nobody
verb 3

4. Copy certificates and keys:

sudo cp ~/openvpn-ca/pki/{ca.crt,private/ca.key,issued/server.crt,private/server.key} 
           ~/openvpn-ca/pki/dh.pem /etc/openvpn/

5. Enable IP forwarding in /etc/sysctl.conf and apply:

echo net.ipv4.ip_forward = 1  sudo tee -a /etc/sysctl.conf
sudo sysctl -p

6. Start and enable the service:

sudo systemctl enable --now openvpn-server@server
sudo firewall-cmd --add-service=openvpn
sudo firewall-cmd --permanent --add-masquerade

WireGuard on NST

1. Install the WireGuard tools:

sudo dnf install -y wireguard-tools

2. Generate keypairs:

wg genkey  tee server_private.key  wg pubkey > server_public.key
wg genkey  tee client_private.key  wg pubkey > client_public.key

3. Create /etc/wireguard/wg0.conf:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

Replace SERVER_PRIVATE_KEY and CLIENT_PUBLIC_KEY with your actual keys.

4. Adjust firewall and enable forwarding:

sudo firewall-cmd --add-port=51820/udp
sudo firewall-cmd --permanent --add-masquerade
echo net.ipv4.ip_forward=1  sudo tee -a /etc/sysctl.conf
sudo sysctl -p

5. Bring up the interface:

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Each of these solutions can be fine-tuned—OpenVPN via plugins or TLS-auth, WireGuard by adding additional peers, and strongSwan through detailed IPsec policies. On NST’s command-centric environment, the lightweight footprint and kernel-level crypto of WireGuard often edge out others for performance tests, while OpenVPN remains indispensable for compatibility. Choose based on your project’s encryption needs, throughput targets and interoperability with existing infrastructure.

Download TXT




Leave a Reply

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