1

Temat: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Witam
Potrzebuję uzyskać dostęp do serwera automatyki, który jest zlokalizowany w wewnętrznej sieci lan routera (internet Njumobile).
Aby uzyskać stały dostęp do tej automatyki postanowiłem przekierować port poprzez łączenie VPN do mojej sieci OpenVPN (publiczne IP) skonfigurowanej wg poradnika Cezarego "OpenWrt - konfiguracja serwera OpenVPN w trybie TUN" na serwerze TP-Link Archer C2600 (IP 192.168.2.254 - sieć serwera).
Starałem się zrobić to poprzez przekierowanie iptables zgodnie z akapitem "Przykłady - Dostęp do kamery za klientem"
Ze względu na fakt, że automatyka jeszcze nie jest w pełni wykonania, to tymczasowo starałem się sprawdzić konfigurację wstawiając kamerę IP zamiast serwera automatyki (interfejs www kamery na tym samym porcie i IP - IP 192.168.10.212 port 18080).

Na routerze Serwera internet działa i VPN również działa.
Klient D-Link DWR 921 (IP 192.168.10.254) łączy się z serwerem OpenVPN (IP 192.168.2.254) i jest możliwy ping w obie strony po sieci VPN (10.8.0.0 255.255.255.0).

Jednak nie umiem zalogować się do interfejsu www kamery, ani z internetu (IP publiczne), ani z wewnątrz sieci Serwera po IP VPN 10.8.0.6. Proszę Was o pomoc i odpowiedź, czy wybrane przeze mnie rozwiązanie jest właściwe a błąd jest w konfiguracji, czy też moje założenia są złe i w taki sposób to nie zadziała.

Poniżej cała konfiguracja .
SERWER
network

cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1.1'
        option proto 'static'
        option ipaddr '192.168.2.254'
        option netmask '255.255.255.0'
        option dns '1.1.1.1 1.0.0.1' 
        option force_link '1'
        option delegate '0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'pppoe'
        option username 'gpon.xxx.xxx.xxx'
        option password 'xxxx'
        option macaddr 'xx:xx:xx:xx:xx:xx'
        option peerdns '0'
        option delegate '0'

config interface 'vpn'
        option ifname 'tun0'
        option proto 'none'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 2 3 4 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'

firewall

cat /etc/config/firewall

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

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'
        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'

config rule
        option name 'luci_wan'
        option src 'wan'
        option target 'ACCEPT'
        option proto 'tcp'
        option dest_port '497'

config rule
        option name 'ssh_wan'
        option target 'ACCEPT'
        option src 'wan'
        option proto 'tcp'
        option dest_port '2922'

config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '2921'
        option dest_ip '192.168.2.240'
        option dest_port '2921'
        option name 'FTP_QNAP'

config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '51036-51080'
        option dest_ip '192.168.2.240'
        option dest_port '51036-51080'
        option name 'FTP_DATA'

config rule
        option name 'Lenovo_Szymon_Wifi'
        option src '*'
        option dest 'wan'
        option proto 'all'
        option target 'REJECT'
        option src_mac 'xx:xx:xx:xx:xx:xx'
        option start_time '21:55:00'
        option stop_time '06:45:00'
        option enabled '1'

config rule
        option name 'HP-ELITE-800-G1_Szymon'
        option src '*'
        option dest 'wan'
        option proto 'all'
        option target 'REJECT'
        option src_mac 'xx:xx:xx:xx:xx:xx'
        option start_time '21:55:00'
        option stop_time '06:45:00'
        option enabled '1'

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 'wan'

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

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

firewall.user

cat /etc/firewall.user

# Router jako serwer DNS 
iptables -t nat -I PREROUTING -s 192.168.2.0/24 -p udp --dport 53 -j DNAT --to 192.168.2.254
iptables -t nat -I PREROUTING -s 192.168.2.0/24 -p tcp --dport 53 -j DNAT --to 192.168.2.254

# Blokowanie IP w internecie Kamery
iptables -I FORWARD 1 -p udp -d 120.26.220.50 -j REJECT
iptables -I FORWARD 1 -p tcp -d 120.26.220.50 -j REJECT
iptables -I FORWARD 1 -p udp -d 112.124.113.64 -j REJECT
iptables -I FORWARD 1 -p tcp -d 112.124.113.64 -j REJECT
iptables -I FORWARD 1 -p udp -d 112.124.33.3 -j REJECT
iptables -I FORWARD 1 -p tcp -d 112.124.33.3 -j REJECT
iptables -I FORWARD 1 -p udp -d 120.26.207.204 -j REJECT
iptables -I FORWARD 1 -p tcp -d 120.26.207.204 -j REJECT
iptables -I FORWARD 1 -p udp -d 121.41.82.100 -j REJECT
iptables -I FORWARD 1 -p tcp -d 121.41.82.100 -j REJECT

