
WireGuard je moderní, rychlý a bezpečný VPN protokol, který je ideální pro domácí i firemní použití. Následující návod ukazuje, jak jej nainstalovat a nastavit na Raspberry Pi.
Požadavky
- Raspberry Pi 5 s OS Raspberry Pi OS (64bit doporučeno)
- Přístup k terminálu (SSH nebo lokálně)
- Root oprávnění (
sudo) - Stabilní internetové připojení
Instalace WireGuard
Aktualizuj balíčky systému:
sudo apt update
sudo apt upgrade -y
Nainstaluj WireGuard a potřebné nástroje:
sudo apt install wireguard qrencode -y
wireguard – VPN software
qrencode – generování QR kódů pro mobilní klienty
Vygenerování klíčů
WireGuard používá veřejné a soukromé klíče pro šifrovanou komunikaci.
# Vytvoření adresáře pro klíče
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
# Generování soukromého klíče serveru
sudo wg genkey | sudo tee server_private.key | sudo wg pubkey | sudo tee server_public.key
server_private.key→ soukromý klíč serveruserver_public.key→ veřejný klíč serveru
Stejným způsobem vytvoříš klíče pro klienta:
sudo wg genkey | sudo tee client_private.key | sudo wg pubkey | sudo tee client_public.key
Konfigurace WireGuard serveru
Vytvoř konfigurační soubor /etc/wireguard/wg0.conf:
[Interface]
PrivateKey = <server_private_key>
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true
# Povolení směrování provozu přes VPN
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <client_public_key>
AllowedIPs = 10.0.0.2/32
<server_private_key> → obsah server_private.key
<client_public_key> → obsah client_public.key
Address → VPN adresa serveru
ListenPort → port, na kterém VPN naslouchá (51820 je standard)
AllowedIPs → IP klienta v VPN síti
Konfigurace klienta
Pro klienta vytvoř soubor client.conf:
[Interface]
PrivateKey = <client_private_key>
Address = 10.0.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = <server_public_key>
Endpoint = <public_ip>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
<client_private_key>→ soukromý klíč klienta<server_public_key>→ veřejný klíč serveru<public_ip>→ veřejná IP adresa Raspberry Pi (např. přes router NAT)
QR kód pro mobilní zařízení:
sudo cat client.conf | qrencode -t ansiutf8
Povolení směrování a spuštění WireGuard
Povolit IP forwarding:
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
Spuštění WireGuard:
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0
Kontrola stavu:
sudo wg
- Zobrazí aktivní tunely, připojené klienty a statistiky provozu.
Doporučená bezpečnost
- Používej silné klíče a neměň je veřejně.
- Omez přístup přes firewall na port 51820 UDP.
- Pravidelně aktualizuj Raspberry Pi OS a WireGuard.