Wstęp:
Podłączenie klienta OpenVPN na dysku sieciowym Synology jest banalnie proste. Wchodzimy w ustawienia sieciowe, dodajemy profil OpenVPN, importujemy plik konfiguracyjny i … nie działa 🙂 OK, działa, ale kiedy serwer przygotujemy także na Synology DSM i zaimpotrujemy przygotowane ustawienia. Niestety kiedy serwer stoi na czymś innym, np. na Gargoyle, to sprawa się komplikuje. Natrafiłem na ten problem jakiś czas temu
Przygotowanie:
Dla użytkowników Gargoyle kwestia konfiguracji OpenVPNa to kilka kliknięć. Uruchamiamy serwer, dodajemy klienta i przez przeglądarkę kopiujemy pliki konfiguracyjne. Celem połączenia klienta z poziomu Synology DSM może zostać użyta dowolna wersja, ale podczas prób połączenia z poziomu DSM 7.1 okazało się, że nie są akceptowane przesłane w plikach certyfikaty dołączone do wersji „wiele plików”, która zawiera plik konfiguracyjny klienta oraz pliki certyfikatów. Natomiast z powodzeniem została zaimportowana wersja „jeden plik”, która certyfikaty ma zawarte w postaci wpisów inline w pliku konfiguracyjnym
Tworzenie profilu OpenVPN w Synology DSM:
Początek jest zgodny ze „standardowymi poradnikami” dla Synology DSM. Wchodzimy kolejno do Panel sterowania → Sieć → Interfejs sieciowy → Utwórz → Utwórz profil VPN:

W następnym kroku wybieramy jaki profil chcemy utworzyć, czyli co oczywiste w tym przypadku OpenVPN (poprzez importowanie pliku .ovpn):

Na następnym ekranie konfigurujemy parametry profilu, czyli:
- Nazwa profilu: wg uznania 🙂
- Nazwa użytkownika: nie może zostać puste, więc coś wpisujemy.
- Hasło: j.w. 😉
- Importuj plik .ovpn: klikając Przeglądaj wyszukujemy na dysku przygotowany plik konfiguracyjny, w tym przypadku pobrany z Gargoyle.

Po kliknięciu Następne pojawia się ostatni ekran konfiguracyjny:

Zaznaczając widoczną opcję Połącz ponownie po utracie połączenia VPN połączenie powinno być automatycznie nawiązywane jeżeli wystąpią chwilowe problemy z siecią.
Profil jest utworzony, ale … nie działa. Aby to naprawić potrzebny będzie dostęp przez SSH do NASa. W temacie aktywacji takiego dostępu można znaleźć wiele poradników w sieci, przykładowo tutaj. Zakładam, że jeżeli to czytasz, to wiesz co to SSH i jak się go używa 😉
Modyfikacja konfiguracji klienta OpenVPN w terminalu:
Logujemy się do NASa przez SSH. W terminalu wykonujemy kolejno:
$ sudo su
# cd /usr/syno/etc/synovpnclient/openvpn/
# ls -al
# nano ovpnclient.conf
Po wydaniu polecenia może pojawić się kilka plików, zależnie od tego ile profili OpenVPN zostało utworzonych. Ale jeżeli profil jest jeden, to lista jest krótka i zawiera 2 pliki: ovpnclient.conf oraz client_o1234567890. Numer w nazwie drugiego pliku może nie jest losowy (nie próbowałem ustalić zasady tworzenia), ale będzie się zmieniał w zależności od systemu na którym pracujemy. Istotne jest że w pliku ovpnclient.conf znajdziemy odwołanie do tego pliku.
Plik client_o1234567890 to konfiguracja, która została zaimportowana. DSM uzupełnia ją o wpisy koniczne do współpracy z systemem, czyli aktywacji z poziomu interfejsu webowego. W moim przypadku dodane zostały:
up /usr/syno/etc.defaults/synovpnclient/scripts/ovpn-up
route-up /usr/syno/etc.defaults/synovpnclient/scripts/route-up
script-security 2
plugin /lib/openvpn/openvpn-down-root.so /usr/syno/etc.defaults/synovpnclient/scripts/ip-down
pull-filter ignore "redirect-gateway"
Ogólnie wpisy te zależą od opcji, jakie zostały skonfigurowane podczas tworzenia profilu. Pliku tego nie ruszamy, chociaż podejrzewam, że można tutaj zmienić ustawienia w taki sposób jak standardowo tworzony jest plik konfiguracyjny dla klienta OpenVPN. Nie ruszamy oczywiści tych linii, które dodaje tam interfejs konfiguracyjny DSM podczas tworzenia połączenia.
Natomiast edycji wymaga plik ovpnclient.conf. Znajdziemy tam sekcję, która w nazwie ma numer taki sam jak wspomniany wyżej plik client_o1234567890. U mnie po modyfikacji ten fragment pliku wygląda teraz następująco:
[o1234567890]
nat=no
redirect-gateway=no
create_via_conf=yes
comp-lzo=yes
pass=
port=1194
reconnect=yes
conf_name=Connection
user=
remote=adres_serwera_openvpn
W porównaniu z zwartością jaka była po skonfigurowaniu połączenia w interfejsie webowym:
- dodałem linię
comp-lzo=yes - usunąłem wpisy w liniach
pass=iuser=, czyli nazwę użytkownika i hasło - dodałem linię
port=1194 - dopisałem adres serwera w linii
remote=adres_serwera_openvpn
Po wprowadzeniu zmian wracamy do DSM, wyszukujemy nasz profil na liście połączeń sieciowych, a po wybraniu go klikamy przycisk Połącz. Tym razem powinno się połączyć i działać prawidłowo. Jeżeli tak jest, to w tym momencie dobrze byłoby zrestartować NASa, żeby się upewnić, że wszystko będzie działało prawidłowo, jeżeli nastąpi restart dysku sieciowego w przyszłości.
Literatura:
Dodaj komentarz