# Blokowanie w internecie Kamery laczacej sie na zakresie portow docelowych 8000-9000
iptables -I FORWARD 1 -p udp -s 192.168.2.210 --dport 8000:9000 -j REJECT
iptables -I FORWARD 1 -p tcp -s 192.168.2.210 --dport 8000:9000 -j REJECT
iptables -I FORWARD 1 -p udp -s 192.168.2.211 --dport 8000:9000 -j REJECT
iptables -I FORWARD 1 -p tcp -s 192.168.2.211 --dport 8000:9000 -j REJECT
iptables -I FORWARD 1 -p udp -s 192.168.2.212 --dport 8000:9000 -j REJECT
iptables -I FORWARD 1 -p tcp -s 192.168.2.212 --dport 8000:9000 -j REJECT

# Blokowanie wejscia z Internetu do routera
iptables -I INPUT -s 198.20.69.72/24 -j DROP
iptables -I INPUT -s 198.20.70.111/24 -j DROP
iptables -I INPUT -s 198.20.99.128/24 -j DROP
iptables -I INPUT -s 93.120.27.62 -j DROP
iptables -I INPUT -s 66.240.236.119 -j DROP
iptables -I INPUT -s 71.6.135.131 -j DROP
iptables -I INPUT -s 66.240.192.138 -j DROP
iptables -I INPUT -s 71.6.167.142 -j DROP
iptables -I INPUT -s 82.221.105.6 -j DROP
iptables -I INPUT -s 82.221.105.7 -j DROP
iptables -I INPUT -s 71.6.165.200 -j DROP
iptables -I INPUT -s 188.138.9.50 -j DROP
iptables -I INPUT -s 85.25.103.50 -j DROP
iptables -I INPUT -s 85.25.43.94 -j DROP
iptables -I INPUT -s 71.6.146.185 -j DROP
iptables -I INPUT -s 71.6.146.186 -j DROP
iptables -I INPUT -s 71.6.158.166 -j DROP
iptables -I INPUT -s 198.20.87.96/24 -j DROP
iptables -I INPUT -s 66.240.219.146 -j DROP
iptables -I INPUT -s 209.126.110.38 -j DROP
iptables -I INPUT -s 104.236.198.48 -j DROP
iptables -I INPUT -s 104.131.0.69 -j DROP
iptables -I INPUT -s 162.159.244.38 -j DROP
iptables -I INPUT -s 159.203.176.62 -j DROP
iptables -I INPUT -s 188.138.1.119 -j DROP
iptables -I INPUT -s 80.82.77.33 -j DROP
iptables -I INPUT -s 80.82.77.139 -j DROP
iptables -I INPUT -s 71.6.146.130 -j DROP
iptables -I INPUT -s 216.117.2.180 -j DROP
iptables -I INPUT -s 93.174.95.106 -j DROP
iptables -I INPUT -s 185.163.109.66 -j DROP
iptables -I INPUT -s 93.174.95.106 -j DROP
iptables -I INPUT -s 89.248.167.131 -j DROP
iptables -I INPUT -s 94.102.49.190 -j DROP
iptables -I INPUT -s 94.102.49.193 -j DROP
iptables -I INPUT -s 185.181.102.18 -j DROP

# Przekierowanie portu na Serwer automatyki na Dlink
iptables -I FORWARD -i eth0.2 -p tcp -d 10.8.0.6 --dport 18080 -j ACCEPT
iptables -t nat -I PREROUTING -i eth0.2 -p tcp --dport 18080 -j DNAT --to-destination 10.8.0.6:18080

OpenVPN

cat /etc/config/openvpn

config openvpn 'home'
        option enabled '1'
        option dev 'tun0'
        option port '443'
        option proto 'udp'
        option log '/tmp/openvpn_server.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/dh2048.pem'
        option client_config_dir '/etc/openvpn/ccd'
        option topology 'subnet'
        list push 'route 192.168.2.0 255.255.255.0'
        option compress 'lz4'
        option inactive '3600'
        option keepalive '10 120'

Plik /etc/openvpn/ccd/xiaomi_miwifi

        cat /etc/openvpn/ccd/xiaomi_miwifi
        ifconfig-push 10.8.0.6 255.255.255.0

Route –n

route -n    
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.xx.13   0.0.0.0         UG    0      0        0 pppoe-wan
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
xxx.xxx.xx.13   0.0.0.0         255.255.255.255 UH    0      0        0 pppoe-wan
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan

KLIENT
network

cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fda1:d81b:5ce3::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.10.254'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr 'xx:xx:xx:xx:xx:xx'

config device 'wan_dev'
        option name 'eth0.2'
        option macaddr 'xx:xx:xx:xx:xx:xx'

config interface 'wan6'
        option ifname 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '4 6t'

config interface 'wan'
        option apn 'internet'
        option device '/dev/cdc-wdm0'
        option proto 'qmi'

Firewall

cat /etc/config/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 forwarding
        option src              vpn
        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

# Allow IPv4 ping
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

# Allow essential incoming IPv6 ICMP traffic
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

# Allow essential forwarded IPv6 ICMP traffic
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

# include a file with users custom iptables rules
config include
        option path /etc/firewall.user

firewall.user

cat /etc/firewall.user
# Dostep do serwera automatyki
iptables -I FORWARD -i tun0 -p tcp -d 192.168.10.212 --dport 18080 -j ACCEPT
iptables -t nat -I PREROUTING -i tun0 -p tcp --dport 18080 -j DNAT --to-destination 192.168.10.212:18080

OpenVPN

cat /etc/config/openvpn

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

config openvpn 'archer_c2600_tun'
        option enabled '1'
        option dev 'tun0'
        option proto 'udp'
        option log '/tmp/openvpn_xiaomi_miwifi.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/xiaomi_miwifi.crt'
        option key '/etc/openvpn/xiaomi_miwifi.key'
        option client '1'
        option remote_cert_tls 'server'
        option remote 'xxx.xxx.xxx.xxx 443'
        option compress 'lz4'
        option ping '15'
        option ping_restart '60'
        option inactive '3600'
        option auth_nocache '1'

Route –n

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.139.101.120  0.0.0.0         UG    0      0        0 wwan0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
10.139.101.112  0.0.0.0         255.255.255.240 U     0      0        0 wwan0
192.168.2.0     10.8.0.1        255.255.255.0   UG    0      0        0 tun0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Proszę Was o pomoc i podpowiedz.

Pozdrawiam

2 (edytowany przez Cezary 2019-07-15 15:04:19)

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Tak kontrolnie zapytam - kamera ma poprawnie ustawionego gatewaya?

Zamiast bawić się w przekierowanie portów zrób po prostu "Dostęp do sieci LAN klienta"

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

3 (edytowany przez damrom 2019-07-16 06:48:42)

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Tak. Kamera ma poprawnie ustawionego gateway'a:

Ethernet         Card WIRE
Mode             Static
IP Address       192.168.10.212
Subnet Mask      255.255.255.0
Default Gateway  192.168.10.254
Preferred DNS    192.168.10.254
Alternate DNS    192.168.10.254

Nie chcę tworzyć dostępu do sieci za routerem klienta, ponieważ potrzebuję tylko jeden port do komunikacji.
Chcę "grzecznościowo" umożliwić koledze dostęp do jego automatyki. Z tego tytułu nie chcę tworzyć dostępu z jego sieci do mojej i odwrotnie.

Ale jeżeli to jest problematyczne z udziałem przekierowania, to będę musiał się zastanowić na konfiguracją, którą proponujesz.

1. Czy składnia wpisana routerze Serwera i Klienta w "firewall.user" jest poprawna?
2. Czy logując się po wifi do sieci routera Klienta i wpisując w przeglądarkę 10.8.0.6:18080 powinienem dostać stronę www kamery?

4

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

2. Logując się do serwera nie klienta. Jak jesteś zalogowany do klienta to odwołujesz się normalnie do kamery, 192.168.10.212:18080

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

5

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Dziękuję za odpowiedzi.

Wiem, że przez adres kamery wejdę bezpośrednio. Chciałem sprawdzić na początku, czy działa przekierowanie z VPN (10.8.0.0) do sieci Klienta (192.168.10.000).

Jeżeli jednak decydowałbym się na bardziej rozbudowaną konfigurację z Dostępem do sieci Klienta (192.168.10.000), to:
1. Czy, aby łączyć się do kamery bezpośrednio poprzez IP Publiczne serwera VPN, to również będę potrzebował zrobić przekierowanie, które w obecnej konfiguracji nie działa?
2. Czy jest możliwe takie ograniczenie komunikacji między tymi sieciami lan, aby z sieci Klienta (192.168.10.000) nie było dostępu do urządzeń sieci Serwera (192.168.2.000)?
3. Czy jest możliwe takie ograniczenie komunikacji między tymi sieciami lan, aby z sieci Serwera (192.168.2.000) nie było dostępu do urządzeń sieci Klienta (192.168.10.000), oczywiście poza routerem Klienta i tym Ip Kamery?

