Uruchom własny VPN na offshore VPS
Komercyjne VPN-y każą Ci ufać polityce braku logów napisanej przez ich dział marketingu. Twój własny VPS nie ma czego logować poza tym, co sam skonfigurujesz. Poniżej pełna konfiguracja WireGuard — oraz uczciwa lista kompromisów.
Dlaczego własny hosting bije komercyjny VPN
„Brak logów” w komercyjnym VPN to polityka. Brak logów na Twoim VPS to architektura. Ta różnica znaczy więcej niż jakikolwiek certyfikat audytu:
- Dostawca VPN widzi wszystko z założenia. Ruch tysięcy użytkowników kończy się na serwerach, które firma w pełni kontroluje. Tajny nakaz plus cicha zmiana polityki logowania jest dla Ciebie niewidoczna — i zdarzyło się to już wcześniej, u dostawców, o których słyszałeś.
- Na własnym VPS kontrolujesz cały stos. Twój sshd, Twój dysk, Twoja konfiguracja WireGuard. Nie uruchamiamy niczego wewnątrz Twojego gościa i nie prowadzimy żadnych logów aktywności ani połączeń po stronie sieci. Nie widzimy wnętrza Twojego VPS; firma VPN istnieje po to, by widzieć wnętrze swojego tunelu.
- Jurysdykcja działa na Twoją korzyść. Twój punkt wyjścia znajduje się tam, gdzie go wdrożysz — poza sojuszami wywiadowczymi, jeśli tak wybierzesz, podlegając sądom jurysdykcji hostingowej, a nie krajowi macierzystemu firmy VPN.
I uczciwa przeciwwaga: samodzielny VPN ma dedykowany adres IP, który należy wyłącznie do Ciebie. Strony nie oznaczą go jako VPN (prawdziwa poprawa komfortu), ale cały Twój ruch współdzieli jeden adres — nie mieszasz się w tłum tysięcy. Jeśli wymaganiem jest anonimowość tłumu, użyj Tora. Jeśli wymaganiem jest godna zaufania infrastruktura, nic nie przebije maszyny, którą kontrolujesz.
Co budujemy
Telefon i laptop → tunel WireGuard → SV-Pro w wybranej lokalizacji → otwarty internet. Przekazywanie IPv4 z NAT na serwerze, routing pełnego tunelu na klientach (0.0.0.0/0), DNS przez 9.9.9.9. Przykładowy adres IP serwera: 185.220.101.14 — zastąp własnym. System bazowy to Debian 13; jeśli jeszcze nie utwardziłeś maszyny, zrób najpierw listę kontrolną 30 minut , a potem wróć.
Konfiguracja serwera na Debianie 13
Instalacja i generowanie kluczy
apt update && apt install -y wireguard qrencode
cd /etc/wireguard
umask 077
# server keypair
wg genkey | tee server.key | wg pubkey > server.pub
# one keypair per client device (laptop shown; repeat for phone)
wg genkey | tee laptop.key | wg pubkey > laptop.pub
Generowanie kluczy klienta na serwerze jest akceptowalne przy pierwszej konfiguracji, ponieważ i tak przesyłasz konfiguracje przez SSH. Dla ściślejszej higieny generuj klucze na każdym urządzeniu i wklejaj tylko klucze publiczne do konfiguracji serwera.
Zapisz wg0.conf
# /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.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
# laptop
[Peer]
PublicKey = <contents of laptop.pub>
AllowedIPs = 10.10.0.2/32
# phone — repeat the block with 10.10.0.3/32
Sprawdź nazwę interfejsu uplink poleceniem ip route | grep default — na obrazach VPSRento to eth0, ale jeśli u Ciebie jest inaczej, dostosuj linie MASQUERADE.
Włącz przekazywanie i uruchom
# turn on IPv4 forwarding, persist across reboots
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl -p /etc/sysctl.d/99-wireguard.conf
# firewall: one UDP port, nothing else
ufw allow 51820/udp comment 'WireGuard'
# bring it up, now and on boot
systemctl enable --now wg-quick@wg0
wg show
wg show powinien wypisać interfejs, port nasłuchu i peerów. Linii handshake jeszcze nie ma — pojawią się, gdy klient się połączy.
Konfiguracja klienta
Na laptopie, laptop.conf:
[Interface]
PrivateKey = <contents of laptop.key>
Address = 10.10.0.2/32
DNS = 9.9.9.9
[Peer]
PublicKey = <contents of server.pub>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 185.220.101.14:51820
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0, ::/0 kieruje cały ruch przez tunel — później możesz zmienić go na tunel dzielony, jeśli będziesz chciał. PersistentKeepalive utrzymuje połączenie aktywne przez domowy NAT. W przypadku telefonu nie wpisuj niczego: wygeneruj plik konfiguracyjny telefonu na serwerze i wyświetl go jako kod QR w terminalu:
# prints a scannable QR in the terminal — scan it with the WireGuard app
qrencode -t ansiutf8 < phone.conf
Aktywuj, a następnie zweryfikuj z dowolnego klienta: curl ifconfig.me powinien odpowiedzieć adresem IP Twojego VPS, a test wycieku DNS powinien pokazać operatora 9.9.9.9 — a nie Twojego ISP.
Uwagi dotyczące wydajności
WireGuard działa w jądrze i używa ChaCha20 — na węzłach AMD EPYC pojedynczy tunel realistycznie przesyła 600–900 Mbps przez NAT, co oznacza, że wysyca port na długo przed obciążeniem CPU. Wiążącym ograniczeniem nigdy nie jest szyfr; są to warunki transferu w planie. VPN to czysty transfer: każdy pobrany gigabajt liczy się raz na wejściu i raz na wyjściu. W planach z limitami ta arytmetyka ma znaczenie. W SV-Pro — $19.99/mies., bez limitu przy 1 Gbps — nie ma, dlatego SV-Pro to plan, który polecamy budującym VPN. Jeden klient prowadzi pełną konfigurację rodzinną na pojedynczym SV-Pro w Amsterdamie i wciąż nie znalazł jego limitu.
Multi-hop: wejście w Amsterdamie, wyjście w Reykjaviku
Dla drugiej warstwy połącz dwa VPS-y w różnych jurysdykcjach. Węzeł wejściowy w Holandii (niskie opóźnienie do Ciebie), tunel WireGuard między serwerami, węzeł wyjściowy w Islandii (jurysdykcja, z której chcesz, aby pochodził Twój ruch). Twoje urządzenia widzą jeden punkt końcowy w Amsterdamie; internet widzi adres IP w Reykjaviku; węzeł wejściowy widzi tylko szyfrogram. Mechanicznie to te same konfiguracje, które właśnie napisałeś, dwa razy — drugi interfejs wg na węźle wejściowym, którego trasa domyślna wskazuje tunel wyjściowy. Koszt to około 40–60ms dodatkowego opóźnienia i jeden więcej $5.99–6.89 VPS. Warto, gdy Twój model zagrożeń ma budżet; ozdoba, gdy nie ma.
Uczciwe ograniczenia
- Teraz Ty jesteś operatorem. Aktualizacje, rotacja kluczy i dostępność należą do Ciebie. unattended-upgrades i lista kontrolna zabezpieczeń pokrywają większość; reszta to okazjonalne apt upgrade w niedzielę.
- Jeden adres IP to jedna tożsamość. Obserwatorzy mogą korelować wszystko, co wychodzi z Twojego adresu. Gdy to ma znaczenie, wdróż ponownie w innej lokalizacji — 55 sekund później masz świeże wyjście i świeży adres IP sprawdzony względem ponad 40 list blokujących.
- VPS to nie Tor. Ta konfiguracja chroni Cię przed Twoim ISP, wrogim Wi-Fi i firmami VPN. Przeciwko przeciwnikowi na poziomie państwa obserwującemu oba końce tunelu istnieje korelacja czasowa. Wiedz, w jakiej walce jesteś.