Фирмверот на потрошувачки рутер или NAS често ја преизградува OpenVPN-конфигурацијата при секое стартување, па директивата што ја додавате опстојува точно до следното подигање. Истото важи за клучевите внесени во веб-образец, каде зачуваната вредност може да се врати искршена по зачувувањето. Ниту еден од овие симптоми не значи дека промената е одбиена. Тоа значи дека измената завршила во датотека што фирмверот ја третира како излез, а трајното место е еден чекор порано во низата за подигање.

Зошто изменетата датотека се генерира повторно

Стартна скрипта ја составува конфигурацијата на серверот од шаблон и потоа го стартува демонот, што ја прави исцртаната датотека градежен артефакт наместо извор. Сѐ што ќе се додаде по стартувањето е невидливо за следното извршување на таа скрипта. Вториот образец е посуптилен: внесовите за клуч и сертификат во веб-интерфејсот се чуваат во избегната форма, а зачувувањето на образецот може да го турне тој избегнат текст во датотеката што ја чита демонот. Во секој случај, исцртаната конфигурација е погрешно место за трајна промена.

Погледнете што запишува низата за подигање и кога. Одговорот е речиси секогаш скрипта во init или директориумот за автоматско стартување на фирмверот.

Вметнете ја директивата таму каде што скриптата ја гради датотеката

Уредите QTS ја преизградуваат OpenVPN-конфигурацијата на серверот внатре во init-скриптата што го стартува демонот, па измената мора да се случи таму. Додавањето ставете го непосредно пред командата за стартување наместо да ја уредувате генерираната датотека.

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

Закотви го вметнувањето на команда што нема да се помести, бидејќи броевите на редови се менуваат меѓу градбите. Бидејќи самата init-скрипта се заменува при подигањето, промената мора повторно да се издаде од куката за автоматско стартување при секое стартување на системот. По едно рестартирање избројте ги појавите во генерираната датотека: еден ред значи дека закрпата работела, а два значат дека куката работи повеќе од еднаш. Двојното извршување истражете го одделно, бидејќи тоа не е истиот дефект како промена што исчезнала.

Поправете образец што зачувал избегнати клучеви

На страници во стил на Asus, полињата за сертификат и клуч прикажуваат избегнат текст, а зачувувањето по неповрзано дотерување може да ги врати тие ентитети на дискот. Работете од декодирано копие и зачувајте само еднаш, кога сите измени се готови.

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

Кога заменувате нов сет параметри, залепете само base64-товарот ако ознаката го бара телото на клучот, а линиите на оклопот задржете ги само кога полето очекува целосен PEM-блок. Враќањето на страница веќе зачувана во избегната форма обично значи чистење на засегнатите полиња и примена, што му овозможува на фирмверот повторно да ги изгради. Генерирајте сѐ над 2048 бита на работна станица, бидејќи снабдувањето со ентропија на рутерот ја прави операцијата бавна и понекогаш несигурна. Чувајте ја датотеката со параметри на место достапно по фабричко ресетирање.

Проверете повторно по надградбите

Ажурирањата на фирмверот ги заменуваат init-скриптите и можат да ја избришат папката за автоматско стартување, па закрпата мора повторно да се инсталира и тестира. Споредете ја преизградената датотека со копијата што ја чувавте и потврдете дека директивата е присутна точно еднаш. Вредноста видлива во веб-интерфејсот не е доказ дека демонот ја примил, бидејќи страницата чита зачувани полиња. Запишете ја командата за закрпа и верзијата на фирмверот во белешките за одржување, за да ги пренесе следното ажурирање.

Потоа поврзете клиент и прочитајте го дневникот на серверот за турнатата опција. Поставка што некогаш постоела само во образец е поставка што никој не ја тестирал.

Поврзани статии