2024. április 24., szerda

Gyorskeresés

Instabil internetkapcsolat stabilizálása a WARP segítségével

Írta: | Kulcsszavak: wireguard . warp . cloudflare . külföld . sávszél . sávszélesség . peering . vpn

[ ÚJ BEJEGYZÉS ]

Az utóbbi hetekben járva a nagy vezetékes szolgáltatói topikokat rendszeresen botlok olyan hibába, amit magam is többé-kevésbé tapasztalok. Ez pedig az egyáltalán nem, vagy rosszul használható külföldi vagy belföldi sáv problémája.
Szintén sokat látom az egyik topikban azt a hibát is, hogy instabil a hálózati kapcsolat, akár belföldre. Gyenge sebesség, magas késleltetés, random záródó (vagy fel sem épülő) TCP kapcsolatok.
Az itt közölt leírás a problémára nem megoldás, csak egy fajta tüneti kezelés, ami ideig-óráig nyújt egy fajta megoldást. A leírást azért gondoltam fontosnak elkészíteni, hogy ha már nagyon csapnivaló valakinél a helyzet, tudjon próbálkozni a saját hatáskörében valamiféle megoldással.

Használhatóak különféle VPN vagy proxy megoldások, ám ezeknél az ingyenes szegmenssel elég felemás a tapasztalatom, a fizetősöknél meg sokszor probléma, hogy nem lakossági IP-címet adnak, tehát némely szolgáltatás megtagadja a hozzáférést.
A lényeg: A CloudFlare 1.1.1.1 DNS-éhez kapcsolódik a Warp nevű biztonságos internet átjáró szolgáltatásuk. Ennek van valamiféle saját alkalmazása, de ebben nem tudok nyilatkozni, nem próbáltam. Ami viszont érdekesebb, hogy a motorháztető alatt az UDP alapú WireGuard VPN protokollt használja, ami az utóbbi idő egyik legfelkapottabb virtuális magánhálózati megoldása.
A WireGuard-ról röviden annyit, hogy gyors és biztonságos. Van neki egy egyszerű, de nagyszerű alkalmazása, ami elérhető a releváns platformokra. Az 5-ös verzió óta pedig a Linux kernelnek is a része.

Ennyi bevezető után vágjunk is bele. Első körben készítsünk WireGuard konfigurációt a Warp-hoz. Ehhez egy nem hivatalos CLI megoldást lehet használni, ami a GitHub-on itt érhető el. Letöltésre a releases oldalon van lehetőség.
A példában Windows-ra mutatom meg, hogy lehet beállítani, de azért nem nagy rejtély, szóval Linux-on se tér el olyan nagyon, csak ott a WG-nek nincs GUI-s alkalmazása (vagy csak én nem tudok róla:D). Húzzuk le a legfrissebb verziót, ami a bejegyzés készültekor itt érhető el 64 bites Windows-ra.
Nyissunk egy parancssort és navigáljunk az exe-t tartalmazó mappába. Például ha a letöltésekben van, akkor nyissuk meg a parancssort és cd downloads paranccsal lépjünk a letöltésekbe.
Ha itt beírjuk az exe nevét (legegyszerűbb elkezdeni, hogy wg majd ütni egy tab-ot) és ütünk egy entert, megjelenik némi információ a projektról és a használható parancsok listája.

Ha megjelentek az infók, rendben van az exe, első körben regisztráljunk egy Warp hozzáférést, az exe után szóközzel írt register paranccsal. Íme a példa és egy kimenet amit látni kell

D:\downloads>wgcf_2.2.15_windows_amd64.exe register
2023/01/16 10:02:34 Using config file: wgcf-account.toml
This project is in no way affiliated with Cloudflare
Cloudflare's Terms of Service: https://www.cloudflare.com/application/terms/
Use the arrow keys to navigate: ↓ ↑ → ←
? Do you agree?:
> Yes
No

Ha elfogadjuk, akkor az yes-t válasszuk és enter. Utána azt kell látni, hogy success, azaz sikerült a fiók létrehozása.

D:\downloads>wgcf_2.2.15_windows_amd64.exe register
2023/01/16 10:02:34 Using config file: wgcf-account.toml
This project is in no way affiliated with Cloudflare
Cloudflare's Terms of Service: https://www.cloudflare.com/application/terms/
v Yes
2023/01/16 10:04:37 =======================================
2023/01/16 10:04:37 Device name : XXXXXX
2023/01/16 10:04:37 Device model : PC
2023/01/16 10:04:37 Device active : true
2023/01/16 10:04:37 Account type : free
2023/01/16 10:04:37 Role : child
2023/01/16 10:04:37 Premium data : 0.00 B
2023/01/16 10:04:37 Quota : 0.00 B
2023/01/16 10:04:37 =======================================
2023/01/16 10:04:37 Successfully created Cloudflare Warp account

