Køyre VPN og eit nettstad på ein vert utan kollisjonar
Éin vert kan tene ei nettside og avslutte VPN-partnarar, men berre med eit uttrykkeleg vedtak om lyttar, identitet og administrasjon. Test deretter grensene.
Delar du ein vert mellom ei offentleg nettside og ein VPN, arvar du to spørsmål, ikkje eitt: kva lyttar kvar, og kven autentiserer kven. Svar på begge før du rører ei konfigurasjonsfil, fordi standardverdiane er feil på måtar som først viser seg under last. Ei side som lastar over HTTPS beviser at nettlyttaren svarar, og ingenting om partnar-lyttaren. Det som følgjer, er ein vedtaksrekkjefølgje som hindrar dei to i å eta kvarandre.
Avgjer kva som lyttar på kva adresse og transport
Skriv ein tabell med tre kolonnar, adresse, transport og port, og éi rad per teneste, inkludert administrasjonsgrensesnittet. TCP 443 for nettsida og UDP 443 for VPN er ikkje ein konflikt sjølv om tala stemmer, fordi transporten er ulik. To tenester på same adresse, transport og port treng ei ordning som implementasjonen dokumenterer, ikkje ei du finn opp under eit avbrot. Tabellen er også artefakten som gjer den neste endringa gjennomgåeleg.
Åtskilde adresser eller ein annan port gjer eigarskap synleg i ein pakkefangst, og det er meir verdt enn eleganse. Nokre VPN-implementasjonar støttar å dela ein port med ein webserver, men mekanismen er spesifikk: daemonen granskar dei første byta og sender vidare trafikk som ikkje er hans eigen protokoll. Ein generisk omvend proxy for HTTP gjer ikkje det, og omskriving av headarar vil ikkje få han til å forstå eit handtrykk for ein kryptert tunnel. Les utrullingsnotata til protokollen, til dømes OpenVPN-lyttardokumentasjonen, og følg ordninga ho skildrar.
Avgjer kva identitet som høyrer til kva teneste
Eit nettlesarsertifikat og ein VPN-partnar-legitimasjon er ulike objekt med ulike tillitsmodellar. Nettsertifikatet blir validert av ein offentleg styresmakt og nemner eit vertsnamn, medan partnar-legitimasjonen autentiserer eit apparat eller ein brukar mot konsentratoren og kan vere sjølvsignert eller utstedt internt. Gjenbruk av den eine som den andre verkar i snevre tilfelle og er sjeldan koplinga verdt. Å slå av verifiseringa slik at eit delt sertifikat passar, er ikkje ein separasjonsplan; det fjernar kontrollen som gav legitmasjonen meining.
Hald dei to lagra uavhengige og skriv ned kva styresmakt som utsteder kvart. Når det eine blir rotert, bør det andre ikkje trenge endring, og om det gjer det, er koplinga det som må rettast.
Avgjer kvar administrasjonen bur
Det administrative grensesnittet til VPN-en høyrer på ein administrasjonssti, aldri på den offentlege lyttaren, sjølv når verten allereie tener internett. Ein webserver på 443 betyr ikkje at partnar-konsollen skal vere tilgjengeleg frå kvar som helst, og konsollen er vanlegvis det meir verdfulle målet. Bind han til ei loopback- eller administrasjonsadresse, avgrens han etter kjelde, og hald ein attopprettingssti som ikkje er avhengig av at tunnelen er oppe. Attopprettingsstien betyr noko fordi den vanlege feilen er å låse seg sjølv ute medan ein reparerer låsen.
Skriv smale brannmurreglar, éin per lyttar, og nemn grensesnittet eller tenestekontoen der plattforma støttar det. Breie reglar som opnar verten fordi nettsida treng 443, er måten administrative grensesnitt hamnar i skannarindeksar på.
Gå gjennom desse reglane mot lyttartabellen kvar gong ei teneste blir lagd til. Gjennomgangen er billig, og han fangar regelen nokon la til klokka to om natta.
Avgjer kva du skal gjere når dei to konkurrerer
Å dela ein vert betyr å dela CPU, minne, filskildringar og bandbreidd, og den omstridde ressursen er ikkje alltid den openberre. Ei travel nettside kan fylle tilkoplingsstabellen, bruke opp arbeidsplassane eller presse diskkøa hardt nok til at VPN-loggføringa stoppar. Sjå på bruk per teneste i staden for vertstotalar, fordi eit gjennomsnitt skjuler kva prosess som svelt. Viss éi arbeidslast gong på gong forstyrrar den andre, isoler dei i staden for å tune rundt symptomet.
Isolasjon kan vere ein container, ei cgroup-grense, ei separat kø eller ein andre vert, og det rette valet avheng av kva ressurs som konkurrerer. Ei portendring rettar ingenting her, og ein større instans rettar ingenting viss grensa er éi metta kø. Avgjer med ei måling: nemn ressursen, belast han, og vel deretter den minste isolasjonen som fjernar konkurransen.
Verifiser utanfrå, og deretter igjen etter ein omstart
Test frå eit apparat som ikkje er på verten sitt eige nettverk: last nettsida, reis tunnelen og nå éin ressurs som krev han. Start deretter kvar teneste for seg og gjenta den andre testen, fordi ein omstart er når ei delt lyttarordning mistar rekkjefølgja. Viss VPN-en startar før webserveren som eig den delte porten, heng kanskje delingsmekanismen seg aldri på, og symptomet er ein tunnel som virka i går. Gjer avhengigheita uttrykkeleg i einingarrekkjefølgja.
Stadfest deretter grensene: nettsida svarar på porten sin, VPN-en svarar på sin eigen, og administrasjonsgrensesnittet svarar berre frå administrasjonsstien. Noter resultatet ved sida av lyttartabellen med datoen. Ein vert som står gjennom alle tre kontrollane etter ein omstart, er ein vert du kan overlevere til nokon andre utan ei orientering.