Я должен просмотреть несколько веб-сайтов (которые также имеют содержание флэш-памяти) через мой домашний Интернет, в то время как я нахожусь в своем месте работы. Таким образом с серверов веб-сайта они видят только доступ от моего домашнего IP.
Ни на одних компьютерах дома и офиса нет никакого прямого внешнего общедоступного IP-адреса, и у меня нет доступа к маршрутизаторам ни для каких изменений (NAT/portforwarding, и т.д.).
У меня также есть свой собственный сервер на облаке с общедоступным внешним IP, который я могу использовать для создания этого маршрута. Мы можем установить любое программное обеспечение на домашнем компьютере, офисном компьютере и cloudserver.
Я нашел несколько полезных ссылок:
Как я настраиваю локальный прокси SOCKS, который туннелирует трафик через SSH?
http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel
Но не мог придумать полную конфигурацию для моего случая. Вы могли сообщить мне то, что опции там для этой проблемы?
Внешний сервер, конечно, дает опции, но я хотел бы исследовать прямые подключения сначала.
Они быстрее и обычно более надежны. Они действительно однако требуют, чтобы IP соединился и маршрутизация в другом конце для получения соединения с маршрутизатора на сервер. Вы говорите, что у Вас нет их, но я думаю, что Вы могли бы пропускать опции.
Мне трудно (не невозможный) полагать, что у Вас нет легального IP. Большинство домашних соединений имеет тот. Маршрутизатор получает его и использует NAT и DHCP, чтобы дать Вам частного внутреннего дюйм/с. В то время как дома можно попросить у Google IP-адреса, и он должен сказать Вам.
Много домашних соединений использует динамическую IP-адресацию, означающую, что Ваш IP изменится на расписании, определенном Вашим ISP. Можно работать вокруг этого при помощи одной из многих динамических опций DNS.
Маршрутизация более трудна. Традиционно я попросил бы, чтобы Вы передали порт путем вхождения в маршрутизатор. Вы говорите, что не можете сделать этого... Таким образом что относительно UPNP? Большому количеству маршрутизаторов включили это по умолчанию, и это по существу позволяет Вам делать то же самое. Вы арендуете порт у маршрутизатора. Установка этого в Ubuntu довольно проста:
sudo apt-get install miniupnpc
upnpc -a <local_ip> 22 22 TCP
Затем внешние машины могут получить доступ к Вашему серверу SSH через Ваш общедоступный IP.
Приводя это к сбою, Вы могли создать постоянное соединение со своего домашнего компьютера на внешний сервер, который туннелировал назад порт к серверу SSH, работающему на Вашем домашнем компьютере. Затем люди могли соединиться с Вами домой через Ваш сервер. Я назвал это обратное туннелирование порта.
ssh -L 22:0.0.0.0:2200 serveruser@server
выставить Ваш дом SSH серверу. Необходимо будет, вероятно, также отредактировать /etc/ssh/sshd_config
и включите GatewayPorts
(см. это),ssh -D -p2200 homeuser@server
Конечно, можно найти, что соединение с дома на сервер останавливается или испытывает таймаут. Существуют различные варианты для работы вокруг этого.
С любой опцией Вы выставляете серьезно большую дверь в свою систему. Займитесь безопасными вычислениями и следуйте моему учебному руководству при создании более безопасного SSH.