Firmware op in konsuminte-router of NAS bout syn OpenVPN-konfiguraasje faak by elke start opnij op, dat in rjochtline dy't jo tafoegje oerlibbet krekt oant de folgjende start. Deselde jildt foar kaaien dy't yn in webformulier typt wurde, wêr't de bewarre wearde nei it bewarjen skansearre weromkomme kin. Gjin fan dizze symptomen betsjut dat de wiziging wegere is. It betsjut dat de bewurking telâne kaam is yn in bestân dat de firmware as útfier behannelet, en dat it duorsume plak ien stap earder yn 'e startsekwinsje leit.

Wêrom't it bewurke bestân opnij oanmakke wurdt

In startskript set de serverkonfiguraasje út in sjabloan gear en start dêrnei de daemon, wat it renderjende bestân in bouprodukt meitsje lit ynstee fan in boarne. Alles wat nei de start tafoege wurdt, is ûnsichtber foar de folgjende run fan dat skript. It twadde patroan is subtiler: kaai- en sertifikaatynfier yn 'e webinterface wurde yn in ûntkommen foarm bewarre, en it bewarjen fan it formulier kin dy ûntkommen tekst yn it bestân triuwe dat de daemon lêst. Yn beide gefallen is de renderjende konfiguraasje it ferkearde plak om in duorsume wiziging te meitsjen.

Sjoch wat de startsekwinsje skriuwt en wannear't er it skriuwt. It antwurd is hast altyd in skript yn 'e init- of autostart-map fan 'e firmware.

Foegje de rjochtline yn wêr't it skript it bestân bout

QTS-apparaten meitsje de OpenVPN-serverkonfiguraasje opnij oan binnen it init-skript dat de daemon start, dat de bewurking moat dêr barre. Foegje de tafoeging fuort foar de startopdracht ta ynstee fan it oanmakke bestân te bewurkjen.

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

Anker de ynfoeging oan in opdracht dy't net ferskoot, om't rigelnûmers feroarje tusken builds. Om't it init-skript sels by de start ferfongen wurdt, moat de wiziging elke kear as it systeem start opnij útjûn wurde fanôf de autostartheak fan de firmware. Tel nei ien werstart de foarkomens yn it oanmakke bestân: ien rigel betsjut dat de patch wurke hat, wylst twa betsjutte dat de heak faker as ien kear rint. Undersykje de dûbele run apart, want dat is net deselde flater as in wiziging dy't ferdwûn is.

Reparearje in formulier dat ûntkommen kaaien bewarre hat

Op siden yn Asus-styl litte de sertifikaat- en kaai-ynfierfjilden ûntkommen tekst sjen, en it bewarjen nei in net-relatearre oanpassing kin dy entiteiten wer op 'e skiif skriuwe. Wurkje fan in dekodearre kopy en bewarje mar ien kear, as alle bewurkings klear binne.

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

As jo in nije parameterset ferwikselje, plak dan allinnich de base64-lading as it label om it lichem fan 'e kaai freget, en hâld de armearrigels allinnich as it fjild in folsleine PEM-blok ferwachtet. It werombringen fan in side dy't al yn syn ûntkommen foarm bewarre is, betsjut meastentiids de rekke fjilden leegje en tapasse, wat de firmware har opnij bouwe lit. Meitsje alles boppe 2048 bit op in wurkstasjon, om't de entropjetafier fan 'e router de bewurking stadich en soms ûnbetrouber makket. Bewarje it parameterbestân earne dêr't jo nei in fabryksreset by kinne.

Kontrolearje opnij nei bywurkingen

Firmware-updates ferfange init-skripts en kinne de autostart-map fuortsmite, dat de patch moat opnij ynstallearre en testen wurde. Fergelykje it opnij oanmakke bestân mei de kopy dy't jo bewarre hawwe en befêstigje dat de rjochtline krekt ien kear oanwêzich is. In wearde dy't yn 'e webinterface sichtber is, is gjin bewiis dat de daemon dy krigen hat, om't de side bewarre fjilden lêst. Skriuw de patchopdracht en de firmwareferzje yn 'e ûnderhâldsnotysjes, sadat de folgjende update se mei trochdraacht.

Ferbyn dêrnei in klant en lês it serverloch foar de útsmiten opsje. In ynstelling dy't ea mar yn in formulier bestien hat, is in ynstelling dy't nimmen test hat.

Relatearre artikelen