Milline komponent tegelikult omab OpenVPN-i marsruudipiirangut?
Marsruudipiirang võib kuuluda OpenVPN-i mootorile, NetworkManageri pistikprogrammile või serverile. Nimetage omanik enne profiili muutmist või arvu tõstmist.
Profiil, mis kannab kakssada marsruuti, töötab ühes masinas ja paigaldab teises nelikümmend. Mootoril, seda käivitaval integratsioonil ja seda toitval serveril on kõigil oma sõna, ja igaüks neist võib nimekirja erinevas kohas peatada. Rikke lugemine üheks piiranguks viib teid vale faili juurde. Mehhanismil on kolm etappi, ja peatunud etapp jätab nähtavad jäljed, kui teate, mida otsida.
Kolm etappi, kolm erinevat piirangut
Kõigepealt sõelub mootor valiku läbi ja otsustab, kas see versioon sellest aru saab. Seejärel paigaldab integratsioon selle, mida mootor teatab, ja selle oma kood võib nimekirja piirata või ümber kujundada. Lõpuks otsustab server, kui mitu marsruuti ta antud identiteedile saadab, enne kui ükski kliendi etapp midagi näeb. Kolm etappi, kolm lage, ja ainult üks neist on profiilis olev arv.
Ühe lae tõstmine ei tee teistele midagi. Tagasi lükatud saadetud marsruut võib olla serveri poliitikaotsus, kliendi lahendatud kattuvus või paigaldaja piirang, mis ülejäägi kõrvale heitis. Igal neist on erinev parandus.
Eraldage need kolm enne, kui midagi mõõdate. Sõeluja viga nimetab tokenit, paigaldaja piirang jätab lühikese marsruuditabeli ja poliitikaotsus ei jäta üldse midagi. Jäljed ütlevad, millist etappi esimesena uurida.
| Stage | Who decides | What you can see |
|---|---|---|
| Parse | Client engine | An error naming the option |
| Install | Activation owner | A route count below the pushed count |
| Offer | Server policy | A route absent from the pushed list |
Sõeluja räägib esimesena
Tundmatu valik ebaõnnestub valjult ja varakult ning veatekst nimetab tokenit. See on kõige kergemini tuvastatav etapp: võrrelge täpset teadet paigaldatud mootoriversiooniga, sest ühes väljaandes lisatud valik on eelmises tundmatu. Uuemast juurutusest kopeeritud profiil on selle lahknevuse tavaline allikas. Sõeluja ei eira kunagi vaikselt direktiivi, mida ta ei tunne.
Vastuvõetud valik ei ütle tulemuse kohta midagi. Sõelumine õnnestub ja nimekirja võib ikkagi paigaldaja kärpida või server seda üldse mitte pakkuda. Käsitlege puhast sõelumist loana jätkata, mitte tõestusena.
Kirjutage versioonistring üles binaarfailist, mis tegelikult jooksis, mitte paketihalduri ettekujutusest sellest, mis on paigaldatud. Need kaks ei lähe omavahel kokku sagedamini, kui oodatakse.
Paigaldajal on oma lagi
Aktiveerimist omav komponent võib olla NetworkManageri pistikprogramm, mitte mootori binaarfail, ja see võib kehtestada oma piirangu enne, kui ükski tunnel olemas on. Selle redaktor võib näidata välja, mida töötav mootor kunagi ei loe, või lugeda välja, mida redaktor ei näita. Mõlemad olukorrad näevad väljastpoolt välja nagu kliendi viga. Kumbagi ei paranda profiili muutmine.
Loendage, mis kohale jõudis, mitte seda, mis seadistati. Käsk ip route show dev tun0 loetleb paigaldatud marsruudid, ja selle arvu võrdlemine saadetud nimekirjaga eristab kõrvaleheidetud marsruudi sellest, mida kunagi ei saadetud. Saatmisega klappiv arv viib kahtluse tagasi serveri juurde.
Kest ümber mootori binaarfaili, et suuremat arvu välja pressida, hägustab uuendusi ja muudab tagasipöördumise oletuseks. See varjab ka tegelikku piirangut igaühe eest, kes konfiguratsiooni järgmisena loeb.
Server otsustab, mida teile pakuti
Kliendipõhine poliitika võib nimekirja enne edastamist vähendada. Kliendipõhine fail võib ühe identiteedi jaoks marsruute lisada, või rühmapoliitika võib need välja jätta, ja klient ei suuda eristada filtreeritud marsruuti sellest, mida kunagi ei määratletud. Just see mitmetähenduslikkus teeb serverikirje oluliseks. Küsige selle identiteedi tegelikku saatmisnimekirja, mitte malli.
Võrrelge serverikirjet saadud nimekirjaga. Nende vaheline lõhe on poliitikakiht, ja see on tavaliselt väiksem, kui profiil vihjab.
Kui disain seda lubab, koondage külgnevad võrgud ja kustutage aegunud kirjed. Vähem ja suuremaid marsruute lahendab rohkem juhtumeid kui kõrgem lagi.
Muutke arvu õiges kohas
Kasutage selle komponendi dokumenteeritud seadet, mis piirangut tegelikult omab. Kui väli pistikprogrammis puudub, kontrollige, kas pistikprogramm on funktsioonist vanem või kas marsruudid kuuluvad mõnele teisele taustaprogrammile. Seejärel dokumenteerige mootori, pistikprogrammi ja serveri versioonid valitud väärtuse kõrvale. Järgmine uuendus avab küsimuse uuesti, ja märge on see, mis teeb selle vastatavaks.
Testige uuesti pärast igaühe uuendamist. Õiges kohas tõstetud piirang liigub ikkagi, kui muutub seda kehtestav komponent. Versioonikirje on ainus asi, mis muudab selle liikumise ettearvatavaks.