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:18080OpenVPN
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.0Route –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-lanKLIENT
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.userfirewall.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:18080OpenVPN
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-lanProszę Was o pomoc i podpowiedz.
Pozdrawiam