OpenVPN-поставките на рутерот се враќаат по рестартирање: поправете го генераторот
Фирмверот што ја преизградува OpenVPN-конфигурацијата при секое подигање ги отфрла вашите измени. Закрпете ја куката на генераторот, потоа по едно рестартирање споредете ја генерираната датотека.
Фирмверот на потрошувачки рутер или 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-скриптите и можат да ја избришат папката за автоматско стартување, па закрпата мора повторно да се инсталира и тестира. Споредете ја преизградената датотека со копијата што ја чувавте и потврдете дека директивата е присутна точно еднаш. Вредноста видлива во веб-интерфејсот не е доказ дека демонот ја примил, бидејќи страницата чита зачувани полиња. Запишете ја командата за закрпа и верзијата на фирмверот во белешките за одржување, за да ги пренесе следното ажурирање.
Потоа поврзете клиент и прочитајте го дневникот на серверот за турнатата опција. Поставка што некогаш постоела само во образец е поставка што никој не ја тестирал.