Мртов слушател на DD-WRT обично значи дека демонот излегол додека ја парсирал својата конфигурација, а не дека правило на firewall-от го блокирало портот. OpenVPN 2.5 затегна неколку стандардни вредности на кои се потпираа постарите конфигурации, и генерирана конфигурација што работела на постара верзија може да биде одбиена пред сокетот воопшто да се отвори. Причината е во дневникот на самиот рутер, а влезот е во генерираната датотека. Читањето на двете по тој редослед е побрзо од било какво фаќање пакети.

Демонот не е firewall-от

Разликата е важна затоа што однадвор двете грешки изгледаат исто: клиентот праќа ракување и не добива ништо. Едната е процес што не работи, а другата е процес што работи и филтрира.

Одделете ги со две проверки пред да смените нешто, затоа што уредување на firewall-от на мртов демон само додава втора променлива.

Прочитајте ја конфигурацијата што ја генерирал 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. Секоја од тие промени претвора претходно работна конфигурација во грешка при парсирање или преговарање.

Начинот на грешка зависи од директивата. Непозната или отстранета опција го запира демонот при стартување, тоа е вашиот мртов слушател. Несовпаѓање во преговарањето го остава демонот да работи и ги одбива клиентите, што од клиентската страна изгледа како проблем со firewall-от.

Читајте ја првата грешка во дневникот, а не последната. Парсирањето застанува на првата лоша директива, и сè по неа е шум од исклучувањето.

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

На Broadcom верзиите тунелскиот уред мора да постои пред демонот да може да го користи. Проверете дали модулот tun е вчитан и дали /dev/net/tun постои, затоа што уред што недостасува предизвикува грешка при стартување што нема никаква врска со сертификатите. Истото важи и за помошните скрипти што DD-WRT ги генерира за рути и DNS: ако ги нема или не се извршливи, демонот може да стартува и сепак да не го заврши поставувањето.

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

Потоа вратете ја нормалната услуга, затоа што демонот во преден план и init скриптата ќе се караат за портот.

Докажете дека слушателот постои пред да ги дебагирате клиентите

Потврдете ги процесот и сокетот одделно: една команда за демонот што работи, друга за врзан UDP порт на очекуваната адреса. Процес без сокет значи дека е сè уште во поставување или врзан на погрешен интерфејс. Парот е корисен тест токму затоа што едната половина не може да биде вистинита без другата.

Дебагирањето од клиентската страна има смисла само откако слушателот ќе постои. Тогаш проверете дали шифрата и TLS-поставките на клиентот одговараат на data-ciphers списокот на серверот и неговата минимална верзија, и дали портот навистина се препраќа до рутерот.

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

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