Serveri abilised seadistavad alamvõrgu ja täidavad selle seejärel enda valitud dünaamilise pooliga. See vaikeväärtus on mugav seni, kuni mõned aadressid peavad jääma jaotamisest välja — olgu need reserveeritud fikseeritud määramiste jaoks või tulevase segmendi jaoks kõrvale pandud. Automaatse pooli maha surumine ja vahemiku ise kuulutamine nõuab kahte rida ja ühte teadlikku otsust selle kohta, millised aadressid ei ole jaotamiseks. Ülejäänu on kasutuskorralduslik distsipliin: inventuur, rakendamine, kontrollimine, tagasipööramine.

See on muudatus töötavas teenuses, seega käsitlege seda kasutustegevusena: esmalt inventuur, seejärel rakendamine tavapärase elutsükli kaudu, kontrollimine värske kliendiga ja valmis tagasipööramine.

Alustage alamvõrgust, mis teil juba on

Lugege praegust serveri seadistust ja aadresse, mida kliendid tegelikult hoiavad. Pooli muudatus on mõttekas ainult selle baasjoone suhtes ja baasjoon ei ole alati see, mida fail vihjab, sest hallatud toode või seadistuse generaator võib olla teie loetava faili omanik.

grep -nE '^(topology|server|ifconfig-pool|max-clients|client-config-dir)' /etc/openvpn/server/lab.conf
ip -4 addr show tun0

Kinnitage kehtiv topoloogia. Alamvõrgu topoloogia korral võtab iga klient poolist ühe aadressi; vanemad net30-paigutused eraldavad kliendi kohta väikese ploki ja aritmeetika on täiesti erinev. Kui server on endiselt net30 peal, on see leht vale migratsioonijuhend ja pooli numbrid ei tähenda seda, mida ootate. Kontrollige seda rida enne, kui kopeerite aadressiaritmeetikat mujalt.

Kirjutage üles serveri enda aadress, iga fikseeritud määramine kliendiseadistuste kataloogis ja iga aadress, millest sõltub marsruut või juurdepääsureegel. Need on aadressid, mis peavad jääma dünaamilisest vahemikust välja. Nende esmalt üleskirjutamine teeb vahemikust otsuse, mitte oletuse. See annab ka tagasipööramisele midagi konkreetset taastada.

Lisage nopool ja kuulutage vahemik

Abimärksõna aktsepteerib nopool, mis hoiab alamvõrgu seadistuse ja surub maha automaatse dünaamilise pooli, nagu kirjeldab OpenVPN 2.6 käsiraamat. Seejärel annab selgesõnaline rida ifconfig-pool kavatsetud kaasava vahemiku ja selle võrgumask vastab alamvõrgule. Mõlemad read kuuluvad samasse serveriplokki, sest poolil ilma oma alamvõrguta pole tähendust. Nendevaheline järjekord loeb ainult loetavuse huvides, kuna abiline laiendab paari teenuse käivitamisel.

topology subnet
server 10.70.0.0 255.255.255.0 nopool
ifconfig-pool 10.70.0.50 10.70.0.120 255.255.255.0

Mõlemad piirid on kaasavad, seega pakub näide seitsekümmend üks aadressi. Hoidke serveri aadress ja iga fikseeritud määramine sellest ulatusest väljas; dünaamilise vahemiku sisse jääv fikseeritud määramine tekitab kokkupõrke, mis sõltub ühenduste järjekorrast, ja see on silumiseks halvim liik. Kui fikseeritud määramised tõenäoliselt kasvavad, jätke reserveeritud hulga ja vahemiku vahele varu.

Vahemiku suurus ja samaaegsus on eraldi piirangud. Sada aadressi ei tähenda sada samaaegset klienti, kui max-clients ütleb teisiti, ja samaaegsuse piirist suurem pool on tavaline, mitte raiskamine. Oluline on, et mõlemad piirangud valitakse teadlikult, mitte ei pärita vaikeväärtusest.

