Putin is a war criminal and a son of a bitch!


 

Poměrně dlouhou dobu jsem hledal nějakou jednoduchou VPN pro připojení odkudkoliv na moje domácí úložiště. Nějakou dobu jsem na webu narážel na "novou" VPN s názvem Wireguard a tak jsem se to rozhodl ji vyzkoušet. Po troše peklování se specifickými funkcemi mohu Wireguard pro domácí použití mohu jen doporučit. Pro firemní sítě se mi zdá příliš benevolentní. Osobně používám Wireguard na Raspberry 2B+ s Raspbian.

V příkladu níže jsem vygeneroval opravdové klíča a pro testování můžete použít přímo tyto konfigurační soubory. Pouze nezapomeňte na pravidlo do routeru a změnu IP adresy 66.77.88.99.

Jako první nainstalujeme z repozitářů
sudo apt install wireguard

Pro připojení klientů přidejte pravidlo do port-forwarding na routeru
port 51871/UDP -> 10.0.0.10       # vnitřní adresa wireguard serveru, POZOR na protokol UDP

Nyní se pojďme podívat, jak lze jednoduče konfiguravat Wireguard.

Nejdříve je potřeba vygenerovat klíče pro server.
Generování privátního klíče
wg genkey > privatekey

Generování veřejného klíče z privátního
wg pubkey < privatekey > publickey

Stejný postup použijete uklientů
wg genkey > privatekey_client01
wg pubkey < privatekey_client01 > publickey_client01

Vložte konfigurační soubor na server do umístění /etc/wireguard/wg0.conf a vložte privátní a veřejné klíče.
Server musí mít vlastní privátní klíč AIIcvfmwc63m4kG6UDGCsNd8Ii/zwjUxpQA+mgVMSU4= a tento klíč má veřejnou část CNCkM8ngVWVNMlC4bYipglKMxASF7pLWkmQTW+DoWU8=
Klient má také vlastní privátní klíč 4MldF3P/XUv+bZU5IOocktjLMxjG9nTLbL6FrgkSZ0M= a tento klíč má také veřejnnou část MDrS/PN6tkkTZMYgK0PpnOK0MF424ZDU2Qnf2oPh4GY=
Více k pochopení se podívejte na konfiguraci níže.
#####################################################################
# Server
# wg0.conf
#####################################################################

[Interface]
#SERVER
Address = 172.16.0.1/24
ListenPort = 51871
PrivateKey = AIIcvfmwc63m4kG6UDGCsNd8Ii/zwjUxpQA+mgVMSU4=

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#CLIENT1
PublicKey = MDrS/PN6tkkTZMYgK0PpnOK0MF424ZDU2Qnf2oPh4GY=
AllowedIPs = 172.16.0.2/32

[Peer]
#CLIENT2
PublicKey = qkqa+bpShgFkaxFvH2oJEcehOl1DMxYV+d3FE+ilMAA=
AllowedIPs = 172.16.0.3/32

[Peer]
#CLIENT3
PublicKey = haIfo8XIIzQd0MUBLOqrOGqOSGPhfbX81dUeSj1bcQE=
AllowedIPs = 172.16.0.4/32


Konfigurační soubor pro klienta
#####################################################################
# Client01
# client1.conf
#####################################################################

[Interface]
Address = 172.0.0.2/24
PrivateKey = 4MldF3P/XUv+bZU5IOocktjLMxjG9nTLbL6FrgkSZ0M=

[Peer]
PublicKey = CNCkM8ngVWVNMlC4bYipglKMxASF7pLWkmQTW+DoWU8=
AllowedIPs = 0.0.0.0/0
Endpoint = 66.77.88.99.:51871

Přidejte forward pravidlo do /etc/sysctl.conf (bez toho to fungovat nebude)
net.ipv4.ip_forward=1

Wireguard spustíte příkazem
wg-quick up wg0

Stav zobrazíte
wg show wg0

Spouštění Wireguard po restartu
systemctl enable wg-quick@wg0