Du tilføjer en filialrute, den virker, og så fjerner en firmwareopdatering eller en gemning fra webgrænsefladen den. To rettelser ser lige rimelige ud i det øjeblik: at lægge ruten i apparatets understøttede konfigurationskilde eller at føje den til den genererede fil fra et opstartsscript. De opfører sig ens i en uge og skilles ved den anden opgradering. Denne artikel sammenligner, hvad hver af dem faktisk ejer.

De to kandidater ejer forskellige ting

Den understøttede konfigurationskilde er alt, hvad apparatet behandler som input: et GUI-felt, en importeret profil, en dokumenteret mappe per klient, en indstillingsdatabase som administrationspakken læser. Den genererede server.conf er output. Redigering af output virker, indtil generatoren kører igen, og det sker ved gemning, ved genstart og ved opgradering.

Scripttilgangen patcher det output, efter at generatoren er færdig. Det er en legitim teknik til et laboratorium, og det er den forkerte standard for et filialkontor, fordi den gør ruten afhængig af tekstmatchning i stedet for et dokumenteret felt.

QuestionSupported config sourcePost-generation script
Survives a GUI saveYesOnly if the save does not regenerate the file
Survives a package upgradeUsually, when the field is documentedNo guarantee; the wrapper can be replaced
Supportable by the vendorYesNo
Obvious to the next adminYes, it is in the UINo, it lives in a wrapper

Hvad apparatet gendanner, og hvornår

Administrationspakker holder normalt indstillinger i en database eller et sæt skabeloner og genererer daemonens konfiguration ved start. En gemning fra webgrænsefladen overskriver ofte hele filen i stedet for at patche en linje. Hvis din ændring levede i den fil, er den nu væk, og intet logger en advarsel, fordi der fra apparatets synspunkt ikke gik noget tabt.

Opstartsindpakninger har en anden fejltilstand. En grep efter en direktiv med en bestemt afstand holder op med at matche efter en skabelonændring, og scriptet gør lydløst ingenting. Værre endnu, en firmwareopdatering kan erstatte indpakningen med en ny version og tage patchen med sig. Så har du en rute, der fandtes i et år og forsvandt under vedligeholdelse, som ingen forbandt med routing.

Hvad den understøttede ejer skal udtrykke

Et filialpræfiks kræver tre udsagn, ikke ét. Klienten skal lære ruten, serveren skal vide, hvilken autentificeret klient der ejer præfikset, og filialsiden skal sende trafik tilbage til den tunneladresse, den fik. I OpenVPN-termer betyder det en skubbet route, en matchende iroute bundet til klienten og en returvej på den anden side.

Det er her, apparatets brugergrænseflader vildleder. Et afkrydsningsfelt mærket »tillad klienter at få adgang til serverens LAN« beskriver trafik mod serverens eget netværk. Din filial er den modsatte retning: et netværk bag en klient, tilgængeligt fra serversiden. Den samme etiket betyder ikke understøttelse af det, og en gyldig direktiv i en fil er ikke et løfte om, at pakken bevarer den.

Når der ikke findes nogen understøttet kontrol

Nogle gange kan den installerede udgivelse virkelig ikke udtrykke en peer-specifik rute. Så er de ærlige muligheder en anden gateway, du kontrollerer, eller en understøttet site-to-site-tilstand i begge ender. Begge ender skal tale den. En produktside, der siger site-to-site, gør ikke en vilkårlig OpenVPN-profil udskiftelig med en anden protokols tunnel, og at tvinge den parring giver normalt en halvtilsluttet tunnel, der ser fin ud på en statusside.

Vælg den mulighed, du kan beskrive i én sætning til den, der arver netværket. Hvis svaret kræver at nævne en scriptsti og et tekstmønster, er designet allerede skrøbeligt.

Gør hensigten reviderbar

Registrér kontrakten uden for apparatet: effektiv klientidentitet, præfiks, returgateway og det understøttede felt, der leverer hver af dem. Eksportér konfigurationen gennem den understøttede mekanisme, så en genopbygning har en reference, og verificér tjenesten efter en genforbindelse, en genstart og en opgradering i stedet for kun efter ændringen.

Sammenlign det genererede resultat med den registrering, når noget brækker, i stedet for at gendanne en uforklaret linje og håbe.OpenVPN 2.6-reference er stedet at bekræfte, hvordan route og iroute spiller sammen, før du diskuterer med en brugergrænseflade.

Tjekliste til den næste ændring: navngiv ejeren, angiv den tredelte kontrakt, eksportér hensigten, og test igen efter apparatets egne livscyklushændelser i stedet for efter din redigering.

Relaterede artikler