Как перенаправить жестко закодированный URL-адрес на установленный туннель SSH

Как перенаправить жестко закодированный URL-адрес на установленный туннель SSH

У меня есть беспроводной USB-модем, в котором жестко прописан URL для его GUI. Модем обычно доступен через IP 192.168.9.1 из LAN. Этот модем подключен к маршрутизатору за NAT.

Мне нужно получить доступ к этому GUI через интернет (также есть общедоступный IP-сервер), и я пытаюсь добиться этого, используя как SSH-туннель, так и IPTABLES. Я думаю, что не могу использовать простое IP-туннелирование, поскольку GET-запрос из интернета в GUI немедленно пытается быть перенаправлен на жестко закодированный URL этим модемом.

SSH-туннель уже настроен и работает следующим образом:

10888:localhost:80 publicIPserver.com

Я пробовал много правил IPTABLES как PREROUTING, так и OUTPUT, но не могу подключиться. Либо сеанс немедленно сбрасывается, либо идет бесконечный тайм-аут.

iptables -t nat -A PREROUTING -p tcp -d 127.0.0.1 --dport 10888 -j DNAT --to 192.168.9.1:80
iptables -t nat -A OUTPUT -d 127.0.0.1 -p tcp --dport 10888 -j DNAT --to 192.168.9.1:80

Будем признательны за любые указания, как заставить это работать.

решение1

На компьютере за маршрутизатором:

ssh -R:9999:192.168.0.1:80 [email protected]

На локальном компьютере:

ifconfig eth0:1 192.168.0.1
ssh -L 80:127.0.0.1:9999 [email protected]

В этом случае вы создадите туннель из среды NAT к удаленному серверу (рандевуНа локальном компьютере вы создаете псевдоним для домашнего маршрутизатора и используете публичный сервер для завершения подключения.

Связанный контент