1

Temat: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Korzystałem z tego poradnika https://eko.one.pl/?p=openwrt-openvpntun
Doszedłem do tego miejsca  Dostęp do kamery za klientem

1.    Router z Gargloyle z adresem 192.168.2.1
- zrobiony z niego klient z ustawionym adresem 10.8.0.10
- podłączony modem z adresem 192.168.8.1
- podłączona do niego kamera 192.168.2.199 port 1120

2.    Router r6220 Luci z adresem 192.168.1.1
- zrobiony serwer vpn z adresem 10.8.0.1
Wygenerowane certyfikaty i klucze przekopiowane do serwera i klienta /etc/openvpn
Na komputerze z windows7 uruchomiony program OpenVPN GUI i skonfigurowany żeby się łączył z serwerem OpenVPN.

Wszystko robione po kolei wg. poradnika.

Wpisując 10.8.0.1 ładuje mi się Luci z serwera OpenVPN
Wpisując 10.8.0.10 ładuje mi się Gargoyle z klienta
Wpisując 10.8.0.10:1120 nic się nie dziej
Wpisując 192.168.2.199:1120 bardzo, bardzo powoli się zaczyna ładować GUI kamery ale nie do końca
Wpisując 192.168.2.1 nic się nie ładuje.

2

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Nie, nic kompletnie nie napisałeś. Konkrety - konfiguracja, jaki masz routing, jakie przekierowania zrobiłeś, jak wygląda firewall.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Jechałem wg. poradnika tak jak napisane ;-)

Jak pokazać routing ?

1. Serwer
- firewall

config redirect
    option src 'wan'
    option name 'VNC_1'
    option src_dport '5900'
    option target 'DNAT'
    option dest_ip '192.168.1.100'
    option dest 'lan'
    option proto 'tcp udp'

config redirect
    option src 'wan'
    option name 'VPN_NAS'
    option src_dport '1723'
    option target 'DNAT'
    option dest_ip '192.168.1.211'
    option dest 'lan'
    option proto 'tcp udp'

config rule
    option target 'ACCEPT'
    option src 'wan'
    option proto 'tcp'
    option dest_port '443'
    option name 'HTTPS'

config rule
    option target 'ACCEPT'
    option src 'wan'
    option proto 'tcp'
    option dest_port '80'
    option name 'HTTP'

config rule
    option target 'ACCEPT'
    option src 'wan'
    option proto 'tcp'
    option name 'SSH'
    option dest_port '222'

config redirect
    option src 'wan'
    option name 'VNC_ZOSIA'
    option src_dport '5902'
    option target 'DNAT'
    option dest_ip '192.168.1.200'
    option dest 'lan'
    option proto 'tcp udp'

config redirect
    option src 'wan'
    option src_dport '5903'
    option target 'DNAT'
    option dest_ip '192.168.1.220'
    option dest 'lan'
    option proto 'tcp udp'
    option name 'VNC_Romka'

config zone
    option name 'vpn'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option network 'vpn'

config forwarding
    option src 'vpn'
    option dest 'wan'

config rule
    option name 'OpenVPN'
    option target 'ACCEPT'
    option src 'wan'
    option proto 'udp'
    option dest_port '1194'

config zone
    option name 'vpn'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option network 'vpn'
    option masq '1'

config forwarding
    option src 'vpn'
    option dest 'lan'

- firewall.user

iptables -I FORWARD -i eth1 -p tcp -d 10.8.0.10 --dport 1120 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 1120 -j DNAT --to-destination 10.8.0.10:1120

2. Klient
- firewall

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fc00::/6'
    option dest_ip 'fc00::/6'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'
    option reload '1'

config include
    option type 'script'
    option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'
    option family 'IPv4'
    option reload '1'

config redirect 'redirect_enabled_number_0'
    option name 'kamera'
    option src 'wan'
    option dest 'lan'
    option proto 'tcp'
    option src_dport '1120'
    option dest_ip '192.168.2.199'
    option dest_port '1120'

config redirect 'redirect_enabled_number_1'
    option name 'kamera'
    option src 'wan'
    option dest 'lan'
    option proto 'udp'
    option src_dport '1120'
    option dest_ip '192.168.2.199'
    option dest_port '1120'

config include 'openvpn_include_file'
    option path '/etc/openvpn.firewall'
    option reload '1'

- firewall.user


iptables -I FORWARD -i tun0 -p tcp -d 192.168.2.199 --dport 1120 -j ACCEPT
iptables -t nat -I PREROUTING -i tun0 -p tcp --dport 1120 -j DNAT --to-destination 192.168.2.199:1120