Csodás, kész az account. Ahogy látható a típusa free. A plus valamivel több szolgáltatást ad, elvileg jobb a sebessége és a routing-ja, a gyakorlatban én nem tapasztaltam különbséget. A Plus-hoz fizetni kell, vagy van valami telefonos maszatolás, ha meghívunk másokat a szolgáltatásba, kapunk Plus-t néhány GB erejéig, de ebbe ugyancsak nem ástam bele magam.
Az exe mellett létrejött egy wgcf-account.toml nevű fájl. Ez tartalmazza az account-unkra vonatkozó információkat.
A következő lépés a generate paraméter a WireGuard konfig elkészítéséhez.

D:\downloads>wgcf_2.2.15_windows_amd64.exe generate
2023/01/16 10:08:33 Using config file: wgcf-account.toml
2023/01/16 10:08:33 =======================================
2023/01/16 10:08:33 Device name : XXXXXX
2023/01/16 10:08:33 Device model : PC
2023/01/16 10:08:33 Device active : true
2023/01/16 10:08:33 Account type : free
2023/01/16 10:08:33 Role : child
2023/01/16 10:08:33 Premium data : 0.00 B
2023/01/16 10:08:33 Quota : 0.00 B
2023/01/16 10:08:33 =======================================
2023/01/16 10:08:33 Successfully generated WireGuard profile: wgcf-profile.conf

Létrejött a wgcf-profile.conf. Ezt húzzuk majd bele a WireGuard-ba. Ezzel a Warp konfig elkészült. Lehet még használni a status, trace paramétereket az exe után, ezek infókat mutatnak az account-ról ill. a kapcsolatról. Tesztelhető majd így is, megy-e a Warp, de erre egy sima IP-lekérő oldal is megfelel.

Most szedjük le a WireGuard-ot innen , download Windows installer.

Telepítés után kapunk egy kis ablakot. Jobbklikk az üres tunnels listán, import, húzzuk be az előbbi wgcf-profile.conf-ot.

Innentől kezdve sima kattintással bekapcsolható a tunnel, jobklikk lenyomásával pedig lehet szerkeszteni az edit paranccsal. HA ezt megnyomjuk, megjelenik a konfig ablak. Itt ami érdekes lehet a name, ez az interfész neve amit mi látunk, alapból a fájlnévől alakította ki.
Hasznos még a MTU, ez alapból 1280. A változtatásával el lehet érni némi javulást a kapcsolatban ha nem lenne megfelelő, de az 1280-tól eltérő értékek ritkán hoznak javulást, ettől független nem teljesen kizárt.
A konfig végére érdemes beírni, hogy
PersistentKeepalive = 25
NAT-olt hálózatban enélkül hajlamos megállni a tunnel, tartsuk át fent néhány üres csomag automatikus küldésével.

Egy bonyolultabb rész az AllowedIPs. Ez jelenleg 0.0.0.0/0, ::/0, azaz minden IPv4 és IPv6 forgalmat beterel az alagútba. Be van jelölve a KillSwitch funkció, ezt akkor érdemes használni, ha a tunnel felépültekor minden korábbi kapcsolatot megszakítanánk. A funkció hátránya, hogy a WSL, virtuális gépek és egyéb belső hálózatok elérését is megöli. Akinek ilyenje van, vegye ki a jelölést. Ennek hatására meg fog változni ez a sor, viszont a korábbi kapcsolatok nem mennek tunnel-be, csak az újak.
Alternatív lehetőség, ha bizonyos IP-címeket akarunk csak tunnel-ezni. Régen DIGI hálózatból elég gyenge volt a VPS-emre a hálózati kapcsolat, így csak azt tereltem alagútba. Ilyenkor az AllowedIPs például így nézzen ki (feltéve, hogy 1.1.1.1 a VPS címe, ami elég esélytelen):
AllowedIPs = 1.1.1.1/32
Lehet tartományt is tunnel-ezni, ha pl. a /32 helyett /24-et használunk, és vesszővel több IP vagy tartomány is felsorolható.

Végül egy utolsó dolog. Az Endpoint azt adja meg, hogy hová csatlakozzon a WireGuard. A CloudFlare az engage.cloudflareclient.com-on van. Ez IPv4-en és IPv6-on is elérhető. Néha egyikre vagy másikra elképzelhető, hogy jobb a sebesség vagy a késleltetés, így lehet tesztelni

