DD-WRT OpenVPN 2.5 slušalac mrtav? Pročitajte konfiguraciju koju je generisao
OpenVPN 2.5 odbija konfiguracije koje su starije verzije prihvatile. Na DD-WRT-u pročitajte generisanu datoteku i dnevnik demona prije nego što dirate firewall.
Mrtav slušalac na DD-WRT-u obično znači da je demon izašao dok je parsirao svoju konfiguraciju, a ne da je firewall pravilo blokiralo port. OpenVPN 2.5 je pooštrio nekoliko zadanih vrijednosti na koje su se oslanjale starije konfiguracije, a generisana konfiguracija koja je radila na starijoj verziji može biti odbijena prije nego što se socket uopće otvori. Razlog je u dnevniku samog rutera, a ulaz je u generisanoj datoteci. Čitanje oba u tom redoslijedu brže je od bilo kojeg hvatanja paketa.
Demon nije firewall
Razlika je važna jer izvana oba kvara izgledaju isto: klijent pošalje rukovanje i ne dobije ništa. Jedan je proces koji ne radi, a drugi je proces koji radi i filtrira.
Razdvojite ih s dvije provjere prije nego što bilo šta promijenite, jer izmjena firewalla na mrtvom demonu samo dodaje drugu varijablu.
Pročitajte konfiguraciju koju je DD-WRT generisao
DD-WRT ne daje OpenVPN-u tekst koji ste upisali u web sučelje. On zapisuje generisanu konfiguraciju u /tmp/openvpn/openvpn.conf i pokreće demon s tom datotekom, pa se polja sučelja i bilo koji tekst iz Additional Config spajaju prije nego što ih OpenVPN uopće vidi. Ako otklanjate greške u obrascu umjesto u generisanoj datoteci, čitate namjeru, a ne stvarni ulaz. Kopirajte tu datoteku na trajno mjesto prije nego što restart /tmp očisti.
Uporedite generisanu datoteku s onim što ste namjeravali, posebno tamo gdje sučelje upisuje direktivu koju nikada niste odabrali. Padajući izbornik koji ispušta zastarjelu opciju nevidljiv je u obrascu i smrtonosan za demon.
Ako je generisana datoteka prazna ili nedostaje, demon nije ni stigao do pokretanja, a problem je iznad OpenVPN-a.
Šta je OpenVPN 2.5 prestao prihvatati
OpenVPN 2.5 zamijenio je ncp-ciphers s data-ciphers, a podigao je i zadanu minimalnu verziju TLS-a na 1.2. Promijenio je i obradu kompresije tako da se partner koji nudi kompresiju odbija osim ako konfiguracija to izričito dopušta, a zastario je i starije nazive opcija kao što je ns-cert-type u korist remote-cert-tls. Svaka od tih promjena pretvara ranije radnu konfiguraciju u neuspjeh parsiranja ili pregovaranja.
Način kvara zavisi od direktive. Nepoznata ili uklonjena opcija zaustavlja demon pri pokretanju, to je vaš mrtav slušalac. Nesklad u pregovaranju pušta demon da radi i odbija klijente, što s klijentske strane izgleda kao problem firewalla.
Pročitajte prvu grešku u dnevniku, a ne posljednju. Parsiranje staje na prvoj lošoj direktivi, a sve poslije toga je šum od zaustavljanja.
Preduvjeti specifični za Broadcom
Na Broadcom verzijama tunelski uređaj mora postojati prije nego što ga demon može koristiti. Provjerite je li tun modul učitan i je li /dev/net/tun prisutan, jer uređaj koji nedostaje izaziva neuspjeh pri pokretanju koji nema nikakve veze sa certifikatima. Isto vrijedi za pomoćne skripte koje DD-WRT generiše za rute i DNS: ako nedostaju ili nisu izvršne, demon može startati i ipak ne završiti svoje postavljanje.
Pokrenite demon u prvom planu s većom razinom detalja nad generisanom konfiguracijom kad vam treba stvarna poruka. Pokretanje u prvom planu ispisuje grešku parsiranja koju je init skripta progutala.
Zatim vratite normalnu uslugu, jer će se demon u prvom planu i init skripta boriti oko porta.
Dokažite da slušalac postoji prije nego što otklanjate greške na klijentima
Potvrdite proces i socket odvojeno: jedna komanda za pokrenuti demon, druga za vezani UDP port na očekivanoj adresi. Proces bez socketa znači da je još u postavljanju ili vezan na pogrešno sučelje. Taj par je korisna provjera upravo zato što jedna polovina ne može biti tačna bez druge.
Otklanjanje grešaka na klijentskoj strani ima smisla tek nakon što slušalac postoji. Tada provjerite da se klijentov šifra i TLS postavke poklapaju sa serverovom data-ciphers listom i minimalnom verzijom, te da je port stvarno proslijeđen na ruter.
Sačuvajte generisanu konfiguraciju i liniju dnevnika koja je dokazala popravku. Sljedeće ažuriranje firmvera može ponovo promijeniti zadane vrijednosti, a taj zapis je ono što ponavljanje pretvara u petominutnu provjeru.