OpenVPN handshake na Synology zlyháva? Skontrolujte presmerovanie LAN
Na NAS s dvoma portami balík VPN počúva na jednom rozhraní. Presmerovanie na druhú adresu dáva chybu handshake TLS, ktorú žiadny certifikát neopraví.
Váš notebook hlási, že handshake TLS zlyhal, takže pokušenie je znovu postaviť certifikáty. Najprv si položte nudnejšiu otázku: na ktorom Ethernet porte Synology vlastne počúva? NAS s dvoma LAN portami má dve adresy a balík VPN Server v DSM pripája svojho poslucháča OpenVPN k jednej z nich. Keď router presmeruje 1194 na druhú adresu, žiadny paket sa nikdy nedostane k službe a klient nemá o čom vyjednávať.
Text chyby zavádza, pretože opisuje poslednú vec, ktorú klient skúsil, nie prvú, ktorá sa pokazila. Dve minúty porovnávania stránky balíka s pravidlom routera to vyriešia.
Nájdite adresu, ku ktorej je poslucháč pripnutý
DSM označuje svoje porty ako LAN 1 a LAN 2 a každý nesie samostatnú adresu a podsieti. Otvorte VPN Server, prečítajte rozhranie uvedené na karte OpenVPN, potom otvorte Ovládací panel a poznamenajte si adresu IPv4, ktorú DSM má na tom istom rozhraní. Práve tieto dve hodnoty, nie názov hostiteľa NAS, musí presmerovanie uviesť.
Druhý zapojený kábel nevytvára druhého poslucháča. Obe spojenia môžu vyzerať pripojené, kým premávku prijíma len jedna adresa, a keď obe rozhrania ležia v tej istej podsieti, adresy sa líšia číslicou, ktorú pred uložením pravidla nikto znovu neprečíta.
Pozrite sa na samotný socket cez SSH, pretože je to jediné miesto, ktoré ukazuje, k čomu sa démon naozaj pripútal, a nie čo zamýšľa stránka nastavení.
sudo netstat -anp | grep 1194
Upravte existujúce presmerovanie namiesto pridania ďalšieho
Dve pravidlá pre jeden externý port nechávajú routeru voľnosť výberu a to, ktoré vyberie, sa môže zmeniť po aktualizácii firmvéru alebo reštarte. Otvorte pravidlo, ktoré už existuje, zmeňte jeho vnútornú adresu, uložte, potom ho znova otvorte a prečítajte hodnotu. Pomenovať pravidlo podľa služby pomáha, pretože zoznam piatich rovnakých presmerovaní je spôsob, akým to nesprávne prežije.
external 1194/udp -> 192.0.2.20:1194/udp
Držte vnútorný port rovný portu počúvania a držte protokol konzistentný. UDP 1194 je predvolený poslucháč, zatiaľ čo profil TCP potrebuje vlastného poslucháča na strane balíka a zodpovedajúce presmerovanie na routeri. Presmerovanie TCP k službe, ktorá počúva len UDP, dáva ticho, nie chybu.
Ak adresa NAS pochádza z DHCP, rezervujte ju pred uložením pravidla. Vypršanie prenájmu adresu znova pridelí, presmerovanie ďalej ukazuje na starú hodnotu a handshake začne zlyhávať v deň, keď sa NAS nikto nedotkol. Statická konfigurácia na strane NAS rieši rovnaký problém, ak adresa leží mimo rozsahu DHCP routera.
Dokážte, či pakety vôbec dorazia
Najprv spustite zachytávanie na NAS, potom sa pripojte z klienta a prečítajte zdrojovú adresu vo výstupe. Zachytávanie spustené po zlyhaní nič neukáže a nič nedokáže.
sudo tcpdump -i any -n udp port 1194
Ticho znamená, že premávka zomrela pred službou: nesprávna vnútorná adresa, zatvorený port na firewalle DSM alebo rozhranie administratívne vypnuté. Pakety vo výstupe znamenajú, že presmerovanie funguje, a zostávajúca závada leží nad sieťovou vrstvou, čo je oveľa menšia oblasť hľadania.
Zachytávanie tiež pomenuje rozhranie, na ktoré paket prišiel, a práve tento jediný detail oddeľuje pravidlo mierené na nesprávny port od pravidla miereného na port, ktorý nie je zapnutý. Sledujte vlastný počítač routera počas toho istého pokusu, ak ho zobrazuje. Počítač, ktorý sa nehýbe, kým zachytávanie zostáva prázdne, ukazuje na router, kým počítač, ktorý sa hýbe s prázdnym zachytávaním, ukazuje na cestu medzi dvomi zariadeniami.
Keď pakety dorazia, prestaňte viniť presmerovanie
Profil je ďalší podozrivý a obvyklým dôvodom je vek. Exportovaný súbor .ovpn obsahuje autoritu a materiál z okamihu exportu, takže balík, ktorého certifikát bol neskôr nahradený, odmietne klienta, ktorý stále nesie starú kópiu.
Prenos je ďalšia nezhoda, ktorú stojí za to výslovne skontrolovať, pretože profil a balík sa upravujú na rôznych miestach. Zmena profilu z UDP na TCP bez prepnutia balíka nechá klienta čakať na poslucháča, ktorý neexistuje, a klient hlási rovnaký všeobecný text handshake, aký hlási pri všetkom ostatnom. Prečítajte riadok proto v súbore, potom sa pozrite na protokol zvolený na stránke servera a až potom usúďte, že sa zhodujú. Čítanie pravidiel firewallu DSM je tretia kontrola: pravidlo, ktoré povoľuje port z miestnej podsiete, ale nie z internetu, sa po testovaní ľahko nechá zabudnuté, a dáva spojenie, ktoré funguje z kuchyne a zlyháva všade inde.
Otestujte cestu, ktorou vzdialený používateľ skutočne prechádza
Klient v tej istej LAN dosiahne NAS bez toho, aby sa kedy dotkol presmerovania, takže o vzdialenom prístupe nič nedokazuje. Použite telefón s vypnutým Wi-Fi alebo požiadajte niekoho mimo siete a počas tohto pokusu sledujte počítač routera. Ak vzdialený pokus zlyhá, kým miestny uspeje, presmerovanie alebo firewall sú stále v hre.
Zapíšte funkčný stav, kým funguje: externý port, vnútornú adresu, protokol, rozhranie balíka a názov profilu a dátum exportu. Keď handshake znova zlyhá, rozdiel medzi touto poznámkou a aktuálnou konfiguráciou je závada a nikto nemusí znova objavovať, ktorý z dvoch portov služba používa.