Skip to content

Instantly share code, notes, and snippets.

@lanceliao
Last active November 16, 2025 08:23
Show Gist options
  • Select an option

  • Save lanceliao/5d2977f417f34dda0e3d63ac7e217fd6 to your computer and use it in GitHub Desktop.

Select an option

Save lanceliao/5d2977f417f34dda0e3d63ac7e217fd6 to your computer and use it in GitHub Desktop.
Sample WireGuard configuration files
[Interface]
Address = 10.200.200.3/32
PrivateKey = [Client's private key]
DNS = 8.8.8.8
[Peer]
PublicKey = [Server's public key]
PresharedKey = [Pre-shared key, same for server and client]
Endpoint = [Server Addr:Server Port]
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
[Interface]
Address = 10.200.200.1/24
#SaveConfig = true
PostUp = iptables -I FORWARD 1 -i wg0 -j ACCEPT; iptables -I FORWARD 1 -o wg0 -j ACCEPT; iptables -t nat -I POSTROUTING 1 -s 10.200.200.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.200.200.0/24 -o eth0 -j MASQUERADE
ListenPort = 10086
PrivateKey = [Server's private key]
[Peer]
# Client 1
PublicKey = [Client's public key]
AllowedIPs = 10.200.200.2/32
PresharedKey = [Pre-shared key, same for server and client]
[Peer]
# Client 2
PublicKey = [Client's public key]
AllowedIPs = 10.200.200.2/32
PresharedKey = [Pre-shared key, same for server and client]
@jdimpson
Copy link

For anyone else who found these while in the process of learning about wireguard, these config examples are meant to be ingested by wg-quick, not directly by wg. Per wg-quick(8), it supports more directives the configuration file than wg does. If you are a newb, you almost certainly want to start with wg-quick.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment