Konfiguracja WireGuard – szybki i bezpieczny VPN
Linux

Konfiguracja WireGuard – szybki i bezpieczny VPN

Konfiguracja WireGuard – szybki i bezpieczny VPN

WireGuard to nowoczesny, lekki i bezpieczny protokół VPN, który oferuje wyższą wydajność i lepszą ochronę niż tradycyjne rozwiązania, takie jak OpenVPN czy IPsec. Jest łatwy w konfiguracji, a dzięki szyfrowaniu opartego na krzywych eliptycznych (Curve25519) zapewnia solidną ochronę transmisji.

W tym poradniku dowiesz się:
Jak skonfigurować WireGuard na serwerze i kliencie
Jak wygenerować klucze publiczne i prywatne
Jak skonfigurować interfejsy WireGuard i routing


1. Instalacja WireGuard

📢 Na Debian/Ubuntu:

sudo apt update
sudo apt install wireguard

📢 Na CentOS/RHEL:

sudo yum install epel-release
sudo yum install wireguard-tools

📢 Na Arch Linux:

sudo pacman -S wireguard-tools

2. Generowanie kluczy publicznych i prywatnych

WireGuard używa kluczy publicznych i prywatnych do uwierzytelniania i szyfrowania. Każdy klient oraz serwer potrzebuje unikalnego zestawu kluczy.

Konfiguracja WireGuard – szybki i bezpieczny VPN
Konfiguracja WireGuard – szybki i bezpieczny VPN

📌 Tworzymy katalog na klucze:

mkdir -p /etc/wireguard/keys
chmod 700 /etc/wireguard/keys
cd /etc/wireguard/keys

📌 Generujemy klucze serwera:

wg genkey | tee privatekey | wg pubkey > publickey

📌 Generujemy klucze klienta:

wg genkey | tee client_privatekey | wg pubkey > client_publickey

📌 Sprawdzamy klucze:

cat privatekey
cat publickey

3. Konfiguracja serwera WireGuard

📢 Tworzymy plik konfiguracyjny:

sudo nano /etc/wireguard/wg0.conf

📌 Dodajemy konfigurację serwera:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

📌 Podmieniamy SERVER_PRIVATE_KEY na rzeczywisty klucz:

sudo sed -i "s|SERVER_PRIVATE_KEY|$(cat /etc/wireguard/keys/privatekey)|" /etc/wireguard/wg0.conf

📌 Włączamy przekazywanie pakietów:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

📌 Uruchamiamy i dodajemy WireGuard do autostartu:

sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0

📌 Sprawdzamy status:

sudo systemctl status wg-quick@wg0

4. Konfiguracja klienta WireGuard

📢 Tworzymy plik konfiguracyjny na kliencie:

sudo nano /etc/wireguard/wg0.conf

📌 Dodajemy konfigurację klienta:

[Interface]
Address = 10.0.0.2/24
PrivateKey = CLIENT_PRIVATE_KEY
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERWER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

📌 Podmieniamy CLIENT_PRIVATE_KEY na rzeczywisty klucz:

sudo sed -i "s|CLIENT_PRIVATE_KEY|$(cat /etc/wireguard/keys/client_privatekey)|" /etc/wireguard/wg0.conf

📌 Uruchamiamy WireGuard na kliencie:

sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0

📌 Sprawdzamy status:

sudo wg show

5. Konfiguracja routingu i przekierowania ruchu

📌 Dodajemy reguły iptables na serwerze:

sudo iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

📌 Zapisujemy reguły iptables:

sudo apt install iptables-persistent
sudo netfilter-persistent save

📌 Testujemy tunel VPN:

ping 10.0.0.1
ping 8.8.8.8

Jeśli odpowiedzi wracają, WireGuard działa poprawnie! 🎉

Czytaj  Ustawienie statycznego IP Linux – Kompletny poradnik krok po kroku

6. Automatyczne uruchamianie WireGuard

📢 Dodajemy usługę do autostartu:

sudo systemctl enable wg-quick@wg0

📢 Sprawdzamy interfejsy:

ip a

📢 Lista podłączonych klientów:

sudo wg

7. Testowanie połączenia

📌 Pingujemy serwer z klienta:

ping 10.0.0.1

📌 Pingujemy klienta z serwera:

ping 10.0.0.2

📌 Sprawdzamy stan WireGuard:

sudo wg show

Jeśli wszystko działa poprawnie, połączenie VPN jest gotowe do użytku! 🎉


8. Podsumowanie

WireGuard to nowoczesne, szybkie i bezpieczne rozwiązanie VPN
Prosta konfiguracja i niskie zużycie zasobów
Łatwe zarządzanie kluczami i konfiguracją
Możliwość szybkiego uruchomienia w środowiskach produkcyjnych

📌 Dzięki tej konfiguracji masz w pełni funkcjonalny serwer VPN oparty na WireGuard!

Polecane wpisy
Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu
Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu

Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu – Kompletny Przewodnik W dzisiejszych czasach dostęp do Czytaj dalej

Konfiguracja tuneli VPN z wykorzystaniem VXLAN (Virtual Extensible LAN) z IPsec
Konfiguracja tuneli VPN z wykorzystaniem VXLAN (Virtual Extensible LAN) z IPsec

Konfiguracja tuneli VPN z wykorzystaniem VXLAN (Virtual Extensible LAN) z IPsec Wraz z rosnącym zapotrzebowaniem na elastyczność, skalowalność i bezpieczeństwo Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.