Мои соболезнования по поводу двойного NAT.
Если у вас есть root-доступ на VPS, попробуйте использовать переадресацию порта назначения с iptables (DNATing). На VPS выполните следующие команды
sysctl -w net.ipv4.ip_forward=1 #see link above to make this setting survive reboots iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination x.y.z.w
где eth0 - интернет-интерфейс VPS, а x.y.z.w
также IP-адрес вашего домашнего компьютера через туннель OpenVPN . Возможно, вам придется повторить приведенные выше команды с -p tcp
заменой на, -p udp
если пересылаемая служба требует как TCP, так и UDP. Если у вас есть политика по умолчанию DROP в вашей цепочке FORWARD (маловероятно), вам нужно что-то вроде iptables -A FORWARD -i eth0 -p tcp --dport 80 -d x.y.z.w -j ACCEPT
Совершенно другой способ выполнить переадресацию TCP-порта - использовать ssh
с этой -R
опцией. Выполните следующую команду на вашем домашнем компьютере
ssh -N -R *:3389:x.y.z.w:3389 user@m.n.o.p
где x.y.z.w
, как указано выше, m.n.o.p
это IP вашего VPS и user
ваш ssh логин на VPS. Вы должны установить GatewayPorts yes
в /etc/ssh/sshd_config
(и перезапустить sshd
) на VPS.