{"enrichment":{"faq":[{"a":"WireGuard VPN setup involves installing the WireGuard package, generating public/private key pairs for the server and peers, configuring the interface with IP addresses and peer definitions, and enabling the service. The skill covers installation steps across distributions, key generation using wg genkey and wg pubkey, writing the wg0.conf configuration file with allowed IPs and endpoints, and bringing the interface up with ip link and wg-quick commands.","q":"How to set up WireGuard VPN on a Linux server?"},{"a":"WireGuard VPN emphasizes simplicity and modern cryptography with a minimal codebase, making it faster and easier to audit. OpenVPN offers broader compatibility and flexibility through plugin support, using TLS for key exchange and supporting various authentication methods. IPSec via strongSwan provides standards-based enterprise security with IKEv2 protocol support and is deeply integrated into Linux kernels. The skill teaches configuration approaches for all three, helping you choose based on your security and deployment needs.","q":"What are the main differences between WireGuard, OpenVPN, and IPSec?"},{"a":"WireGuard VPN key generation uses simple command-line tools: wg genkey creates private keys and wg pubkey derives public keys from them. OpenVPN relies on Easy-RSA for PKI management\u2014you initialize a CA, generate server and client certificates, and sign them with your CA key. IPSec uses strongSwan's pki tool to create certificates and manage the PKI hierarchy. The skill covers all three approaches, including best practices for key storage, rotation, and peer management across multi-user scenarios.","q":"How do I generate VPN keys and certificates for secure peer authentication?"},{"a":"WireGuard VPN troubleshooting uses wg show to inspect peer status, allowed IPs, and data transfer statistics. Check firewall rules with iptables or ufw, verify routing with ip route, and examine kernel logs via dmesg. OpenVPN diagnostics involve reviewing log verbosity levels and checking certificate validity. IPSec troubleshooting uses strongSwan's status command and IKE/ESP protocol debugging. The skill teaches systematic debugging of connection issues, routing problems, and handshake failures across all three protocols.","q":"How can I troubleshoot VPN connectivity and handshake failures?"},{"a":"WireGuard VPN site-to-site configuration connects two remote networks by configuring WireGuard peers at each site's gateway. Each gateway runs WireGuard with the other site's public key and endpoint, and allowed IPs are set to the remote network's subnet. The skill covers setting up persistent connections between office and data center, managing multiple peer configurations, and ensuring proper routing so traffic destined for the remote subnet flows through the VPN tunnel.","q":"What is site-to-site VPN and how do I configure it with WireGuard?"},{"a":"VPN client setup varies by protocol. WireGuard VPN clients require the server's public key and endpoint; you generate a client key pair, add it as a peer on the server, and configure the client interface with the server's public key and endpoint address. OpenVPN clients use certificate-based or username/password authentication with a .ovpn configuration file. IPSec clients authenticate via certificates or pre-shared keys. The skill teaches client installation, configuration file generation, and connection establishment for remote workers and multi-user scenarios.","q":"How do I set up VPN clients and establish secure remote connections?"}],"shadow_tags":["tunnel-setup","key-management","certificate-authority","network-routing","encryption-protocols","peer-configuration","connection-debugging","multi-protocol-vpn","server-client-architecture","network-security"],"summary_rewrite":"This skill covers setup and administration for three major VPN protocols: WireGuard, OpenVPN, and IPSec via strongSwan. Learn installation steps, certificate and key generation, server and client configuration, and practical scenarios like site-to-site tunnels and split routing."},"files":[{"bytes":6953,"path":"network/vpn/SKILL.md","sha256":"e62bd5903cf54eb615cd7378c4f33adfb1bcd2c93c726f4167985728024b91ea","url":"https://skillfed.io/files/chaterm/terminal-skills/vpn/a2e8e906/SKILL.md"}],"id":"chaterm/terminal-skills/vpn","links":{"html":"https://skillfed.io/chaterm/terminal-skills/vpn","md":"https://skillfed.io/chaterm/terminal-skills/vpn.md","repo":"https://github.com/chaterm/terminal-skills"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":12,"language":null,"last_updated":"2026-03-03","license":"Apache-2.0","name":"vpn","publisher":"chaterm","stars":50},"relations":{"similar":[{"id":"BagelHole/DevOps-Security-Agent-Skills/vpn-setup"},{"id":"affaan-m/ECC/homelab-wireguard-vpn"},{"id":"Aradotso/security-skills/edgesecurityaccess-wireguard-vpn"},{"id":"Aradotso/security-skills/macos-security-privacy-hardening"},{"id":"MicrosoftDocs/Agent-Skills/azure-vpn-gateway"},{"id":"BagelHole/DevOps-Security-Agent-Skills/startup-it-troubleshooting"},{"id":"MicrosoftDocs/Agent-Skills/azure-virtual-wan"},{"id":"xobotyi/cc-foundry/networking"},{"id":"internet-court/internet-court-skill/starknet-js"},{"id":"internet-court/internet-court-skill/near-api-js"}]},"slug":{"owner":"chaterm","repo":"terminal-skills","skill":"vpn"},"version":"a2e8e906"}
