OpenVPN-instellings op die router word ná herbegin teruggesit: herstel die generator
Sagteware wat sy OpenVPN-konfigurasie by elke herbegin herbou, gooi jou wysigings weg. Pas die generator-haak aan en vergelyk die gegenereerde lêer ná een herbegin.
Sagteware op 'n verbruikersrouter of NAS bou dikwels by elke begin sy OpenVPN-konfigurasie weer op, so 'n direktief wat jy byvoeg oorleef presies tot die volgende herbegin. Dieselfde geld vir sleutels wat in 'n webvorm ingetik word, waar die gestoorde waarde ná 'n stoor vermink kan terugkom. Nie een van die simptome beteken die wysiging is verwerp nie. Dit beteken die wysiging het in 'n lêer beland wat die sagteware as uitset behandel, en die blywende plek is een stap vroeër in die selflaair.
Waarom die geredigeerde lêer weer gegenereer word
'n Beginprogram stel die bedienerkonfigurasie uit 'n sjabloon saam en begin dan die daemon, wat die gerenderde lêer 'n bouproduk eerder as 'n bron maak. Enigiets wat ná die begin bygevoeg word, is onsigbaar vir die volgende loop van daardie program. Die tweede patroon is subtieler: sleutel- en sertifikaatinvoer in die webkoppelvlak word in 'n ontsnapte vorm gestoor, en die stoor van die vorm kan daardie ontsnapte teks in die lêer skryf wat die daemon lees. In elk geval is die gerenderde konfigurasie die verkeerde plek om 'n blywende wysiging te maak.
Kyk wat die selflaair skryf en wanneer dit dit skryf. Die antwoord is byna altyd 'n program onder die sagteware se init- of outostart-gids.
Voeg die direktief in waar die program die lêer bou
QTS-toestelle bou die OpenVPN-bedienerkonfigurasie binne die init-program wat die daemon begin, so die wysiging moet daar gebeur. Voeg die byvoeging onmiddellik voor die beginopdrag by eerder as om die gegenereerde lêer te redigeer.
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.confAnker die invoeging op 'n opdrag wat nie sal skuif nie, want reëlnommers verskuif tussen bouwe. Omdat die init-program self tydens die selflaai vervang word, moet die wysiging elke keer wanneer die stelsel begin, vanuit die sagteware se outostart-haak herhaal word. Tel ná een herbegin die voorkoms in die gegenereerde lêer: een reël beteken die regstelling het gewerk, terwyl twee beteken die haak loop meer as een keer. Ondersoek die dubbele loop afsonderlik, want dit is nie dieselfde fout as 'n wysiging wat verdwyn het nie.
Herstel 'n vorm wat ontsnapte sleutels gestoor het
Op Asus-tipe bladsye wys die sertifikaat- en sleutelinvoervelde ontsnapte teks, en 'n stoor ná 'n onverwante aanpassing kan daardie entiteite terug op die skyf skryf. Werk vanaf 'n gedekodeerde afskrif en stoor net een keer, nadat alle wysigings gereed is.
openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pemWanneer jy 'n nuwe parameterstel inruil, plak net die base64-lading as die etiket om die sleutelliggaam vra, en hou die armor-lyne net wanneer die veld 'n volledige PEM-blok verwag. Om 'n bladsy te herstel wat al in sy ontsnapte vorm gestoor is, beteken gewoonlik om die betrokke invoervelde skoon te maak en toe te pas, wat die sagteware dit weer laat bou. Genereer enigiets bo 2048 bis op 'n werkstasie, want die router se entropievoorraad maak die bewerking stadig en soms onbetroubaar. Stoor die parameterlêer op 'n plek wat jy ná 'n fabrieksherstel kan bereik.
Kontroleer weer ná opgraderings
Sagteware-opdaterings vervang init-programme en kan die outostart-gids uitwis, so die regstelling moet weer geïnstalleer en getoets word. Vergelyk die herboude lêer met die afskrif wat jy gehou het en bevestig dat die direktief presies een keer voorkom. 'n Waarde wat in die webkoppelvlak sigbaar is, is nie bewys dat die daemon dit ontvang het nie, want die bladsy lees gestoorde velde. Skryf die regstellingsopdrag en die sagteware-weergawe in die onderhoudnotas neer sodat die volgende opdatering dit saamdra.
Verbind dan 'n kliënt en lees die bedienerlog vir die gestuurde opsie. 'n Instelling wat net ooit in 'n vorm bestaan het, is 'n instelling wat niemand getoets het nie.