6

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

1. Tak. Serwer to serwer, porty wejściowe są jego a nie tunelu vpn. Więc jak chcesz uzyskać jakąkolwiek usługę na portach serwera to musisz ją wystawić przez zrobienie odpowiedniego przekierowania w tym przypadku
2. Tak, masz cały iptables/ebtables/nftables. Co zrobisz i jak zrobisz to już zależy tylko od Ciebie.
3. j/w Jak zrobisz tak będziesz miał.

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

7

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

W związku trudnością z przekierowaniem iptables, zrobiłem sugerowaną przez Ciebie konfigurację "Dostęp do sieci LAN klienta" (zgodnie z Twoim opisem):
OpenVPN - Serwer

config openvpn 'home'
    option enabled '1'
    option dev 'tun0'
    option port '443'
    option proto 'udp'
    option log '/tmp/openvpn_server.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/dh2048.pem'
    option client_config_dir '/etc/openvpn/ccd'
    option topology 'subnet'
    list push 'route 192.168.2.0 255.255.255.0'
    list push 'route 192.168.10.0 255.255.255.0'
    option compress 'lz4'
    option inactive '3600'
    option keepalive '10 120'
    list route '192.168.10.0 255.255.255.0'
    option client_to_client '1'

Routing specyficzny dla klienta:

    ifconfig-push 10.8.0.6 255.255.255.0
    iroute 192.168.10.0 255.255.255.0

Dodałem do network Klienta:

config interface 'vpn'
    option ifname 'tun0'
    option proto 'none'

Dodałem do firewall Klienta:

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'

I działa to poprzez połączenie VPN:
Serwer

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.xx.13   0.0.0.0         UG    0      0        0 pppoe-wan
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
xxx.xxx.xx.13   0.0.0.0         255.255.255.255 UH    0      0        0 pppoe-wan
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.10.0    10.8.0.2        255.255.255.0   UG    0      0        0 tun0

Klient

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.139.249.209  0.0.0.0         UG    0      0        0 wwan0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
10.139.249.208  0.0.0.0         255.255.255.252 U     0      0        0 wwan0
192.168.2.0     10.8.0.1        255.255.255.0   UG    0      0        0 tun0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Zrobiłem też przekierowanie z "wan" Serwera do sieci "lan" Klienta (na razie na serwer, bo nie mam teraz nic podłączone do sieci routera Klienta):

config redirect
    option target 'DNAT'
    option src 'wan'
    option dest 'vpn'
    option proto 'tcp udp'
    option src_dport '499'
    option dest_ip '192.168.10.254'
    option dest_port '499'
    option name 'ROUTER_KLIENT_LAN'

I działa - da się przez IP publiczne Serwera (port 499) zalogować na router Klienta.


I mam zatem jeszcze jedno pytanie: Jak zablokować ruch z sieci lan Klienta do sieci lan Serwera?
Zrobiłbym to poprzez iptables. Jak mojej konfiguracji wyglądałaby składnia takiego polecenia?

8

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

iptables -I FORWARD -p tcp -s 192.168.10.0/24 -d 192.168.2.0.24 -j REJECT
iptables -I FORWARD -p tcp -d 192.168.10.0/24 -s 192.168.2.0/24 -j REJECT

Tylko sobie wcześniej zezwól na ruch do serwera czy co tam potrzebujesz. Generalnie - iptables twoim przyjacielem.

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

9 (edytowany przez damrom 2019-07-17 11:33:10)

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Rozumiem, że to należy wrzucić do firewall.user na Serwerze? Czy na routerze Klienta też?

10

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Dla bezpieczeństwa - i tu i tu.

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

11

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Dzięki serdeczne - działa.
Interfejsy www urządzeń nie są dostępne. Musiałem dodać po obu stronach (i Serwer, i Klient), aby działało.
Dodałem do tcp i udp:

iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d 192.168.10.0/24 -j REJECT
iptables -I FORWARD -p tcp -s 192.168.10.0/24 -d 192.168.2.0/24 -j REJECT
iptables -I FORWARD -p udp -s 192.168.2.0/24 -d 192.168.10.0/24 -j REJECT
iptables -I FORWARD -p udp -s 192.168.10.0/24 -d 192.168.2.0/24 -j REJECT

Pingi do urządzeń z jednej sieci lan do drugiej jednak przechodzą. Czy to normalne?

12

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Tak, ponieważ.... zablokowałeś tcp i udp, a nie icmp.

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

13

Odp: OpenVPN - Dostęp do urządzenia za klientem (przekierowanie - 1 port)

Dzięki za pomoc. Muszę się jeszcze podszkolić z iptables.