Dwa pliki, które oba wyglądają jak konfiguracja VPN, trafiają do tego samego folderu, a działa tylko jeden z nich. Profil OpenVPN opisuje tunel TLS z dyrektywami, które ten klient rozumie, natomiast połączenie SoftEther opisuje sesję wobec wirtualnego koncentratora z inną umową uwierzytelniania. Przekształcenie jednego w drugie nie jest ćwiczeniem z formatowania, ponieważ oba klienty nie implementują tego samego protokołu. Ustalenie, którą usługę operator faktycznie opublikował, rozstrzyga wszystko, co następuje.

Dwa pliki, dwie umowy

Profil OpenVPN to konfiguracja klienta: zdalny punkt końcowy, transport, materiał TLS oraz dyrektywy routingu i ponownych negocjacji. Połączenie SoftEther to natywna sesja klienta wobec wirtualnego koncentratora, z dołączonym do niej wirtualnym adapterem.

Mogą opisywać dostęp do tej samej sieci, nie będąc wymiennymi. Nasłuch OpenVPN to funkcja zgodności, którą serwer może opublikować na osobnym porcie, i mówi OpenVPN zamiast protokołu natywnego. Natywny klient mówi protokołem natywnym i oczekuje własnego profilu. Jeden serwer, dwoje drzwi, a każde drzwi mają własny klucz.

Rozszerzenie pliku nie mówi prawie nic, dlatego odpowiedź operatora jest ważniejsza niż nazwa pliku.

Przeczytaj serwer, zanim dotkniesz bloku certyfikatu

Zapytaj operatora o trzy rzeczy: który port i transport, która metoda uwierzytelniania i którego klienta oczekują. Te odpowiedzi usuwają większość domysłów.

Następnie potwierdź, co naprawdę nasłuchuje, a nie co twierdzi poradnik. Wyłączony nasłuch zgodności nie pokazuje niczego na swoim porcie, a włączony pokazuje gniazdo nawet wtedy, gdy nikt nigdy się nie połączył. Różnica między zamkniętym portem a odrzuconym logowaniem to pierwsza użyteczna diagnoza. Wszystko później zależy od tego, do których drzwi zapukano.

ss -lunp | grep -E ':1194|:443'
sudo ss -ltnp | grep -E ':992|:5555'
grep -nE '^(remote|proto|auth-user-pass|ca |cert |key )' profile.ovpn

Port UDP nieobecny na liście nasłuchów to wyłączona funkcja, a nie problem z zaporą.

Czego potrzebuje natywny klient, a czego profil dać mu nie może

Natywny klient instaluje wirtualny adapter sieciowy i wiąże z nim połączenie. Bez tego adaptera nie ma interfejsu do routingu, dlatego natywne połączenie może się uwierzytelnić i mimo to nie przenosić ruchu.

Uwierzytelnianie natywne odbywa się wobec wirtualnego koncentratora, z obiektem użytkownika utworzonym przez administratora koncentratora. Bloki certyfikatów skopiowane z profilu OpenVPN nie stają się użytkownikami koncentratora, a użytkownik koncentratora nie staje się certyfikatem klienta. Oba systemy przechowują różne rzeczy, a profil nie ma gdzie umieścić rekordu użytkownika koncentratora. To różnica strukturalna, a nie problem składni.

Trzymaj klucz prywatny z dala od każdej usługi konwersji, ponieważ klucz, który opuści maszynę, trzeba traktować jako ujawniony.

Co przyjmuje nasłuch zgodny z OpenVPN

Nasłuch zgodności jest z punktu widzenia klienta prawdziwym serwerem OpenVPN: oczekuje klienta OpenVPN i dyrektyw, które ten klient obsługuje. Wbudowane bloki certyfikatów to funkcja OpenVPN i należą do tej strony płotu.

Czego nie zrobi, to nie przyjmie natywnego profilu SoftEther, ponieważ ten profil nie jest konfiguracją OpenVPN. Nasłuch nie zamienia też natywnego klienta w klienta OpenVPN. Jeśli operator oferuje tylko usługę natywną, odpowiedzią jest natywny klient; jeśli oferuje nasłuch zgodności, odpowiedzią jest OpenVPN i jego własny materiał.

Poproś o wspierany eksport operatora zamiast składania go z fragmentów, ponieważ eksport niesie szczegóły, które ręcznie zbudowany plik zwykle pomija.

Udowodnij ścieżkę, zanim zmienisz dyrektywy

Gdy klient jest wybrany, przetestuj tunel, zanim dotkniesz tras. Udane logowanie i interfejs przenoszący ruch to dwa różne wyniki.

sudo openvpn --config profile.ovpn --verb 3
ip -br addr
ip route get 10.70.4.20
resolvectl status | grep -A2 'DNS Servers'

Porównaj przydzielony adres z pulą opisaną przez operatora, a następnie osobno sprawdź trasy i resolver. Natywne połączenie z koncentratorem może czysto uwierzytelnić się i wcale nie zainstalować tras, co z perspektywy klienta wygląda jak zepsuty tunel. Dopiero gdy te trzy się zgadzają, warto edytować dyrektywę. Wcześniejsza edycja ukrywa, która warstwa była błędna.

Powiązane artykuły