D:\downloads>ping -4 engage.cloudflareclient.com

Pinging engage.cloudflareclient.com [162.159.192.1] with 32 bytes of data:
Reply from 162.159.192.1: bytes=32 time=5ms TTL=58
Reply from 162.159.192.1: bytes=32 time=2ms TTL=58
Reply from 162.159.192.1: bytes=32 time=2ms TTL=58
Reply from 162.159.192.1: bytes=32 time=3ms TTL=58

Ping statistics for 162.159.192.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 5ms, Average = 3ms


D:\downloads>ping -6 engage.cloudflareclient.com

Pinging engage.cloudflareclient.com [2606:4700:d0::a29f:c001] with 32 bytes of data:
Reply from 2606:4700:d0::a29f:c001: time=3ms
Reply from 2606:4700:d0::a29f:c001: time=3ms
Reply from 2606:4700:d0::a29f:c001: time=2ms
Reply from 2606:4700:d0::a29f:c001: time=3ms

Ping statistics for 2606:4700:d0::a29f:c001:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms

Ha a kapcsolat minősége nem tökéletes, azzal is el lehet játszani, hogy a kapcsolatot IPv4-re vagy IPv6-ra kényszerítjük, valahogy így
Endpoint = 162.159.192.1:2408
Endpoint = [2606:4700:d0::a29f:c001]:2408
Előbbi IPv4, utóbbi IPv6. Tehát itt az IPv6-os késleltetés jobb valamivel, ha azt akarnám használni, akkor a második sort rakom be Endpoint-nak, a korábbi kitörlésével. A gyakorlatban persze ez a 2--3 ms nem számít, ez akkor érdekesebb, ha 10--20 ms különbséget tapasztalunk.

HA megfelelően beállítottuk, indítsuk el a tunnel-t, és ellenőrizzük, tunnel-be megy-e a netes forgalom. Ha a warp=on, márpedig a leírást követve on, akkor gratulálok, működik.

A végére pár apróság.
- A CloudFlare egy amerikai vállalat.. Tehát ha rajtuk megy át a forgalom, elméletben láthatják azt. Erre vonatkozóan rendelkezik a fenntebb elfogadott ToS, ha valaki paranoiás, olvassa el. Szubjektív véleményem szerint a Meta-val szemben mondjuk sokkal szimpatikusabbak és szívesebben bízom rájuk az adataim, de kinek mi.
- Gyakorlati tapasztalat, hogy működik. Megoldást azért képes nyújtani sok esetben, mert a szolgáltatók kapcsoalta jó a CF-ig, a CF peering-je pedig elég jó minőséget képvisel. Emellett a WireGuard UDP, amin belül mennek a TCP kapcsolatok, instabil hálózaton ez is képes egy fajta stabilitásérzetet nyújtani.
- Mivel ingyenes szolgáltatás, nyomatékosan kérem, hogy a hálózatot fölöslegesen terhelő torrentes és egyéb tevékenységeket kerüljük. Nem hiszem, hogy eggyel több vagy kevesebb torrentestől fog megfeküdni a CF hálózata, de jó volna, ha az eddigi színvonalon hosszútávon elérhető maradna ez a szolgáltatás.

Bízom benne, hogy a hálózati zűrök mellett sikerül néhányak netezési élményén javítani ezzel a leírással. Ha bármilyen meglátás van, várom kommentben.

Köszi, hogy benéztél!

Hozzászólások

(#1) hcl


hcl
félisten
LOGOUT blog

Ügyes :)

Wireguard GUI van Linuxra Networkmanager pluginként.

Mutogatni való hater díszpinty

(#2) Mr Dini


Mr Dini
addikt
LOGOUT blog

Hiánypótló cikk, nagyon köszönöm! :R

Engem is sokszor mentett meg a warp, de arra nem is figyeltem, hogy épp v4-en, vagy v6-on célszerűbb elérni.

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#3) UnA


UnA
Korrektor

Már csak azt nem tudom, hogy pontosan milyen helyzetben volna egy ilyen kapcsolat jobb? Pl. melyik ISP + szolgáltatás használata esetén nyújt valódi előnyt?

(#4) adika4444 válasza UnA (#3) üzenetére


adika4444
addikt

Telekom-nál segít kikerülni a gyenge peering-et Hetzner irányba, de DIGI esetében is többszörös sebesség érhető el külföldi hosztokra.

üdv, adika4444

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.