Насколько вероятно, что вы порекомендуете FirstVDS своим друзьям?
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
×
ВЫ ПОСТАВИЛИ НАМ 8 ИЗ 10
×
«Хостер года»Национальная премия ЦОДы.рф
FirstVDS обладатель национальной премии ЦОДы.рф 2020/2021 в номинации «Хостер года»

FIRST VDS

Самый популярный VDS-хостинг в России

Внешний IP с помощью VDS путём создания SSH-туннеля

Статья давно не обновлялась, поэтому информация могла устареть.


В данной статье речь пойдёт о создании SSH-туннелей. Сначала нужно разобраться что же вообще такое SSH-туннелирование, и зачем оно нужно. А нужно оно вот зачем: a) Вам необходимо соединение между двумя машинами по защищённому каналу b) Вам необходимо использовать ресурсы машины (либо любого компьютера, который она видит) с серым (внутренним) IP извне, посредством дополнительного сервера (или VDS), у которого есть внешний (белый) статический IP-адрес. c) Другие ситуации (вообще это всё описано в man ssh).

Задача: Перенаправлять все соединения с 8181 TCP-порт машины (A), имеющую внешний ип 89.89.89.89, на 80 TCP-порт машины (B), которая находится за NAT'ом, и имеет в локальной сети IP 10.10.10.10.

Решение:

Логинимся на (B) и выполняем след команду

$ ssh -R 8181:localhost:80 root@89.89.89.89

The authenticity of host '89.89.89.89 (89.89.89.89)' can't be established. DSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '89.89.89.89' (DSA) to the list of known hosts. Password:


Система спросит, нужно ли продолжать соединение -- ответьте ей утвердительно (yes), и введите пароль пользователя root (или нужного) машины 89.89.89.89.

Всё, теперь при запросе http://89.89.89.89:8181/ будет открываться http://10.10.10.10

Собственно, вместо localhost:80 можно было указать любой из ип, которые видны машине 10.10.10.10.

P.S. Для того, чтобы SSH-соединение не рвалось при закрытии подключения с вашего ПК к машине (B), нужно поставить это соединение на screen.

$ pkg install screen $ screen Жмём Enter, после выполнения действий, описанных в статье, жмём Ctrl+A, Ctrl+D, пишем exit, и радуемся жизни.