Instalace WireGuard VPN na Raspberry Pi

WireGuard

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íč serveru
  • server_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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *