Hva trenger du før du hoster din egen VPN-server?
Serverbinæren er den enkle delen. Avklar endepunktet, klientidentitetene, adresseområdene og veien tilbake før du installerer noe.
Å installere serverprogramvaren er den korteste delen av en selvhostet VPN, og det er trinnet folk begynner med. Om utrullingen virker, avhenger av om en klient når endepunktet, hva den klienten får nå etterpå, og hvordan du kommer inn igjen når det er tunnelen som har sviktet. Avklar alle tre før pakkebehandleren kjører.
To av dem er designvalg, og det tredje er en driftsvane. Alle tre er billigere å rette på papiret enn under en driftsstans.
Bestem hva klientene skal nå
En fjernaksess-server trenger en rute til det private nettverket den annonserer og en returvei for svarene, noe som gjør den til en ruter for det nettverket og ikke bare en lytter. En internett-utgangsserver trenger videresending pluss en adresserings- eller oversettelsesordning, og en fullført handshake gir ingen av delene. Velg oppgaven før topologien, fordi de to designene er ulike i ruting, brannmurregler og i hva klienten sender gjennom tunnelen. En server som skal gjøre begge, trenger begge regelsettene og en passende splitting av klientens standardrute.
Velg tunnel- og LAN-områder som ikke kan kollidere med nettverk klientene dine allerede bruker, siden en bærbar PC som allerede har 192.168.1.0/24 vil fortsette å bruke den ruten i stedet for en tunnel som deler ut samme prefiks. Kontroller IPv4 og IPv6 hver for seg, fordi mange får den første riktig og oppdager aldri den andre. Der serveren står bak en annen ruter, bekreft innkommende tilgjengelighet utenfra i stedet for å stole på én portvideresending til å beskrive hvert lag.
Identiteter, nøkler og en vei tilbake inn
Utsted en egen identitet per enhet der programvaren støtter det, slik at en tapt bærbar PC betyr å tilbakekalle én peer i stedet for å bygge serveren på nytt. Private nøkler hører i beskyttet lagring og aldri i en profil som limes inn i en chatmelding. Gjenopprettingsveien er den delen folk hopper over: konsolltilgang, en seriell konsoll eller et out-of-band-administrasjonsgrensesnitt som ikke avhenger av tunnelen. Uten en slik vei gjør en dårlig brannmurregel en liten endring til et fysisk besøk.
Skriv fjerningsprosedyren samtidig som påmeldingsprosedyren. Å tilbakekalle en enhet er en operasjon du før eller siden trenger, og den er lettere å beskrive mens oppsettet fortsatt er ferskt.
Endepunkt hjemme eller leid?
Tre forhold avgjør mellom å hoste hjemme og å leie en liten instans. Det første er om innkommende forbindelser i det hele tatt når nettverket ditt, siden en carrier-grade-oversatt uplink eller et restriktivt bygningsnettverk fjerner muligheten. Det andre er om utgangen må vises et annet sted enn i din egen by, fordi bare et leid endepunkt endrer det. Det tredje er appetitt på et ekstra tillitsforhold, siden en hostingleverandør blir en del av modellen og kan observere endepunktet selv når den ikke kan lese trafikken.
Hvis det første forholdet er oppfylt og det andre er irrelevant, er hosting hjemme den korteste veien. Et leid endepunkt kjøper plassering og tilgjengelighet snarere enn personvern i seg selv.
Bevis det med én klient og en omstart
Start én klient, bekreft ressursen den skal nå, og bekreft at den slutter å nå det den ikke skal. Kommandoene nedenfor viser peer-status, rutene serveren installerte, og om videresending er slått på. Kjør dem før du melder på noen andre.
wg show
sysctl net.ipv4.ip_forward
ip route get 10.8.0.2
ss -lunp | grep -E ':(51820|1194)'
En peer med en fersk handshake er tilkoblet, mens en peer uten handshake aldri forhandlet, og det er forskjellige feil. Slått av videresending forklarer en tunnel som kommer opp og ikke bærer noe, så kontroller serveren før du gir klienten skylden. En manglende lytter betyr at tjenesten ikke startet med konfigurasjonen du tror den gjorde. Start deretter serveren bevisst på nytt og gjenta hele settet, fordi en tunnel som bare virker til omstart er et vanlig resultat av å teste den lykkelige veien.
Skriv ned endepunktet, peerne, områdene og gjenopprettingsmetoden på én side. Den siden er runbooken du leser på det minst passende tidspunktet.