Cześć wszystkim!
Wiem, że dla ustawień OpenVPN powstało wiele materiałów. Jednak sam napotkałem na brak usystematyzowanej informacji na ten temat, dlatego postanowiłem podzielić się doświadczeniem głównie z tymi, którzy nie są guru w administracji OpenVPN, ale chcieliby osiągnąć połączenie zdalnych podsieci typu site-to-site na NAS Synology. Przy okazji zostawię to również dla siebie jako notatkę.
Zatem. Mamy NAS Synology DS918+ z zainstalowanym pakietem VPN Server, na którym skonfigurowano OpenVPN oraz użytkowników, którzy mogą łączyć się z serwerem VPN. Nie będę wdawać się w szczegóły konfiguracji serwera w interfejsie DSM (portal webowy serwera NAS). Te informacje są dostępne na stronie producenta.
Problem polega na tym, że interfejs DSM (w dacie publikacji wersja 6.2.3) ma ograniczoną liczbę ustawień do zarządzania serwerem OpenVPN. W naszym przypadku potrzebny jest schemat połączenia typu site-to-site, tj. hosty podsieci klienta VPN muszą widzieć hosty podsieci serwera VPN i odwrotnie. Standardowe ustawienia dostępne na NAS pozwalają jedynie na skonfigurowanie dostępu z hostów podsieci klienta VPN do hostów podsieci serwera VPN.
Aby skonfigurować dostęp do podsieci klientów VPN z podsieci serwera VPN, będziemy musieli zalogować się na NAS przez SSH i ręcznie skonfigurować plik konfiguracyjny serwera OpenVPN.
Do edytowania plików na NAS przez SSH wygodniej mi korzystać z Midnight Commander. W tym celu w Centrum pakietów podłączyłem źródło i zainstalowałem pakiet Midnight Commander.

Logujemy się przez SSH na NAS z konta z uprawnieniami administratora.

Wpisujemy sudo su i jeszcze raz podajemy hasło administratora:

Wpisujemy polecenie mc i uruchamiamy Midnight Commander:

Następnie przechodzimy do katalogu /var/packages/VPNCenter/etc/openvpn/ i znajdujemy plik openvpn.conf:

W naszym przypadku musimy połączyć 2 zdalne podsieci. W tym celu tworzymy przez DSM 2 konta na NAS z ograniczonymi uprawnieniami do wszystkich usług NAS i przydzielamy dostęp tylko do połączenia VPN w ustawieniach VPN Server. Dla każdego klienta musimy skonfigurować statyczny adres IP przydzielany przez serwer VPN i routing przez ten adres IP ruchu z podsieci serwera VPN do podsieci klienta VPN.
Dane wyjściowe:
Podsieć serwera VPN: 192.168.1.0/24.
Pula adresów serwera OpenVPN 10.8.0.0/24. Sam serwer OpenVPN otrzymuje adres 10.8.0.1.
Podsieć klienta VPN 1 (użytkownik VPN): 192.168.10.0/24, powinien otrzymać na serwerze OpenVPN statyczny adres 10.8.0.5
Podsieć klienta VPN 2 (użytkownik VPN-GUST): 192.168.5.0/24, powinna otrzymywać na serwerze OpenVPN statyczny adres 10.8.0.4
W katalogu ustawień tworzymy folder ccd i w nim tworzymy pliki konfiguracyjne o nazwach odpowiadających nazwom użytkowników.

Dla użytkownika VPN w pliku wpisujemy następujące ustawienia:

Dla użytkownika VPN-GUST w pliku wpisujemy następujące:

Pozostaje tylko dostosować konfigurację serwera OpenVPN — dodać parametr do odczytu ustawień klientów oraz dodać trasy na podsieci klientów:

Na podanym zrzucie ekranu pierwsze 2 linie konfiguracji są ustawiane za pomocą interfejsu DSM (zaznaczenie opcji „Zezwól klientom na dostęp do lokalnej sieci serwera” w ustawieniach serwera OpenVPN).
Linia client-config-dir ccd wskazuje, że ustawienia klientów znajdują się w folderze ccd.
Następnie 2 linie ustawień dodają trasy na podsieci klientów przez odpowiednie bramy OpenVPN.
I wreszcie, dla poprawnego działania należy zastosować topologię subnet.
Wszystkie pozostałe ustawienia w pliku pozostawiamy nietknięte.
Po zapisaniu ustawień nie zapomnij zrestartować usługi VPN Server w menedżerze pakietów. Na hostach lub bramie dla hostów podsieci serwera należy wpisać trasy na podsieci klientów przez NAS.
W moim przypadku bramą dla wszystkich hostów podsieci, w której znajduje się NAS (jego IP 192.168.1.3), był router (192.168.1.1). Na tym routerze dodałem do statycznej tabeli tras wpisy trasowania dla sieci 192.168.5.0/24 i 192.168.10.0/24 na bramę 192.168.1.3 (NAS).
Nie zapominaj, że przy włączonym zaporze ogniowej na NAS konieczne będzie również jej skonfigurowanie. Dodatkowo po stronie klienta może być włączona zapora ogniowa, którą również trzeba będzie skonfigurować.
P.S. Nie jestem profesjonalistą w dziedzinie technologii sieciowych, szczególnie w pracy z OpenVPN, po prostu dzielę się swoim doświadczeniem i publikuję ustawienia, które pozwoliły mi skonfigurować połączenie między podsieciami typu site-to-site. Może istnieje prostsza i/lub bardziej poprawna konfiguracja, będę tylko wdzięczny, jeśli podzielisz się doświadczeniem w komentarzach.
Źródło: habr.com