4

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Przecież R6220 nie ma interfejsu eth1, więc dlaczego zrobiłeś przekierowania na interfejsie eth1?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

I tu właśnie miałem zagwostkę co wpisać - czyli muszę poprawić eth1 na eth0.2 chyba że się mylę.

6

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

W poradniku było że to interfejs wan serwera - eth1 w moim przykładzie. Masz eth0.2 to masz wpisać eth0.2 a nie eth1.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Z tego co widać to chyba to eth0.2

root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F0
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd67:921b:c3be::1/60 Scope:Global
          inet6 addr: fe80::a204:60ff:feba:c0f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5902543 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15250868 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:565648487 (539.4 MiB)  TX bytes:24371678582 (22.6 GiB)

eth0      Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F0
          inet6 addr: fe80::a204:60ff:feba:c0f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:55027479 errors:16 dropped:416 overruns:0 frame:0
          TX packets:22507675 errors:1 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:32585066363 (30.3 GiB)  TX bytes:24085482690 (22.4 GiB)
          Interrupt:17

eth0.1    Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7402144 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15650526 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5930539520 (5.5 GiB)  TX bytes:23217875971 (21.6 GiB)

eth0.2    Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F1
          inet addr:89.228.196.178  Bcast:89.228.223.255  Mask:255.255.224.0
          inet6 addr: fe80::a204:60ff:feba:c0f1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45376126 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5282251 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25550500675 (23.7 GiB)  TX bytes:576930239 (550.2 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:7550 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7550 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:644208 (629.1 KiB)  TX bytes:644208 (629.1 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.1  Mask:255.255.255.0
          inet6 addr: fe80::b431:9f03:9d62:6475/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7315 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7618 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:1766924 (1.6 MiB)  TX bytes:4636727 (4.4 MiB)

wlan0     Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F0
          inet6 addr: fe80::a204:60ff:feba:c0f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:873859 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2310746 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:144017162 (137.3 MiB)  TX bytes:1830613010 (1.7 GiB)

wlan1     Link encap:Ethernet  HWaddr A0:04:60:BA:C0:F4
          inet6 addr: fe80::a204:60ff:feba:c0f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7334707 errors:0 dropped:7 overruns:0 frame:0
          TX packets:7100625 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6411075633 (5.9 GiB)  TX bytes:11798589478 (10.9 GiB)

8

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

No tak, w r6220 jest to eth0.2

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Cezary,
mam podobny układ jak fido to jest
serwer NAS (serwer OpenVPN) --> router Gargoyle ---->  internet ---modem USB ---> router Gargoyle (klient VPN) --> kamera.
Postawiłem w 2015, poszło "od strzału" - tzn. na podstawie plików konfiguracyjnych OpenVPN skopiowanych z klienta linuksowego.
Nic nie zmieniałem w firewallu, ani w Gargoyle 1.6, ani w 1.10.
Czy to oznacza, że w Gargoyle z góry zdefiniowałeś te wszystkie reguły firewalla / przekierowania, a jak ktoś korzysta z LuCi to je musi sobie wpisać z palca ?

10

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Gargoyle definiuje już routing (jak wybierzesz to sobie w gui). Luci nie m takiego wizarda i wszystko musisz ustawiać ręcznie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Coś nadal jest nie tak po zmianie na eth0.2 nadal się nie łączy. Chyba że muszę zrobić restart

12

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Po restarcie klienta już teraz po adresie 10.8.0.10:1120 mogę się zalogować do kamery ale nadal po 192.168.2.1 nie ma Gargolyle i 192.168.2.199:1120 nie ma kamery chyba tak powinno być ?

13

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

route -n

z serwera i na kliencie. Konfigi openvpn z serwera i na kliencie. I mam wrażenie że robisz dwie różne rzeczy. ALBO przekierowanie portów wtedy dostajesz się po adresie serwera (tak jak masz teraz) ALBO odpowiednio routing wtedy dostajesz się po ip kamery (a tego pewnie nie zrobiłeś).

I na przyszłość: podawaj kompletne pliki konfiguracyjne które masz. "Zrobiłem wg poradnika" nic nie daje, bo nie masz dokładnie takiej samej konfiguracji jak w poradniku tylko masz miks wraz ze swoją, a to nie jest to samo.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Klient

root@Gargoyle:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.8.1     0.0.0.0         UG    0      0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
89.228.196.178  192.168.8.1     255.255.255.255 UGH   0      0        0 eth1
128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
192.168.1.0     10.8.0.1        255.255.255.0   UG    0      0        0 tun0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

Config OpenVPN

config openvpn 'custom_config'
    option script_security '3'
    option up '/etc/openvpn.up'
    option down '/etc/openvpn.down'
    option config '/etc/openvpn/grouter_client_xxzqdvftjbal.conf'
    option enabled '0'

config openvpn 'sample_server'
    option enabled '0'
    option port '1194'
    option proto 'udp'
    option dev 'tun'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/server.crt'
    option key '/etc/openvpn/server.key'
    option dh '/etc/openvpn/dh1024.pem'
    option server '10.8.0.0 255.255.255.0'
    option ifconfig_pool_persist '/tmp/ipp.txt'
    option keepalive '10 120'
    option compress 'lzo'
    option persist_key '1'
    option persist_tun '1'
    option user 'nobody'
    option status '/tmp/openvpn-status.log'
    option verb '3'

config openvpn 'sample_client'
    option enabled '0'
    option client '1'
    option dev 'tun'
    option proto 'udp'
    list remote 'my_server_1 1194'
    option resolv_retry 'infinite'
    option nobind '1'
    option persist_key '1'
    option persist_tun '1'
    option user 'nobody'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/client.crt'
    option key '/etc/openvpn/client.key'
    option compress 'lzo'
    option verb '3'

config openvpn 'fido'
    option enabled '1'
    option dev 'tun0'
    option proto 'udp'
    option log '/tmp/openvpn.log'
    option verb '3'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/fido.crt'
    option key '/etc/openvpn/fido.key'
    option client '1'
    option remote_cert_tls 'server'
    option remote 'fidob.ddns.net 1194'

Serwer

root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         89.228.192.1    0.0.0.0         UG    0      0        0 eth0.2
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
89.228.192.0    0.0.0.0         255.255.224.0   U     0      0        0 eth0.2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Config OpenVPN

config openvpn 'custom_config'
    option enabled '0'
    option config '/etc/openvpn/my-vpn.conf'

config openvpn 'sample_server'
    option enabled '0'
    option port '1194'
    option proto 'udp'
    option dev 'tun'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/server.crt'
    option key '/etc/openvpn/server.key'
    option dh '/etc/openvpn/dh1024.pem'
    option server '10.8.0.0 255.255.255.0'
    option ifconfig_pool_persist '/tmp/ipp.txt'
    option keepalive '10 120'
    option compress 'lzo'
    option persist_key '1'
    option persist_tun '1'
    option user 'nobody'
    option status '/tmp/openvpn-status.log'
    option verb '3'

config openvpn 'sample_client'
    option enabled '0'
    option client '1'
    option dev 'tun'
    option proto 'udp'
    list remote 'my_server_1 1194'
    option resolv_retry 'infinite'
    option nobind '1'
    option persist_key '1'
    option persist_tun '1'
    option user 'nobody'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/client.crt'
    option key '/etc/openvpn/client.key'
    option compress 'lzo'
    option verb '3'

config openvpn 'home'
    option enabled '1'
    option dev 'tun0'
    option port '1194'
    option proto 'udp'
    option log '/tmp/openvpn.log'
    option verb '3'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/serwer.crt'
    option key '/etc/openvpn/serwer.key'
    option server '10.8.0.0 255.255.255.0'
    option dh '/etc/openvpn/dh.pem'
    option client_config_dir '/etc/openvpn/ccd'
    option topology 'subnet'
    list push 'route 192.168.1.0 255.255.255.0'
    list push 'redirect-gateway def1'

15

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Nie masz routingu.

Robisz ALBO przekierowanie portów ("dostęp do kamery..." wg poradnika) ALBO "dostęp do sieci za klientem" wg poradnika - wtedy odwołujesz sie bezpośrednio po IP do urządzenia w sieci klienta. Oczywiście klient musi być gatewayem a kamera ma mieć poprawnie ustawionego gatewaya.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez fido 2020-03-17 10:20:03)

Odp: Konfiguracja klienta, serwera OpenVPN, dostęp do kamery i modemu jak ?

Rozumiem że albo jedno albo drugie ;-) nie można zjeść ciastka i mieć ciastka
Więc tak się zastanawiam jeśli mi działa dostęp do kamery to już to dla mnie wystarczające .Mam dostęp do routera klienta tez jest ok. pozostaję jeszcze rozpracowanie dostępu do modemu.