Add VPN documentation and WireGuard templates
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
# WireGuard secrets
|
||||||
|
*.key
|
||||||
|
*.psk
|
||||||
|
wg0.conf
|
||||||
|
privatekey
|
||||||
|
presharedkey
|
||||||
|
|
||||||
|
# Environment and credential files
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# VPN Infrastructure
|
||||||
|
|
||||||
|
This directory documents the WireGuard tunnel between:
|
||||||
|
|
||||||
|
- `edge01` — DreamHost VPS
|
||||||
|
- `infra01` — Home network tunnel endpoint
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
|
||||||
|
- Secure bidirectional connectivity between edge01 and the home network
|
||||||
|
- Allow selected services on the home network to be reached through edge01
|
||||||
|
- Keep configuration reproducible
|
||||||
|
- Never store private keys or pre-shared keys in Git
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
The following must never be committed:
|
||||||
|
|
||||||
|
- WireGuard private keys
|
||||||
|
- Pre-shared keys
|
||||||
|
- Complete production configuration files containing secrets
|
||||||
|
- Passwords, API tokens, or credentials
|
||||||
|
|
||||||
|
Only sanitized configuration templates and public keys may be stored here.
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# VPN Topology
|
||||||
|
|
||||||
|
## Systems
|
||||||
|
|
||||||
|
### edge01
|
||||||
|
|
||||||
|
- Provider: DreamHost
|
||||||
|
- Role: Public VPS and WireGuard server
|
||||||
|
- Public address: 208.113.210.193
|
||||||
|
- WireGuard interface: wg0
|
||||||
|
|
||||||
|
### infra01
|
||||||
|
|
||||||
|
- Role: Home network WireGuard endpoint
|
||||||
|
- LAN address: 192.168.161.10
|
||||||
|
- Home gateway: 192.168.161.1
|
||||||
|
- WireGuard interface: wg0
|
||||||
|
|
||||||
|
## Traffic Flow
|
||||||
|
|
||||||
|
Internet client
|
||||||
|
|
|
||||||
|
v
|
||||||
|
edge01
|
||||||
|
|
|
||||||
|
| WireGuard tunnel
|
||||||
|
v
|
||||||
|
infra01
|
||||||
|
|
|
||||||
|
v
|
||||||
|
Home networks and selected internal services
|
||||||
|
|
||||||
|
## Design Notes
|
||||||
|
|
||||||
|
- infra01 initiates the tunnel because the home Internet connection does not require a static public IP.
|
||||||
|
- edge01 provides the stable public endpoint.
|
||||||
|
- Routing and firewall rules should expose only explicitly approved internal services.
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Edge01 WireGuard Configuration (Template)
|
||||||
|
#
|
||||||
|
# Copy to:
|
||||||
|
# /etc/wireguard/wg0.conf
|
||||||
|
#
|
||||||
|
# Replace all placeholder values before use.
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
Address = 10.100.0.1/24
|
||||||
|
ListenPort = 51820
|
||||||
|
|
||||||
|
PrivateKey = <EDGE01_PRIVATE_KEY>
|
||||||
|
|
||||||
|
# Optional:
|
||||||
|
# MTU = 1420
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# infra01
|
||||||
|
|
||||||
|
PublicKey = <INFRA01_PUBLIC_KEY>
|
||||||
|
PresharedKey = <PRESHARED_KEY>
|
||||||
|
|
||||||
|
AllowedIPs = 10.100.0.2/32,192.168.161.0/24
|
||||||
|
|
||||||
|
PersistentKeepalive = 25
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# infra01 WireGuard Configuration (Template)
|
||||||
|
#
|
||||||
|
# Copy to:
|
||||||
|
# /etc/wireguard/wg0.conf
|
||||||
|
#
|
||||||
|
# Replace all placeholder values before use.
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
Address = 10.100.0.2/24
|
||||||
|
|
||||||
|
PrivateKey = <INFRA01_PRIVATE_KEY>
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# edge01
|
||||||
|
|
||||||
|
PublicKey = <EDGE01_PUBLIC_KEY>
|
||||||
|
PresharedKey = <PRESHARED_KEY>
|
||||||
|
|
||||||
|
Endpoint = edge01.zerafa.com:51820
|
||||||
|
|
||||||
|
AllowedIPs = 10.100.0.1/32
|
||||||
|
|
||||||
|
PersistentKeepalive = 25
|
||||||
Reference in New Issue
Block a user