Vdelana programska oprema na potrošniškem usmerjevalniku ali NAS pogosto ob vsakem zagonu znova zgradi konfiguracijo OpenVPN, zato direktiva, ki jo dodate, preživi natanko do naslednjega zagona. Enako velja za ključe, vnesene v spletni obrazec, kjer se shranjena vrednost po shranjevanju lahko vrne popačena. Noben od teh simptomov ne pomeni, da je bila sprememba zavrnjena. Pomeni, da je urejanje pristalo v datoteki, ki jo vdelana programska oprema obravnava kot izhod, in da je trajno mesto en korak prej v zaporedju zagona.

Zakaj se urejena datoteka ustvari znova

Zagonska skripta sestavi konfiguracijo strežnika iz predloge in nato zažene demonskega procesa, zaradi česar je upodobljena datoteka artefakt gradnje in ne vir. Vse, kar je dodano po zagonu, je nevidno za naslednjo izvedbo te skripte. Drugi vzorec je bolj subtilen: vnosi ključa in potrdila v spletnem vmesniku se shranjujejo v izognjeni obliki, shranjevanje obrazca pa lahko ta izognjeni tekst potisne v datoteko, ki jo bere demonski proces. V vsakem primeru je upodobljena konfiguracija napačno mesto za trajno spremembo.

Poglejte, kaj zapisuje zaporedje zagona in kdaj. Odgovor je skoraj vedno skripta v imeniku init ali samodejnega zagona vdelane programske opreme.

Vstavite direktivo tja, kjer skripta zgradi datoteko

Naprave QTS znova ustvarijo konfiguracijo strežnika OpenVPN znotraj init skripte, ki zažene demonskega procesa, zato mora urejanje potekati tam. Dodatek dodajte neposredno pred zagonskim ukazom, namesto da bi urejali ustvarjeno datoteko.

sed -i '/daemon_mgr/i echo client-config-dir clientconfig >>/etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
grep -c client-config-dir /etc/openvpn/server.conf

Vstavek zasidrajte na ukaz, ki se ne bo premaknil, ker se številke vrstic med gradnjami spreminjajo. Ker se sama init skripta med zagonom zamenja, je treba spremembo ob vsakem zagonu sistema znova izdati iz kavlja samodejnega zagona vdelane programske opreme. Po enem ponovnem zagonu preštejte pojavitve v ustvarjeni datoteki: ena vrstica pomeni, da je popravek deloval, dve pa, da se kavelj izvaja več kot enkrat. Dvojno izvajanje raziščite ločeno, ker to ni ista napaka kot izginula sprememba.

Popravite obrazec, ki je shranil izognjene ključe

Na straneh v slogu Asus polji potrdila in ključa prikazujeta izognjeni tekst, shranjevanje po nepovezani prilagoditvi pa lahko te entitete zapiše nazaj na disk. Delajte iz dekodirane kopije in shranite le enkrat, ko so vse spremembe pripravljene.

openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pem

Pri zamenjavi novega nabora parametrov prilepite samo podatkovni del base64, če polje zahteva telo ključa, in vrstice oklepa obdržite le, ko polje pričakuje celoten blok PEM. Obnovitev strani, ki je že shranjena v izognjeni obliki, običajno pomeni čiščenje prizadetih vnosov in uporabo, kar vdelani programski opremi omogoči, da jih znova zgradi. Ustvarite vse nad 2048 bitov na delovni postaji, ker zaloga entropije usmerjevalnika naredi postopek počasen in včasih nezanesljiv. Datoteko s parametri shranite na mesto, do katerega lahko pridete po tovarniški ponastavitvi.

Po nadgradnjah preverite znova

Posodobitve vdelane programske opreme zamenjajo init skripte in lahko izbrišejo imenik samodejnega zagona, zato je treba popravek znova namestiti in preizkusiti. Primerjajte znova ustvarjeno datoteko s kopijo, ki ste jo obdržali, in potrdite, da je direktiva prisotna natanko enkrat. Vrednost, vidna v spletnem vmesniku, ni dokaz, da jo je demonski proces prejel, ker stran bere shranjena polja. Zapišite ukaz popravka in različico vdelane programske opreme v zapiske o vzdrževanju, da jih bo naslednja posodobitev prenesla naprej.

Nato povežite odjemalca in v dnevniku strežnika preberite poslano možnost. Nastavitev, ki je kdaj obstajala le v obrazcu, je nastavitev, ki je nihče ni preizkusil.

Sorodni članki