Мъртъв слушател в DD-WRT обикновено означава, че демонът е излязъл, докато анализира конфигурацията си, а не че правило на защитната стена е блокирало порта. OpenVPN 2.5 затегна няколко настройки по подразбиране, на които разчитаха по-стари конфигурации, и генерирана конфигурация, която е работила на по-стара сборка, може да бъде отхвърлена, преди сокетът изобщо да се отвори. Причината е в собствения журнал на рутера, а входните данни — в генерирания файл. Четенето на двете в този ред е по-бързо от всяко прихващане на пакети.

Демонът не е защитната стена

Разликата е важна, защото отвън двата отказа изглеждат еднакво: клиентът изпраща ръкостискане и не получава нищо. Единият е процес, който не работи, а другият — процес, който работи и филтрира.

Разделете ги с две проверки, преди да промените нещо, защото редакция на защитната стена върху мъртъв демон просто добавя втора променлива.

Прочетете конфигурацията, която DD-WRT генерира

DD-WRT не дава на OpenVPN текста, който сте въвели в уеб интерфейса. Той записва генерирана конфигурация в /tmp/openvpn/openvpn.conf и стартира демона с този файл, така че полетата на интерфейса и всеки текст в Additional Config се сливат, преди OpenVPN изобщо да ги види. Ако отстранявате проблеми във формуляра вместо в генерирания файл, четете намерение, а не действителните входни данни. Копирайте файла на постоянно място, защото рестарт /tmp ще изчисти.

Сравнете генерирания файл с това, което сте имали предвид, особено там, където интерфейсът записва директива, която никога не сте избирали. Падащо меню, което издава остаряла опция, е невидимо във формуляра и фатално за демона.

Ако генерираният файл е празен или липсва, демонът дори не е стигнал до стартиране и проблемът е преди OpenVPN.

Какво OpenVPN 2.5 спря да приема

OpenVPN 2.5 замени ncp-ciphers с data-ciphers, а също вдигна минималната версия на TLS по подразбиране до 1.2. Промени и обработката на компресията, така че партньор, който предлага компресия, се отхвърля, освен ако конфигурацията изрично не го разрешава, и отбеляза като остарели по-стари имена на опции като ns-cert-type в полза на remote-cert-tls. Всяка от тези промени превръща преди това работеща конфигурация в отказ при анализ или договаряне.

Режимът на отказ зависи от директивата. Непозната или премахната опция спира демона при стартиране — това е вашият мъртъв слушател. Несъответствие при договарянето оставя демона да работи и отхвърля клиенти, което от страна на клиента изглежда като проблем със защитната стена.

Четете първата грешка в журнала, а не последната. Анализът спира при първата лоша директива и всичко след нея е шум от спирането.

Предпоставките, специфични за Broadcom

При сборките за Broadcom тунелното устройство трябва да съществува, преди демонът да го използва. Проверете дали модулът tun е зареден и дали /dev/net/tun присъства, защото липсващо устройство води до отказ при стартиране, който няма нищо общо със сертификатите. Същото важи за помощните скриптове, които DD-WRT генерира за маршрути и DNS: ако липсват или не са изпълними, демонът може да стартира и пак да не завърши настройката си.

Стартирайте демона на преден план с по-висока подробност върху генерираната конфигурация, когато ви трябва истинското съобщение. Стартирането на преден план отпечатва грешката при анализ, която init скриптът е погълнал.

След това възстановете нормалната услуга, защото демон на преден план и init скриптът ще се борят за порта.

Докажете, че слушателят съществува, преди да отстранявате проблеми при клиентите

Потвърдете процеса и сокета поотделно: една команда за работещия демон, друга за обвързан UDP порт на очаквания адрес. Процес без сокет означава, че още се настройва или е обвързан с грешен интерфейс. Двойката е полезен тест именно защото едната половина не може да е вярна без другата.

Отстраняването на проблеми от страна на клиента има смисъл само след като слушателят съществува. Тогава проверете дали шифърът и настройките за TLS на клиента съвпадат с data-ciphers на сървъра и минималната му версия, и дали портът действително е пренасочен към рутера.

Запазете генерираната конфигурация и реда от журнала, който доказа поправката. Следващата актуализация на фърмуера може отново да промени настройките по подразбиране и точно този запис превръща повторението в петминутна проверка.

Подобни статии