Cloudflare WARP nadaje serwerowi wychodzący adres Cloudflare, co przydaje się do dotarcia do zasobów dostępnych tylko przez IPv6 lub do zmiany widocznego adresu IP. Na zdalnej maszynie klasyczna pułapka polega na tym, że domyślny tryb WARP przejmuje tablicę routingu i zrywa sesję SSH. Ten poradnik pokazuje dwie bezpieczne metody na VPS Linux Infrawire: oficjalnego klienta w trybie proxy oraz wgcf z WireGuard i routingiem częściowym.
📋 Wymagania wstępne
- VPS z Ubuntu 24.04 lub Debian 12 i dostępem SSH jako root (w panelu klienta znajdziesz adres IP i hasło root VPS).
- Zanotowany publiczny adres IP VPS (
VPS_IP). - Sposób na otwarcie konsoli VPS, gdyby zmiana sieci Cię zablokowała.
- Zainstalowane pakiety
curl,gpgilsb-release.
📦 Instalacja oficjalnego klienta
Dodaj repozytorium Cloudflare i zainstaluj pakiet:
Bashapt update && apt install -y curl gpg lsb-release curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/cloudflare-client.list apt update && apt install -y cloudflare-warp systemctl enable --now warp-svc
🛡️ Tryb proxy: SSH pozostaje przy życiu
W trybie proxy WARP nie rusza tablicy routingu. Otwiera tylko lokalny port SOCKS5, z którego korzystasz w razie potrzeby. Ustaw tryb przed połączeniem, nigdy odwrotnie.
Bashwarp-cli --accept-tos registration new warp-cli mode proxy warp-cli proxy port 40000 warp-cli connect warp-cli status
Proxy nasłuchuje wyłącznie na 127.0.0.1:40000. Aby przepuścić przez nie polecenie:
Bashcurl -x socks5h://127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace
Schemat socks5h jest ważny: dzięki niemu rozwiązywanie DNS także przechodzi przez proxy. Aby zatrzymać, uruchom warp-cli disconnect.
🔀 Alternatywa: wgcf i WireGuard
Jeśli wolisz interfejs WireGuard w jądrze, wgcf tworzy konto WARP i generuje standardową konfigurację. Pobierz wersję wgcf odpowiadającą Twojej architekturze ze strony wydań projektu na GitHubie, a następnie:
Bashapt install -y wireguard-tools chmod +x wgcf_linux_amd64 && mv wgcf_linux_amd64 /usr/local/bin/wgcf cd /root && wgcf register && wgcf generate cp wgcf-profile.conf /etc/wireguard/wgcf.conf
Nie uruchamiaj go jeszcze: wygenerowany profil kieruje wszystko przez tunel i zerwałby SSH.
✂️ Routing częściowy i tylko IPv6
Edytuj /etc/wireguard/wgcf.conf. Aby przez WARP szedł tylko ruch IPv6, a IPv4 (i sesja SSH) pozostało nietknięte, zawęź AllowedIPs, usuń linię DNS i obniż MTU:
INI1[Interface] 2MTU = 1280 3PostUp = ip rule add from VPS_IP lookup main 4PostDown = ip rule del from VPS_IP lookup main 5 6[Peer] 7AllowedIPs = ::/0 8Endpoint = engage.cloudflareclient.com:2408
Zachowaj linie kluczy i Address wygenerowane przez wgcf. Para ip rule gwarantuje, że odpowiedzi z VPS_IP zawsze korzystają z głównej tablicy, co chroni połączenia przychodzące. Jeśli łączysz się tylko przez IPv4, możesz później zastąpić ::/0 wpisem 0.0.0.0/0, ::/0, aby tunelować wszystko. Włącz interfejs:
Bashsystemctl enable --now wg-quick@wgcf
✅ Weryfikacja
Sprawdź, czy WARP działa właściwą ścieżką:
Bashcurl -s https://www.cloudflare.com/cdn-cgi/trace | grep warp curl -6 -s https://www.cloudflare.com/cdn-cgi/trace | grep -E 'ip=|warp=' wg show wgcf
warp=on przy żądaniu IPv6 oraz świeży handshake w wg show oznaczają, że tunel działa. Zwykłe żądanie IPv4 powinno nadal pokazywać warp=off.
🛠️ Rozwiązywanie problemów
Utrata dostępu SSH zaraz po połączeniu. WARP działał w trybie pełnego tunelu. Otwórz konsolę VPS i wykonaj warp-cli disconnect (lub systemctl stop wg-quick@wgcf), a przed ponownym połączeniem przełącz na warp-cli mode proxy. Jeśli łączysz się z serwerem przez IPv6, nie używaj ::/0 w AllowedIPs.
DNS przestaje rozwiązywać nazwy. wg-quick nadpisuje resolver, gdy istnieje linia DNS. Usuń ją z profilu albo użyj proxy socks5h, aby rozwiązywanie odbywało się po stronie Cloudflare.
Duże strony się zawieszają lub TLS utyka. To prawie zawsze problem z MTU. Zostaw MTU = 1280 w profilu WireGuard i sprawdź poleceniem ping -M do -s 1200 1.1.1.1.
🎉 Twój VPS może teraz korzystać z Cloudflare WARP na żądanie, bez zrywania sesji SSH.