Et fungerende nettsted er bevis på at en leverandør kan levere HTTP, ikke at du kontrollerer en maskin. Mellom en delt plan, en administrert applikasjon og en selvadministrert server er det et stort gap i hva kontoen får gjøre med nettverket. Bestem hvilken side av gapet VPN-designet ditt trenger, før du betaler for enda et år. Fire egenskaper skiller de to, og ingen av dem står på en prisliste.

Hva hver plan faktisk gir deg

Den nyttige sammenligningen er ikke pris eller diskplass, men myndighet. Spør hva kontoen kan starte, hvilke kjernefunksjoner den kan nå, hvilke porter som tar imot innkommende trafikk, og om tillatt trafikk kan gå ut igjen et annet sted.

De fleste hostingprodukter faller i tre former, og bare den siste er en server til generelt bruk:

CapabilityWebsite planSelf-managed server
Long-running custom processUsually not permittedYours to run under a service manager
Virtual network interfaceAlmost never availablePresent when the kernel module and privilege allow it
Arbitrary inbound portRestricted to the web stackProvider filtering still applies
Forwarding for clientsNot offeredPossible once routing and policy are configured

En shell-konto er den vanlige kilden til forvirring. Filoverføring eller tilgang til planlagte oppgaver kan se ut som administrasjon, mens prosessen er begrenset til en mappe og et lite sett tillatte operasjoner.

Fire egenskaper som avgjør svaret

Ta dem i rekkefølge, for et feiltrinn i første steg gjør resten irrelevant.

For det første må programvaren kjøre som en langlivet prosess som overlever vedlikehold. For det andre må implementasjonen kunne opprette sitt virtuelle grensesnitt; på Linux betyr det vanligvis å åpne /dev/net/tun med den relevante administrative tillatelsen, slik kjernens TUN/TAP-dokumentasjon beskriver, selv om ikke ethvert VPN-design bruker den enheten. For det tredje må klienter nå lytteren på den offentlige adressen, transporten og porten du har tenkt, og en web-revers-proxy som godtar HTTPS sier ingenting om en urelatert protokoll på samme nummer. For det fjerde må tillatt trafikk kunne gå videre, med ruter, videresending og enhver oversettelse som faktisk støttes.

Tjenestevilkårene står ved siden av de fire og er slett ikke tekniske. Ubegrensede trafikkvoter beskriver vanligvis webforespørsler, ikke en tunnel som bærer andres nedlastinger. Les avsnittet om akseptabel bruk før du designer rundt det, og husk gjenopprettingstilgang for dagen tjenesten ikke starter.

Hvor en nettkonto stopper

En webplan kjører vanligvis koden din i en administrert kjøretid med et fast inngangspunkt. Selv der en tunnelbinær finnes, kan prosessen mangle tillatelse til å åpne en enhetsnode, binde en privilegert port eller endre rutetabellen. Disse begrensningene er produktet, ikke en forglemmelse.

Derfor viser et programtillegg som lover VPN seg vanligvis å være en proxy til et annet sted. Hvis den nåværende kontoen bare tilbyr nettkontroller, er det ærlige trinnet en egen server, ikke en jakt på modulen som låser opp den manglende myndigheten.

Når én vert må kjøre begge

Deling er mulig og noen ganger fornuftig, men behandle det som en sikkerhetsbeslutning fremfor en bekvemmelighet. En webapplikasjon med et opplastingsskjema står ved siden av tunnelpåloggingsinformasjon og en kontrollsocket, og et exploit i den ene når den andre. Separate kontoer, separate tjenesteenheter og separate filsystemer reduserer den eksponeringen uten å kjøpe en ekstra maskin.

Konkurranse om ressurser betyr like mye. En sikkerhetskopi over tunnelen og en travel webprosess konkurrerer om samme oppstrømslinje og samme disk, og feilen ser ut som et tregt nettsted fremfor en mettet tunnel. Bestem hvilken belastning som vinner før hendelsen, og begrens tunnelen slik at nettstedet fortsetter å svare.

Ingen av de to ordningene er isolert bare fordi begge tjenestene kjører. Evnen til å hoste dem sammen er starten på designet, og isolasjonsarbeidet er det som gjør det forsvarlig.

Avgjør det på en prøvevert med fire kommandoer

Før du migrerer, leier du den minste instansen av målproduktet i en time og tester de fire egenskapene direkte. Å gjette fra en funksjonstabell sløser mindre penger enn et år med feil plan, men langt mer tid.

Kjør disse på prøveverten og les feilene som svar, ikke som hindringer:

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 | head

De to første linjene forteller om en tunnelenhet i det hele tatt kan finnes. Den tredje rapporterer om verten kan videresende pakker, og den fjerde viser hva som allerede lytter, slik at en portkonflikt fanges tidlig. En leverandør som feiler på andre linje, kan fortsatt støtte en implementasjon i brukerland, så navngi mekanismen du trenger, ikke produktkategorien, når du spør supporten deres.

Relaterte artikler