Een oude telefoon als VPN-gateway: drie voorwaarden om te controleren
Een oude telefoon is alleen een apparaat als de rol wordt ondersteund, het netwerk hem kan bereiken en iemand het herstel beheert. Drie voorwaarden, één beslissing.
Een telefoon in een la heeft een processor, flashopslag, Wi-Fi en een batterij, wat meer hardware is dan de meeste singleboardcomputers die mensen graag inzetten. Hij heeft ook een scherm, een verouderende batterij en een besturingssysteem dat geen patches meer ontvangt wanneer de leverancier verdergaat. Niets daarvan bepaalt of hij een VPN-gateway of een NAS zou moeten worden.
Of hij een VPN-gateway of een NAS zou moeten worden, wordt niet door die vergelijking beslist, want de vergelijking gaat over vermogen en de beslissing gaat over bedrijf.
Drie voorwaarden beslissen het. Als er één faalt, is het project een weekeindexperiment en geen apparaat, en het is beter te weten welke voorwaarde faalde voordat je er gegevens naartoe verhuist.
Voorwaarde één: de rol wordt echt ondersteund
Drie opstellingen worden hetzelfde genoemd. Een VPN-client beschermt het verkeer van apps op de telefoon. Een VPN-server accepteert inkomende verbindingen. Een gateway stuurt het verkeer van andere apparaten een tunnel in. Het zijn verschillende projecten, en een werkende clienttunnel bewijst niets over de andere twee.
Een app op standaard Android is onderworpen aan de regels voor uitvoering op de achtergrond, en een terminal die open blijft staan is geen daemon. De eigen handleiding over Doze en App Standby van het platform legt uit waarom een achtergrondproces de netwerktoegang kan verliezen wanneer het apparaat besluit inactief te worden, en dat is precies het gedrag dat je in een gateway niet kunt hebben.
Een Linux-gebruikersruimte binnen Android erft meer beperkingen dan hij opheft. Een chroot verandert de hoofdmap van het bestandssysteem maar draait nog steeds op de kernel van Android, zijn stuurprogramma's en zijn beveiligingsbeleid, dus root binnen de chroot is geen root over het platform. Het besturingssysteem vervangen maakt in plaats daarvan modem-, opslag- en stroomondersteuning voor dat specifieke toestel deel van je project, en toestelondersteuning is meestal het deel dat niemand onderhoudt.
Voorwaarde twee: het adres is bereikbaar
Een gateway moet bereikbaar zijn voor de clients die ervan afhankelijk zijn. Een telefoon op Wi-Fi binnen een thuisrouter is bereikbaar vanaf dat LAN en vanaf elke plek waar de router naartoe stuurt, maar niet vanaf internet, tenzij je dat regelt.
Mobiel maakt dit moeilijker in plaats van makkelijker. Veel mobiele netwerken plaatsen abonnees achter carrier-grade NAT, zodat er helemaal geen inkomend adres is om naartoe te sturen, en een modem toevoegen maakt geen openbare luisteraar. Als de eis toegang op afstand van buiten is, moet het ontwerp een relay of een overlaynetwerk bevatten waar beide kanten naar buiten toe verbinden, en dat is een tweede bewegend onderdeel om te onderhouden.
Netwerkverbinding verschilt ook per apparaat. Sommige telefoons accepteren USB-Ethernet-adapters, andere niet, en Wi-Fi voegt zijn eigen latentie en roaminggedrag toe. Een gateway die slaapt wanneer het scherm uit is of de tunnel laat vallen tijdens een overdracht is erger dan geen gateway.
Voorwaarde drie: iemand beheert updates en herstel
Dit is de voorwaarde die mensen overslaan, en het is degene die bepaalt of het ding een jaar overleeft. Elk onderdeel heeft een eigenaar nodig: de build van het besturingssysteem, de kernel als je die hebt vervangen, het serverpakket, de certificaten en de inloggegevens die je hebt uitgegeven.
Herstel is de moeilijkere helft. Hoe kom je binnen na een herstart zonder scherm, met een kapot touchpaneel of een opgezwollen batterij? Hoe trek je een verloren clientidentiteit in? Hoe zet je de opslag terug op een vervangend apparaat wanneer het origineel een uitlopend model is?
Stroom hoort hier ook bij. Aanhoudende belasting betekent aanhoudende warmte, en een verouderende batterij is geen automatische UPS. Volg de richtlijnen van de fabrikant en behandel elke zwelling of schade als een stopsignaal en niet als iets om omheen te werken.
Wanneer het antwoord nee is
Leg de drie voorwaarden naast wat je echt nodig hebt, en wees specifiek over de taak in plaats van de categorie.
| Task | Phone is reasonable when |
|---|---|
| Protecting the phone's own traffic | The client is a supported Android app; no forwarding involved |
| Small lab tunnel inside one LAN | Downtime is acceptable and you can reach the device to fix it |
| Household NAS holding the only copy | Never; that is a backup problem, not a hardware problem |
| Unattended remote access for others | You already own patching, revocation and replacement |
Een toegewijde Linux-host ontsnapt ook niet aan de lijst. Hij heeft een duidelijker servicemanager en een duidelijker pad voor opslag- en netwerkbeheer wanneer de hardware en distributie worden ondersteund, maar hij heeft nog steeds stroom, updates en back-ups nodig. Het board alleen is geen apparaat.
Kies dus de telefoon wanneer zijn ondersteunde capaciteiten bij een bescheiden taak passen en experimentele uitvaltijd echt acceptabel is. Kies iets anders wanneer de eis huisopslag is die niet verloren mag gaan, of toegang op afstand waar andere mensen van afhankelijk zullen zijn. In beide gevallen is de beslissende factor een reproduceerbare installatie en een herstelprocedure die je echt hebt getest, en geen enkele hoeveelheid gratis hardware vervangt een van beide.