Tailscale eller WireGuard: enkelheten kostar fart på Linux

|Författare: QUASA:s redaktion|6 min läsning
Tailscale eller WireGuard: enkelheten kostar fart på Linux

Välj Tailscale när enheter ofta byter nät, finns bakom NAT eller ska nås av personer med olika behörigheter. Välj direktkonfigurerad WireGuard för ett litet, stabilt nät av Linuxservrar när prestanda och kontroll över konfigurationen väger tyngst. Tailscales egen jämförelse anger att direkt WireGuard ger bättre prestanda, med störst skillnad på Linux där WireGuard kan köras i kärnan medan Tailscale använder en implementation i användarutrymmet.

Valet gäller både arbetet med nätet och vägen som trafiken tar. Tailscale sköter samordning och försöker skapa direkta anslutningar, men en förbindelse som måste gå via relä får en extra omväg. Därför går det inte att bedöma hastigheten enbart utifrån vilket VPN-program som är installerat: en direkt tunnel och en reläad anslutning har olika förutsättningar.

Varför Linux kan få en prestandaskillnad

WireGuard i Linuxkärnan behandlar tunneltrafiken där, medan Tailscales WireGuard-implementation körs i användarutrymmet. Den senare vägen innebär extra bearbetning. Det ger direkt WireGuard en fördel när båda alternativen kan använda samma direkta nätväg, särskilt om servrarna ska flytta stora datamängder och själva tunneln blir en begränsning.

Fördelens storlek är däremot ingen fast procentsats. Den beror bland annat på värdarnas kapacitet, trafikens karaktär och den underliggande förbindelsen. En snabbare tunnel hjälper föga om internetlänken redan är full, medan skillnaden kan bli mer relevant mellan kraftfulla servrar med gott om bandbredd. Den praktiska jämförelsen måste därför hålla anslutningsvägen lika: direkt WireGuard mot en direkt Tailscale-anslutning.

Relätrafik är en separat prestandafråga. När paket måste passera en mellanliggande värd påverkas både fördröjning och möjlig genomströmning av den vägen. Att blanda ihop reläets omväg med klientens extra bearbetning gör det svårt att förstå varför en viss förbindelse känns långsam.

Installation: färre manuella steg eller färre beroenden

Med ren WireGuard skapar du nycklar, tilldelar tunneladresser och anger vilka motparter som ska kunna nås. Enheten behöver också veta var en motpart finns, eller ha en annan fungerande väg till den. WireGuards installationsguide visar gränssnitt, nycklar och ändpunkter samt hur PersistentKeepalive kan hålla en NAT-mappning öppen. För ett fåtal fasta servrar är detta ett överskådligt arbete.

När enheter läggs till, tas bort eller får nya adresser växer ansvaret för konfigurationen. Den som driver nätet måste se till att rätt offentliga nycklar, tillåtna adresser och nätvägar finns på rätt ställen. WireGuard ger stor frihet att automatisera det arbetet själv, men levererar inte Tailscales centrala hantering av identiteter och åtkomstregler som en del av den direkta konfigurationen.

Med Tailscale installerar och registrerar du klienten på varje enhet. Tjänsten distribuerar uppgifter som behövs för att enheterna ska hitta varandra och för att centrala regler ska gälla. För fjärråtkomst till en hemmaserver från en bärbar dator och en telefon kan den enklare driften väga mer än tunneln­s högsta möjliga genomströmning. För två servrar med beständiga adresser finns mindre löpande arbete att spara.

Kontrollplanet och den egna kontrollen

Tailscales samordningstjänst håller reda på enheter, distribuerar offentliga nycklar och nätinställningar samt hanterar åtkomstpolicy. Den krypterade datatrafiken går mellan klienterna när en direkt förbindelse fungerar, annars via ett relä. I Tailscales beskrivning av kontrollplanet framgår att redan etablerade förbindelser kan fortsätta med sparade regler vid ett avbrott, medan nya förbindelser och policyändringar får vänta.

