Kjøre VPN og et nettsted på én vert uten kollisjoner
Én vert kan betjene et nettsted og avslutte VPN-peers, men bare med en uttrykkelig beslutning om lytter, identitet og administrasjon. Test deretter grensene.
Deler du én vert mellom et offentlig nettsted og en VPN, arver du to spørsmål, ikke ett: hva lytter hvor, og hvem autentiserer hvem. Svar på begge før du rører en konfigurasjonsfil, fordi standardverdiene er feil på måter som først vises under last. En side som lastes over HTTPS beviser at weblytteren svarer, og ingenting om peer-lytteren. Det som følger, er en beslutningsrekkefølge som hindrer de to i å spise hverandre.
Bestem hva som lytter på hvilken adresse og transport
Skriv en tabell med tre kolonner, adresse, transport og port, og én rad per tjeneste, inkludert administrasjonsgrensesnittet. TCP 443 for nettstedet og UDP 443 for VPN er ikke en konflikt selv om tallene stemmer, fordi transporten er forskjellig. To tjenester på samme adresse, transport og port trenger en ordning som implementasjonen dokumenterer, ikke en du finner opp under et avbrudd. Tabellen er også artefakten som gjør den neste endringen gjennomgåelig.
Adskilte adresser eller en annen port gjør eierskap synlig i en pakkefangst, og det er mer verdt enn eleganse. Noen VPN-implementasjoner støtter å dele en port med en webserver, men mekanismen er spesifikk: daemonen inspiserer de første bytene og videresender trafikk som ikke er dens egen protokoll. En generisk omvendt proxy for HTTP gjør ikke det, og omskriving av headere vil ikke få den til å forstå et håndtrykk for en kryptert tunnel. Les utrullingsnotatene til protokollen, for eksempel OpenVPN-lytterdokumentasjonen, og følg ordningen den beskriver.
Bestem hvilken identitet som hører til hvilken tjeneste
Et nettlesersertifikat og en VPN-peer-legitimasjon er forskjellige objekter med forskjellige tillitsmodeller. Nettsertifikatet valideres av en offentlig myndighet og navngir et vertsnavn, mens peer-legitimasjonen autentiserer en enhet eller en bruker mot konsentratoren og kan være selvsignert eller utstedt internt. Gjenbruk av den ene som den andre virker i snevre tilfeller og er sjelden koblingen verdt. Å slå av verifiseringen slik at et delt sertifikat passer, er ikke en separasjonsplan; det fjerner kontrollen som ga legitmasjonen betydning.
Hold de to lagrene uavhengige og skriv ned hvilken myndighet som utsteder hvert. Når det ene roteres, bør det andre ikke trenge endring, og hvis det gjør det, er koblingen det som må fikses.
Bestem hvor administrasjonen bor
VPN-ens administrative grensesnitt hører på en administrasjonssti, aldri på den offentlige lytteren, selv når verten allerede betjener internett. En webserver på 443 betyr ikke at peer-konsollen skal være tilgjengelig fra hvor som helst, og konsollen er vanligvis det mer verdifulle målet. Bind den til en loopback- eller administrasjonsadresse, begrens den etter kilde, og hold en gjenopprettingssti som ikke avhenger av at tunnelen er oppe. Gjenopprettingsstien betyr noe fordi den vanlige feilen er å låse seg selv ute mens man fikser låsen.
Skriv smale brannmurregler, én per lytter, og navngi grensesnittet eller tjenestekontoen der plattformen støtter det. Brede regler som åpner verten fordi nettstedet trenger 443, er måten administrative grensesnitt havner i skannerindekser på.
Gå gjennom disse reglene mot lyttertabellen hver gang en tjeneste legges til. Gjennomgangen er billig, og den fanger regelen noen la til klokken to om natten.
Bestem hva du skal gjøre når de to konkurrerer
Å dele en vert betyr å dele CPU, minne, filbeskrivere og båndbredde, og den omstridte ressursen er ikke alltid den åpenbare. Et travelt nettsted kan fylle tilkoblingstabellen, bruke opp arbeidsplassene eller presse diskkøen hardt nok til at VPN-loggføringen stopper. Se på bruk per tjeneste i stedet for vertstotaler, fordi et gjennomsnitt skjuler hvilken prosess som sulter. Hvis én arbeidsbelastning gjentatte ganger forstyrrer den andre, isoler dem i stedet for å tune rundt symptomet.
Isolasjon kan være en container, en cgroup-grense, en separat kø eller en andre vert, og det riktige valget avhenger av hvilken ressurs som konkurrerer. En portendring fikser ingenting her, og en større instans fikser ingenting hvis grensen er én mettet kø. Bestem med en måling: navngi ressursen, belast den, og velg deretter den minste isolasjonen som fjerner konkurransen.
Verifiser utenfra, og deretter igjen etter en omstart
Test fra en enhet som ikke er på vertens eget nettverk: last nettstedet, reis tunnelen og nå én ressurs som krever den. Start deretter hver tjeneste for seg og gjenta den andre testen, fordi en omstart er når en delt lytterordning mister rekkefølgen. Hvis VPN-en starter før webserveren som eier den delte porten, henger kanskje delingsmekanismen seg aldri på, og symptomet er en tunnel som virket i går. Gjør avhengigheten eksplisitt i enhetsrekkefølgen.
Bekreft deretter grensene: nettstedet svarer på sin port, VPN-en svarer på sin egen, og administrasjonsgrensesnittet svarer bare fra administrasjonsstien. Noter resultatet ved siden av lyttertabellen med datoen. En vert som består alle tre kontrollene etter en omstart, er en vert du kan overlevere til noen andre uten en briefing.