У мене є сервер NAS, для якого я повинен виконати перенаправлення портів, щоб зробити його служби доступними з Інтернету. Однак мій провайдер блокує порти, тому мені вдалося придбати собі дешевий Ubuntu VPS, щоб запустити там сервер OpenVPN, а потім якось перенаправити туди весь трафік NAS і необхідні порти Моє налаштування таке: | Распі | (192.168.0.101/24)| |(192.168.1.1/24) (192.168.0.1/24) APwlan0 eth0NAS (192.168.1.102/24) | \ / | |iptables і механізм маршрутизації{tun0} | | 10.8.0.6 | Я вважаю, що сторона VPS налаштована правильно, оскільки я можу підключитися до свого Raspberry Pi через SSH за допомогою своєї IP-адреси VPS. Ось що я там зробив, щоб це запрацювало: iptables -t nat -A ПОПЕРЕДНЯ МАРШРУТИЗАЦІЯ -d A.B.C.D -p tcp --dport 22 -j DNAT --to-dest 10.8.0.6:22 iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 22 - j SNAT --до джерела 10.8.0.1 Конфігурація мого сервера OpenVPN: порт X proto udp dev tun ca ca.crt cert server.crt ключ server.key dh dh2048.pem сервер 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt client-config-dir ccd push "redirect-gateway def1 bypass -dhcp"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3 Я також зробив: sysctl -w net.ipv4.ip_forward=1 і поставити DEFAULT_FORWARD_POLICY="ПРИЙНЯТИ"в /etc/default/ufw, а також додано # ЗАПУСТИТИ ПРАВИЛА OPENVPN # Правила таблиці NAT *nat :POSTROUTING ACCEPT [0:0] # Дозволити трафік від клієнта OpenVPN до eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE# КІНЧИТИ ПРАВИЛА OPENVPN до /etc/ufw/before.rules Конфігурація клієнта OpenVPN: client dev tun proto udp remote A.B.C.D X resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ns-cert-type server comp-lzo verb 3 XXX YYY ZZZ Як мені перенаправити трафік eth0 на tun0 і переслати порти Y і Z через тунель? Я просто знаю, що для інших портів мені слід переналаштувати мій VPS відповідно, як я зробив для порту 22.