Madalas na itinatayo muli ng firmware sa isang consumer router o NAS ang OpenVPN configuration nito sa bawat simula, kaya ang direktibang idinagdag mo ay tumatagal nang eksakto hanggang sa susunod na boot. Ganoon din sa mga key na naipasok sa web form, kung saan ang nakaimbak na halaga ay maaaring bumalik na sira pagkatapos i-save. Wala sa mga sintomas na ito ang nangangahulugang tinanggihan ang pagbabago. Ibig sabihin, napunta ang edit sa isang file na itinuturing ng firmware na output, at ang permanenteng lugar ay isang hakbang bago sa boot sequence.

Bakit muling nabubuo ang na-edit na file

Ang isang start script ay nagbubuo ng server configuration mula sa template at pagkatapos ay inilunsad ang daemon, na ginagawang build artifact ang na-render na file sa halip na source. Anumang idinagdag pagkatapos ng simula ay hindi nakikita ng susunod na pagtakbo ng script na iyon. Ang pangalawang pattern ay mas banayad: ang mga input ng key at certificate sa web interface ay nakaimbak sa escaped na anyo, at ang pag-save ng form ay maaaring magtulak ng escaped na tekstong iyon sa file na binabasa ng daemon. Alinman sa dalawa, ang na-render na configuration ay maling lugar para sa permanenteng pagbabago.

Tingnan kung ano ang isinusulat ng boot sequence at kailan. Ang sagot ay halos palaging isang script sa init o autorun directory ng firmware.

Ilagay ang direktiba sa lugar kung saan binubuo ng script ang file

Ang mga QTS appliance ay muling bumubuo ng OpenVPN server configuration sa loob ng init script na naglulunsad ng daemon, kaya doon dapat mangyari ang edit. Idagdag ang append nang direkta bago ang start command sa halip na i-edit ang nabuong file.

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

I-angkla ang insertion sa isang command na hindi gagalaw, dahil nagbabago ang mga line number sa pagitan ng mga build. Dahil ang init script mismo ay pinapalitan sa panahon ng boot, kailangang muling ilabas ang pagbabago mula sa autorun hook ng firmware sa tuwing magsisimula ang system. Pagkatapos ng isang reboot, bilangin ang mga paglitaw sa nabuong file: isang linya ang ibig sabihin ay gumana ang patch, habang dalawa ang ibig sabihin ay tumatakbo ang hook nang higit sa isang beses. Siyasatin ang dobleng pagtakbo nang hiwalay, dahil hindi ito ang parehong sira ng isang pagbabagong nawala.

Ayusin ang form na nag-imbak ng escaped na mga key

Sa mga pahinang istilong Asus, ang mga field ng certificate at key ay nagpapakita ng escaped na teksto, at ang pag-save pagkatapos ng walang kaugnayang pagsasaayos ay maaaring magsulat muli ng mga entity na iyon sa disk. Magtrabaho mula sa decoded na kopya at mag-save nang isang beses lamang, kapag handa na ang lahat ng edit.

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

Kapag pinapalitan ang isang bagong parameter set, i-paste lamang ang base64 payload kung hinihingi ng label ang katawan ng key, at itago lamang ang mga armor line kapag inaasahan ng field ang buong PEM block. Ang pagbawi ng pahinang nakaimbak na sa escaped na anyo nito ay karaniwang nangangahulugan ng paglilinis ng mga apektadong input at pag-apply, na nagpapahintulot sa firmware na muling itayo ang mga ito. Bumuo ng anumang lampas sa 2048 bit sa isang workstation, dahil ginagawang mabagal at kung minsan hindi mapagkakatiwalaan ng suplay ng entropy ng router ang operasyon. Itago ang parameter file sa lugar na maaabot mo pagkatapos ng factory reset.

Muling suriin pagkatapos ng mga upgrade

Pinapalitan ng mga firmware update ang mga init script at maaaring burahin ang autorun directory, kaya kailangang i-install at subukan muli ang patch. Ihambing ang muling nabuong file sa kopyang itinago mo at kumpirmahin na ang direktiba ay naroroon nang eksaktong isang beses. Ang halagang nakikita sa web interface ay hindi patunay na natanggap ito ng daemon, dahil binabasa ng pahina ang mga nakaimbak na field. Isulat ang patch command at bersyon ng firmware sa mga tala ng maintenance upang dalhin ito ng susunod na update.

Pagkatapos ay ikonekta ang isang client at basahin ang server log para sa na-push na opsyon. Ang setting na umiral lamang sa isang form ay setting na walang sinumang sumubok.

Kaugnay na mga artikulo