Na pierwszy rzut oka to problemem jest to, że serwer wysyła routing o podsieciach (push route) do wszystkich klientów, również do tych, którzy mają tą podsieć jako swój LAN, więc klienci mają sprzeczne wpisy w tablicy routingu.
Poza tym w konfigu klienta openvpn masz tak namieszane, że ciężko połapać się co jest z czym i do czego.
Polecam przesiąść się na z topology net30 na topology subnet, więc wygeneruj dla każdego klienta osobny cert i klucz z różnymi Common Name.
1) config serwera:
mode server
port 1194
proto udp
tls-server
ifconfig 10.8.0.1 255.255.255.0
topology subnet
client-config-dir ccd
cipher AES-256-CBC
dev tun0
keepalive 25 180
status openvpn.tun.status
verb 3
log openvpn.tun.log
dh dh2048.pem
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
persist-key
persist-tun
comp-lzo
push "route 192.168.2.0 255.255.255.0 10.8.0.2" #routing dla VPSa do podsieci za klientem z kamerami
push "route 192.168.52.0 255.255.255.0 10.8.0.3" #routing dla VPSa do podsieci za klientem z HMI
W pliku ccd utwórz plik o takiej nazwie jak Common Name klienta o zawartości:
a) dla klienta z kamerami:
ifconfig-push 10.8.0.2 255.255.255.0
iroute 192.168.2.0 255.255.255.0
b) dla klienta z HMI:
ifconfig-push 10.8.0.3 255.255.255.0
iroute 192.168.52.0 255.255.255.0
c) dla klientów, którzy nie są routerami
ifconfig-push 10.8.0.4 255.255.255.0
2) config klienta z kamerami:
a) plik /etc/config/openvpn:
config openvpn 'client1'
option enabled '1'
option config '/etc/openvpn/client1.conf'
option status '/etc/openvpn.tun.status'
b) plik /etc/openvpn/client1.conf:
client
remote ip_addres_lub_FQDN_serwera 1194
dev tun
proto udp
status current_status
resolv-retry infinite
topology subnet
verb 3
cipher AES-256-CBC
auth-nocache
ca ca.crt
cert client1.crt
key client2.key
nobind
persist-key
persist-tun
comp-lzo
route-nopull
route 192.168.52.0 255.255.255.0 10.8.0.3
3) config klienta z HMI:
a) plik /etc/config/openvpn:
config openvpn 'client2'
option enabled '1'
option config '/etc/openvpn/client2.conf'
option status '/etc/openvpn.tun.status'
b) plik /etc/openvpn/client2.conf:
client
remote ip_addres_lub_FQDN_serwera 1194
dev tun
proto udp
status current_status
resolv-retry infinite
topology subnet
verb 3
cipher AES-256-CBC
auth-nocache
ca ca.crt
cert client1.crt
key client2.key
nobind
persist-key
persist-tun
comp-lzo
route-nopull
route 192.168.2.0 255.255.255.0 10.8.0.2
4) config innych klientów (którzy nie są routerami):
client
remote ip_addres_lub_FQDN_serwera 1194
dev tun
proto udp
status current_status
resolv-retry infinite
topology subnet
verb 3
cipher AES-256-CBC
auth-nocache
ca ca.crt
cert client1.crt
key client2.key
nobind
persist-key
persist-tun
comp-lzo
Przy tym założeniu wszyscy klienci łączą się do VPSa i widzą się nawzajem, ale ci klienci którzy mają za sobą podsieć LAN nie dostają routingu od serwera (parametr route-nopull w konfigu klienta).
Jeśli potrzebni są nowi klienci to trzeba wygenerować dla nich cert i klucz oraz stworzyć plik w katalogu ccd na VPSie nadając im kolejny adres IP w podsieci tunelu openvpn (10.8.0.x)
Hosty za routerem z HMI nie będą widzieć hostów za routerem za kamerami (i vice versa) dopóki modem Orange i router będą mieli podsieć 192.168.2.0 między sobą.
Ps. Logi lub configi możesz wrzucać za pomocą "code" w BBCode http://eko.one.pl/forum/help.php?section=bbcode
TP-Link TL-WDR3600 v1.5 - OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163 +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7