Det gör samordningstjänsten till ett beroende för hur nätet styrs, även när den inte ligger i datapaketens direkta väg. För ett team är det ofta ett rimligt byte: behörigheter kan ändras centralt i stället för genom flera lokala konfigurationer. Den som vill äga hela samordningen behöver däremot driva den delen själv, med de rutiner för nycklar och regler som följer.

En publicerad studie av fullmesh-VPN beskriver Tailscales klienter som öppna och dess driftade kontrollplan som sluten. Studien undersökte bland annat Headscale, ett separat kontrollplan som använder Tailscale-klienter. Dess prestandaresultat gäller den testade Headscale-miljön och ska inte tillskrivas Tailscales driftade tjänst.

Fyra nätfall där valet blir konkret

Två servrar med publika adresser

För två Linuxservrar med kända, nåbara adresser är ren WireGuard ofta det enklaste valet i längden. Varje server får den andras nyckel och ändpunkt, och trafiken kan gå direkt mellan dem. Om syftet är en stabil tunnel för stora överföringar får du kärnimplementationens prestandafördel utan att införa en extern samordningstjänst.

Tailscale är ändå relevant om servrarna ingår i ett större nät med andra användare och gemensamma regler. Men för enbart denna fasta serverförbindelse tillför automatisk upptäckt mindre värde. Här är det framför allt din vilja att slippa sköta konfigurationen själv som kan motivera den extra bearbetningen.

Enheter bakom NAT och på skiftande nät

För en hemmaserver och rörliga klienter talar mer för Tailscale. Klienterna försöker hitta en direkt väg även när adresser ändras eller enheter finns bakom routrar som du inte styr. Det minskar behovet av att hålla reda på externa adresser och ändra portvidarebefordran i varje nät.

WireGuard fungerar också bakom NAT när det finns en nåbar motpart och rätt nätväg. PersistentKeepalive kan hålla en befintlig NAT-mappning vid liv, men skapar inte på egen hand en väg för inkommande trafik mellan två ändpunkter som båda är svåra att nå. Den vägen får du då ordna genom nätkonfiguration eller en mellanliggande värd.

Fjärråtkomst via relä

När direkt anslutning misslyckas kan Tailscale låta krypterad trafik gå via relä. Det kan ge fungerande fjärråtkomst utan att du först bygger en egen mellanväg. Tailscales prestandaråd anger att direkta anslutningar nästan alltid ger lägre fördröjning och högre genomströmning; ett eget peer relay kan användas när direkt anslutning saknas.

Här är tillgänglighet och hastighet olika vinster. Ett relä kan göra en svåråtkomlig enhet nåbar, men paketens extra sträcka kan märkas vid stora filöverföringar eller fördröjningskänsligt arbete. Ren WireGuard kan vara snabbare när en direkt väg finns, men saknar en användbar hastighetsfördel mellan dessa ändpunkter tills du själv har ordnat en fungerande anslutningsväg.

Ett team med olika åtkomstregler

När flera personer behöver olika rättigheter till servrar och tjänster väger Tailscales centrala regler tyngre. Behörigheter kan knytas till identiteter och grupper, så att förändringar inte kräver redigering av varje berörd tunnel. Det är särskilt värdefullt när användare och enheter tillkommer eller lämnar nätet återkommande.

Ren WireGuard knyter i grunden krypterade förbindelser till nycklar och tillåtna adresser. Mer detaljerad åtkomst till enskilda tjänster får du ordna med exempelvis brandväggsregler och egen administration. För ett litet team med fasta administratörer kan den kontrollen vara värd arbetet; för ett team med skiftande behörigheter blir Tailscales samlade policy ofta det starkare skälet att acceptera dess overhead.

Läs också:

Dela:

Prenumerera på vårt nyhetsbrev

Få de senaste nyheterna om Web3, AI och krypto direkt i din inkorg.

0