OpenVPN-innstillingar på rutaren blir nullstilte etter omstart: reparer generatoren
Fastvare som byggjer OpenVPN-konfigurasjonen på nytt ved kvar oppstart, kastar endringane dine. Lapp kroken til generatoren, og samanlikn deretter den genererte fila etter éin omstart.
Fastvare på ein forbrukarrutar eller NAS byggjer ofte OpenVPN-konfigurasjonen på nytt ved kvar oppstart, så eit direktiv du legg til overlever nøyaktig til neste oppstart. Det same gjeld nøklar som blir skrivne inn i eit webskjema, der den lagra verdien kan kome tilbake øydelagd etter lagring. Ingen av desse symptoma tyder på at endringa vart avvist. Det tyder at endringa hamna i ei fil som fastvaren handsamar som utdata, og at den varige staden ligg eitt steg tidlegare i oppstartssekvensen.
Kvifor den endra fila blir generert på nytt
Eit oppstartsskript set saman serverkonfigurasjonen frå ein mal og startar deretter daemonen, noko som gjer den renderte fila til eit byggjeartefakt i staden for ei kjelde. Alt som blir lagt til etter oppstart, er usynleg for neste køyring av det skriptet. Det andre mønsteret er meir subtilt: nøkkel- og sertifikatinndata i webgrensesnittet blir lagra i ein eskapet form, og lagring av skjemaet kan skyve den eskapete teksten inn i fila som daemonen les. Uansett er den renderte konfigurasjonen feil stad for ei varig endring.
Sjå på kva oppstartssekvensen skriv, og når han skriv det. Svaret er nesten alltid eit skript i init- eller autorun-katalogen til fastvaren.
Set inn direktivet der skriptet byggjer fila
QTS-einingar gjenopprettar OpenVPN-serverkonfigurasjonen inne i init-skriptet som startar daemonen, så endringa må skje der. Legg til tilføyinga rett før oppstartskommandoen i staden for å redigere den genererte fila.
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.confForankre innsetjinga på ein kommando som ikkje flyttar seg, sidan linjenumra endrar seg mellom bygg. Fordi init-skriptet sjølv blir erstatta under oppstart, må endringa bli gjeven ut på nytt frå autorun-kroken til fastvaren kvar gong systemet startar. Etter éin omstart tel du førekomstane i den genererte fila: éi line tyder at lappen verka, medan to tyder at kroken køyrer meir enn éin gong. Undersøk dobbeltkøyringa separat, for det er ikkje same feilen som ei endring som forsvann.
Reparer eit skjema som lagra eskapete nøklar
På sider i Asus-stil viser sertifikat- og nøkkelfelta eskapet tekst, og lagring etter ei urelatert justering kan skrive desse einingane tilbake til disken. Arbeid frå ein dekoda kopi og lagre berre éin gong, når alle endringane er klare.
openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pemNår du byter inn eit nytt parametersett, limer du inn berre base64-nyttelasta viss feltet ber om kroppen til nøkkelen, og behald armor-linjene berre når feltet ventar ei fullstendig PEM-blokk. Å redde ei side som allereie er lagra i eskapet form tyder vanlegvis på å tømme dei berørte felta og bruke, noko som lèt fastvaren byggje dei på nytt. Generer alt over 2048 bitar på ein arbeidsstasjon, fordi entropiforsyninga til rutaren gjer operasjonen treg og stundom upåliteleg. Oppbevar parameterfila på ein stad du kan nå etter ein fabrikknullstilling.
Kontroller på nytt etter oppgraderingar
Fastvareoppdateringar erstattar init-skripta og kan slette autorun-katalogen, så lappen må installerast og testast på nytt. Samanlikn den gjenoppretta fila med kopien du behaldt, og stadfest at direktivet finst nøyaktig éin gong. Ein verdi som er synleg i webgrensesnittet, er ikkje bevis for at daemonen tok imot han, sidan sida les lagra felt. Skriv lappekommandoen og fastvareversjonen i vedlikehaldsnotatane slik at neste oppdatering tek dei vidare.
Kopla deretter til ein klient og les serverloggen for alternativet som vart dytta. Ei innstilling som berre nokon gong har eksistert i eit skjema, er ei innstilling ingen har testa.