Access Server i Community OpenVPN mówią tym samym protokołem i prawie niczym innym w ten sam sposób. Uścisk dłoni, negocjacja szyfrów i płaszczyzna danych tunelu są zgodne, więc klient często łączy się z jednym i drugim bez edycji profilu. Różnica polega na tym, kto jest właścicielem konfiguracji: jeden produkt dostarcza warstwę zarządzania, która zapisuje i egzekwuje politykę, drugi daje plik konfiguracyjny i zestaw hooków i oczekuje, że zdecydujesz sam.

Ta różnica jest planem migracji. Wszystko, co stary produkt zdecydował za ciebie, musi stać się jawną decyzją gdzieś w nowym wdrożeniu.

Gdzie oba wdrożenia przestają być wymienne

W Access Serverze interfejs administracyjny WWW jest właścicielem użytkowników, grup, uprawnień na użytkownika, wystawiania certyfikatów i pakietu profilu, który ktoś pobiera. Demon pod spodem jest konfigurowany przez tę warstwę, więc działająca usługa jest wynikiem zapisanego stanu, który rzadko edytujesz ręcznie. W Community OpenVPN plik konfiguracyjny jest stanem: nazywa listener, urząd certyfikacji, hook uwierzytelniania i każdą wypychaną opcję, i nic nie przepisuje go za ciebie. Ta sama maszyneria TLS stoi więc pod dwoma bardzo różnymi modelami własności.

Krótkie mapowanie czyni lukę konkretną. Użytkownicy i grupy istnieją tylko w starej bazie, dopóki ich nie odtworzysz. Pakiety profilu stają się plikiem konfiguracyjnym plus certyfikatami, które sam rozprowadzasz. Uprawnienia na użytkownika stają się dyrektywami w client-config-dir. Interfejs administracyjny staje się procesem, który wybierzesz do wystawiania certyfikatów i edycji plików.

Zapisz to mapowanie, zanim dotkniesz serwera. Każdy wiersz, którego nie możesz wypełnić, jest funkcją, którą zaraz utracisz, a cicha utrata to droga, którą migracja staje się awarią dwa tygodnie później.

Tożsamość nie przenosi się z plikami certyfikatów

Certyfikaty starego urzędu mogą być poprawnie parsowane w nowej usłudze i nadal być niewłaściwą tożsamością, ponieważ stary produkt łączył je ze stanem konta, którego nowy nie widzi. Najpierw zdecyduj, czy nowe wdrożenie uwierzytelnia tylko certyfikatem, wtyczką sięgającą PAM lub RADIUS, czy kombinacją, a potem sprawdź, czy każda opcja zachowuje potrzebne właściwości. Wspólny certyfikat bez tożsamości na użytkownika to jedno poświadczenie dla wszystkich, którzy go mają. Unieważnianie też musi działać od pierwszego dnia, co w Community OpenVPN oznacza plik CRL wskazywany przez crl-verify plus proces, który go odtwarza.

Zaplanuj rejestrację przed przełączeniem, nie po nim. Nowe certyfikaty, przetestowana ścieżka unieważniania i udokumentowany sposób wyłączenia jednej osoby to warunki wstępne, a nie praca następcza. Jeśli uwierzytelnianie wieloskładnikowe pochodziło z integracji starego produktu, nazwij zamiennik wprost, bo niezainstalowana wtyczka zawodzi zamknięta w najgorszym momencie.

Trasowanie i rozwiązywanie nazw podążają za autorem konfiguracji

Trasy, ustawienia DNS i zachowanie pełnego tunelu to opcje wypychane w obu produktach, ale tylko jeden oblicza je za ciebie. W Community OpenVPN sam piszesz dyrektywy push, decydujesz, czy redirect-gateway należy do serwera czy klienta, i potwierdzasz, że na hoście istnieją przekazywanie i NAT. Zakończony uścisk dłoni nie mówi nic o przekazywaniu, tłumaczeniu adresów ani trasach, które klient faktycznie otrzymał.

Zachowanie na klienta wymaga client-config-dir plus pliku nazwanego według common name certyfikatu klienta, a para lokacja do lokacji wymaga wpisów iroute dla prefiksów za nią. Jeśli nazwa jest błędna, opcje są ignorowane bez błędu. Przetestuj na jednym kliencie nieprodukcyjnym w jego własnej puli adresów, a potem odczytaj przydzielony adres, otrzymane trasy i ustawienia resolvera, z którymi skończył.

Uporządkuj przełączenie tak, by stara usługa mogła wrócić

Uruchom nowy listener na innym porcie lub adresie i pozwól staremu obsługiwać ruch, dopóki nie udowodnisz zamiennika. Dwa demony na jednym sockecie to nie plan wycofania.

Przenoś jedną grupę naraz, z jej certyfikatami, jej pulą i jej trasami, i przećwicz drogę powrotną, zamiast odkrywać ją w trakcie incydentu. Wycofanie, które działa tylko wtedy, gdy najpierw zatrzyma się nową usługę, nadal jest wycofaniem, ale trzeba je przetestować, gdy nic się nie pali.

Na koniec wypisz funkcje bez bezpośredniego odpowiednika i rozstrzygnij los każdej z nich na piśmie: samoobsługowe pobieranie profilu, flagi uprawnień na użytkownika, sam interfejs administracyjny, raportowanie połączeń na żywo. Zastąpienie ich udokumentowanym procesem ręcznym jest uzasadnioną odpowiedzią. Pozostawienie wiersza pustego nie jest.

Praca jest skończona, gdy osoba, która nigdy nie widziała starego portalu, może się zarejestrować, połączyć, dotrzeć pod zamierzony adres wewnętrzny i zostać czysto unieważniona. Wszystko przed tym jest przygotowaniem.

Powiązane artykuły