Webbhotell eller VPS: kan ditt paket köra en VPN-server?
Delad hosting, en hanterad app och en självhanterad server ger olika nätverkskontroll. Jämför fyra förmågor innan du köper eller migrerar något.
En fungerande webbplats är bevis på att en leverantör kan leverera HTTP, inte att du kontrollerar en maskin. Mellan ett delat paket, en hanterad applikation och en självhanterad server finns ett stort gap i vad kontot får göra med nätverket. Bestäm vilken sida av gapet din VPN-design behöver innan du betalar för ännu ett år. Fyra förmågor skiljer de två, och ingen av dem står på en prislista.
Vad varje paket faktiskt ger
Den användbara jämförelsen är inte pris eller diskstorlek, utan befogenhet. Fråga vad kontot kan starta, vilka kärnfunktioner det når, vilka portar som tar emot inkommande trafik och om tillåten trafik kan gå ut igen någon annanstans.
De flesta hostingprodukter faller i tre former, och bara den sista är en server för allmänt bruk:
| Capability | Website plan | Self-managed server |
|---|---|---|
| Long-running custom process | Usually not permitted | Yours to run under a service manager |
| Virtual network interface | Almost never available | Present when the kernel module and privilege allow it |
| Arbitrary inbound port | Restricted to the web stack | Provider filtering still applies |
| Forwarding for clients | Not offered | Possible once routing and policy are configured |
Ett shell-konto är den vanliga källan till förvirring. Filöverföring eller åtkomst till schemalagda uppgifter kan se ut som administration medan processen är begränsad till en katalog och en liten uppsättning tillåtna operationer.
Fyra förmågor som avgör svaret
Ta dem i ordning, för ett misslyckande i första steget gör resten irrelevant.
För det första måste programvaran köra som en långlivad process som överlever underhåll. För det andra måste implementeringen kunna skapa sitt virtuella gränssnitt; på Linux brukar det betyda att öppna /dev/net/tun med den relevanta administrativa behörigheten, som kärnans TUN/TAP-dokumentation beskriver, även om inte varje VPN-design använder den enheten. För det tredje måste klienter nå lyssnaren på den offentliga adressen, transporten och porten du avser, och en webbreversproxy som accepterar HTTPS säger ingenting om ett orelaterat protokoll på samma nummer. För det fjärde måste tillåten trafik kunna gå vidare, med rutter, vidarebefordran och varje översättning som faktiskt stöds.
Användarvillkoren står bredvid de fyra och är inte tekniska alls. Obegränsade trafikvolymer beskriver oftast webbförfrågningar, inte en tunnel som bär andras nedladdningar. Läs avsnittet om acceptabel användning innan du designar runt det, och håll återställningsåtkomst i minnet för dagen då tjänsten inte startar.
Var ett webbkonto tar slut
Ett webbpaket kör oftast din kod i en hanterad körtid med en fast ingångspunkt. Även där en tunnelbinär finns kan processen sakna behörighet att öppna en enhetsnod, binda en privilegierad port eller ändra routingtabellen. Dessa begränsningar är produkten, inte en förbiseelse.
Därför visar sig ett plugin som lovar VPN oftast vara en proxy till någon annanstans. Om det nuvarande kontot bara erbjuder webbkontroller är det ärliga steget en separat server, inte en jakt på modulen som låser upp den saknade behörigheten.
När en enda värd måste köra båda
Delning är möjligt och ibland förnuftigt, men behandla det som ett säkerhetsbeslut snarare än en bekvämlighet. En webbapplikation med ett uppladdningsformulär står bredvid tunneluppgifter och en styrningssocket, och ett exploit i den ena når den andra. Separata konton, separata tjänsteenheter och separata filsystem minskar den exponeringen utan att köpa en andra maskin.
Konkurrens om resurser betyder lika mycket. En säkerhetskopia över tunneln och en upptagen webbprocess konkurrerar om samma upplänk och samma disk, och felet ser ut som en långsam webbplats i stället för en mättad tunnel. Bestäm vilken belastning som vinner före incidenten, och begränsa tunneln så att webbplatsen fortsätter svara.
Ingen av de två uppställningarna är isolerad bara för att båda tjänsterna körs. Förmågan att vara värd för dem tillsammans är början på designen, och isoleringsarbetet är det som gör den försvarbar.
Avgör det på en testvärd med fyra kommandon
Före migreringen, hyr den minsta instansen av målprodukten i en timme och testa de fyra förmågorna direkt. Att gissa från en funktionstabell slösar mindre pengar än ett år med fel paket, men mycket mer tid.
Kör dessa på testvärden och läs felen som svar, inte som hinder:
ls -l /dev/net/tun
sudo ip tuntap add dev tun9 mode tun && sudo ip link del tun9
sysctl net.ipv4.ip_forward
ss -lunp | headDe två första raderna avgör om en tunnelenhet alls kan finnas. Den tredje rapporterar om värden får vidarebefordra paket, och den fjärde visar vad som redan lyssnar så att en portkonflikt fångas tidigt. En leverantör som misslyckas på andra raden kan ändå stödja en implementering i användarland, så namnge mekanismen du behöver, inte produktkategorin, när du frågar deras support.