Есть способ нанести карту 127.0.0.1:3389
к 192.168.1.2:3389
(с iptables? То есть все подключения к localhost:3389
будет перенаправлен на мою машину в локальной сети?
Причина в следующем: мое приложение RDP для iPhone может выполнять SSH-туннелирование, но не предоставляет возможности для настройки параметров SSH. Итак, он подключается к моему маршрутизатору через SSH, устанавливает туннель к 127.0.0.1:3389, а затем пытается подключиться к localhost:3389
на айфоне. Потерпеть поражение.
Я не хочу запускать SSH-сервер на моем компьютере в локальной сети и вместо этого хочу использовать SSH-сервер маршрутизатора (Asus RT-N16 с Tomato). Это выполнимо? Это не работает:
$ iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 3389 -j DNAT --to-destination 192.168.1.2
В вашей команде iptables есть несколько ошибок:
1) вы пытаетесь поймать это в таблице OUTPUT, но для такого перенаправления вам нужно сделать это в PREROUTING
2) вы тоже не перенаправляете на порт. вы просто указываете iptables отправлять эти пакеты на определенный IP без указания порта.
Итак, ваша команда должна выглядеть так:
iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp --dport 3389 -j DNAT --to 192.168.1.2:3389
Мой iptables-fu может быть немного ржавым, поэтому вы, если он не работает, попробуйте запустить ту же команду и в таблице INPUT (-A INPUT). Если ничего не работает, кричите сюда, и мы найдем решение.