Jak stworzyć połączenie OpenVPN do pracy z wieloma klientami na routerach Advantech?
Bardzo często pojawia się problem, w którym producent maszyny, szafki sterowniczej lub innych urządzeń rozlokowanych w różnych lokalizacjach potrzebuje dostać się do nich w celu diagnostyki lub aktualizacji oprogramowania.
Pomocne w takim przypadku okazuje się oprogramowanie VPN i opcja pracy w trybie „multiclient”. W takim wypadku router podłączony do naszego komputera winien mieć publiczny adres IP i łączyć się ze wszystkimi urządzeniami peryferyjnymi. Konfiguracja takiego połączenia zamieszczona jest poniżej.
Sama koncepcja jest skalowalna i wygląda jak na obrazku poniżej:
W takim założeniu jak poniżej „johny.dynalias.com” jest odzwierciedleniem publicznego adresu IP jaki można dostać od operatora sieci.
Ze względu na to, iż jest to bardziej zaawansowany tryb połączenia jego parametryzacji dokonywać będziemy poprzez wgrywanie plików konfiguracyjnych oraz kluczy bezpośrednio do routera z wykorzystaniem serwera plików FTP. W celu aktywacji FTP na routerze należy w sekcji NAT zaznaczyć „Enable remote FTP access on port”:
Oraz w sekcji Services -> FTP zaznaczyć „Enable FTP service” i zaakceptować.
Następnie na komputerze tworzymy plik server.ovpn o następującej treści:
server 10.8.0.0 255.255.255.0
port 1194 proto tcp-server
dev tun
comp-lzo
keepalive 10 60
dh /root/dh1024.pem
ca /root/ca.crt
key /root/server.key
cert /root/server.crt
ifconfig-pool-persist ipp.txt
status openvpn-status.log
client-config-dir /root/ccd
persist-key
persist-tun
verb 3
route 192.168.1.0 255.255.255.0
route 192.168.2.0 255.255.255.0
route 192.168.3.0 255.255.255.0
Oraz generujemy klucze i certyfikaty o nazwach jak poniżej przy wykorzystaniu oprogramowania OpenVPN na komputerze:
dh1024.pem
ca.crt
server.key
server.crt
Po ich wygenerowaniu kopiujemy je do katalogu „root” w pamięci flash lub „/var/data” w pamięci MRAM. W wypadku ważnych danych lepsza będzie druga opcja, gdyż pamięć MRAM nie jest kasowana przy zaniku zasilania. Do tymczasowych testów wystarczy folder „root”. Listę plików przedstawia zrzut poniżej.
Pliki ipp.txt oraz openvpn-status.log tworzone są automatycznie po uruchomieniu usługi.
Na zrzucie widać również folder /ccd. Ten również należy utworzyć ręcznie i zamieścić w nim 3 pliki z następującymi wpisami.
Plik Client001 odpowiadającemu konfiguracji sieci pierwszego klienta. W naszym przykładzie jest to:
Client001
iroute 192.168.1.0 255.255.255.0
Plik Client002 odpowiadającemu konfiguracji sieci pierwszego klienta. W naszym przykładzie jest to:
Client002
iroute 192.168.2.0 255.255.255.0
Plik Client003 odpowiadającemu konfiguracji sieci pierwszego klienta. W naszym przykładzie jest to:
Client003
iroute 192.168.3.0 255.255.255.0
Lista plików na routerze powinna wyglądać następująco.
Ostatnim krokiem realizowanym po stronie serwera VPN powinno być dodanie skryptu w sekcji UP/Down Script o treści:
/usr/sbin/openvpnd --syslog --dev tun --config /root/rerver.ovpn &
Zapewni on uruchomienie konfiguracji na routerze.
Konfiguracja po stronie klienta jest prostsza i ogranicza się do wykorzystania graficznego interfejsu użytkownika.
W sekcji OpenVPN -> 1st Tunnel należy zamieścić ustawienia jak poniżej:
W każdym z routerów należy wgrać wszystkie wymagane w nich certyfikaty. Remote IP Address w przykładzie określony jako „johny.dynalias.com” powinien być publicznym adresem IP routera pracującego w trybie serwera.
Konfiguracje Client002 oraz Client003 są tożsame i różnią się jedynie polem Description.
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!