
У меня есть беспроводной 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 к удаленному серверу (рандевуНа локальном компьютере вы создаете псевдоним для домашнего маршрутизатора и используете публичный сервер для завершения подключения.