Fungujúci web je dôkazom, že poskytovateľ vie servírovať HTTP, nie že vy ovládate stroj. Medzi zdieľaným plánom, spravovanou aplikáciou a samostatne spravovaným serverom je veľká priepasť v tom, čo účet smie robiť so sieťou. Rozhodnite, ktorú stranu tejto priepasti váš návrh VPN potrebuje, kým zaplatíte ďalší rok. Tieto dva prípady oddeľujú štyri schopnosti a ani jedna nie je v cenníku.

Čo každý plán skutočne dáva

Užitočné porovnanie nie je cena ani veľkosť disku, ale oprávnenie. Pýtajte sa, čo účet vie spustiť, ku ktorým funkciám jadra sa dostane, ktoré porty prijímajú prichádzajúcu prevádzku a či povolená prevádzka môže zase odísť inam.

Väčšina hostingových produktov spadá do troch podôb a len tá posledná je server na všeobecné použitie:

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

Účet so shellom je obvyklým zdrojom zmätku. Prenos súborov alebo prístup k naplánovaným úlohám môže vyzerať ako správa, zatiaľ čo proces je obmedzený na adresár a malú množinu povolených operácií.

Štyri schopnosti, ktoré rozhodujú odpoveď

Berte ich po poradí, pretože zlyhanie v prvom kroku robí zvyšok nepodstatným.

Po prvé, softvér musí bežať ako dlhodobý proces, ktorý prežije údržbu. Po druhé, implementácia musí vedieť vytvoriť svoje virtuálne rozhranie; v Linuxe to zvyčajne znamená otvoriť /dev/net/tun s príslušným správcovským oprávnením, ako dokumentácia jadra k TUN/TAP opisuje, hoci nie každý návrh VPN toto zariadenie používa. Po tretie, klienti musia dosiahnuť na počúvajúci proces na verejnej adrese, prenose a porte, ktoré zamýšľate, a webová reverzná proxy prijímajúca HTTPS nehovorí nič o nesúvisiacom protokole na tom istom čísle. Po štvrté, povolená prevádzka musí vedieť pokračovať ďalej, s trasami, presmerovaním a akýmkoľvek skutočne podporovaným prekladom adries.

Podmienky služby stoja vedľa tých štyroch a nie sú vôbec technické. Neobmedzené limity prevádzky zvyčajne opisujú webové požiadavky, nie tunel, ktorý nesie cudzie sťahovania. Prečítajte si časť o prijateľnom používaní, kým okolo nej budete navrhovať, a myslite na prístup na obnovenie pre deň, keď sa služba nespustí.

Kde webový účet končí

Webový plán zvyčajne spúšťa váš kód v spravovanom runtime s pevným vstupným bodom. Aj keď je tunelový binárny súbor prítomný, procesu môže chýbať oprávnenie otvoriť uzol zariadenia, obsadiť privilegovaný port alebo zmeniť smerovaciu tabuľku. Tieto obmedzenia sú produkt, nie prehliadnutie.

Preto plugin sľubujúci VPN zvyčajne skončí ako proxy inam. Ak súčasný účet ponúka len webové ovládanie, poctivým krokom je samostatný server, nie hľadanie modulu, ktorý odomkne chýbajúce oprávnenie.

Keď jeden hostiteľ musí prevádzkovať oboje

Zdieľanie je možné a niekedy rozumné, ale berte ho ako bezpečnostné rozhodnutie, nie ako pohodlie. Webová aplikácia s formulárom na nahrávanie stojí vedľa tunelových prihlasovacích údajov a riadiaceho socketu a zneužitie v jednom dosiahne druhé. Oddelené účty, oddelené služobné jednotky a oddelené súborové systémy túto expozíciu znižujú bez kúpy druhého stroja.

Súperenie o prostriedky je rovnako dôležité. Záloha cez tunel a vyťažený webový proces súperia o rovnaký upload a rovnaký disk a porucha vyzerá ako pomalý web, nie ako nasýtený tunel. Rozhodnite, ktorá záťaž vyhrá, ešte pred incidentom, a obmedzte tunel, aby web ďalej odpovedal.

Ani jedno usporiadanie nie je izolované len preto, že obe služby bežia. Schopnosť hostovať ich spolu je začiatok návrhu a práca na izolácii je to, čo ho robí obhájiteľným.

Vyriešte to na skúšobnom hostiteľovi štyrmi príkazmi

Pred migráciou si na hodinu prenajmite najmenšiu inštanciu cieľového produktu a otestujte štyri schopnosti priamo. Hádanie z tabuľky funkcií stojí menej peňazí ako rok s nesprávnym tarifom, ale oveľa viac času.

Spustite tieto príkazy na skúšobnom hostiteľovi a čítajte zlyhania ako odpovede, nie ako prekážky:

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

Prvé dva riadky hovoria, či tunelové zariadenie vôbec môže existovať. Tretí hlási, či hostiteľ smie preposielať pakety, a štvrtý ukazuje, čo už načúva, aby sa konflikt portov zachytil skoro. Poskytovateľ, ktorý zlyhá na druhom riadku, môže napriek tomu podporovať implementáciu v používateľskom priestore, preto pri otázke na podporu pomenujte mechanizmus, ktorý potrebujete, a nie kategóriu produktu.

Súvisiace články