Hoidke fikseeritud määramised dünaamilisest vahemikust väljas

Kliendipõhine ifconfig-push on pooli jaotamisest erinev mehhanism ja see peab kasutama aktiivsele topoloogiale sobivaid parameetreid. Alamvõrgu režiimis on see üks aadress ja võrgumask; net30 paari ületoomine seetõttu, et see esines vanas näites, on tavaline viga.

Jaotamise ajalugu on vihje, mitte autoriteet. Persist-fail mäletab, millisel kliendil oli milline aadress, nii et uuesti ühenduvad kliendid saavad tavaliselt sama, ja see ei reserveeri aadresse, ei vabasta neid ega asenda fikseeritud määramist. Kui konkreetne seade peab alati hoidma konkreetset aadressi, kasutage fikseeritud määramist, selle asemel et lootma jääda persist-failile.

Seejärel kontrollige aadressidest sõltuvaid teid. Klientidele lükatav marsruut, alamvõrku lubav tulemüürireegel või konkreetset hosti ootav monitooringukontroll võivad kõik eeldada vana vahemikku. Pooli muutmine ilma nende lugemiseta viib tõrke kohta, mis näib olevat asjasse puutumatu.

Rakendage elutsükli kaudu ja seejärel kontrollige

Rakendage muudatus nii, nagu teenus tavaliselt seadistust saab — olgu selleks otsene fail pluss taaskäivitus või halduskiht, mis faili uuesti genereerib. Käsitsi tehtud muudatus genereeritud failis püsib järgmise genereerimiseni ja mitte kauem. Märkige üles, milline mehhanism faili omab, sest järgmine operaator peab teadma, kuhu sama muudatus teha. Seejärel taaskäivitage üks kord ja lugege logi enne, kui kliendi kutsute.

systemctl restart openvpn-server@lab
journalctl -u openvpn-server@lab -n 30 --no-pager
# on a fresh client
ip -4 addr show tun0

Ühendage klient, kes ei olnud varem ühendatud, ja kinnitage, et aadress jääb kuulutatud vahemikku ja reserveeritud hulgast välja. Seejärel kinnitage tagasitee: klient peaks jõudma sinna, kuhu poliitika lubab, ja mitte kaugemale. Aadress, mis sobib plaaniga, kuid millel pole toimivat marsruuti, ei ole õnnestunud muudatus.

Ühendage uuesti klient, kellel oli aadress vanast vahemikust. Ta peaks saama aadressi uuest vahemikust ja kogu vana aadressiga seotud seansitasemeline olek peaks olema kadunud. Kui ta hoiab vana aadressi, määrab selle talle miski muu ja pool ei ole see omanik, keda te arvate.

Vahemiku muudatuse tagasipööramine

Hoidke eelmised kolm rida oma muudatuste logis, mitte ainult eelmist faili. Nende taastamine ja taaskäivitamine viib jaotamise tagasi vana käitumise juurde ja pärast seda uuesti ühenduvad kliendid saavad aadressid sealt.

Kirjesse kuulub kaks hoiatust. Kliendid, kes on tagasipööramise hetkel juba ühendatud, hoiavad oma praeguseid aadresse, kuni nad uuesti ühenduvad, seega tagasipööramine ei ole kogu pargis hetkeline. Ja kui vana vahemik kattus fikseeritud määramisega, taastab selle taastamine ka kokkupõrke; just see kattuvus oli muudatuse põhjus ja see vajab muud parandust kui tagasipööramine.

Pooli muudatus on lõpetatud, kui värske klient saab vahemikusisese aadressi, reserveeritud aadressi ei anta kunagi välja ning neid aadresse tarbivad marsruudid ja reeglid käituvad jätkuvalt kavatsetult. Kõik vähem jätab järgmisele inimesele avastada, milline kolmest ei vasta tõele.

Seotud artiklid