Тариф успешно добавлен в корзину
В корзину
url image

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

В данной статье речь пойдёт о создании реверсивного SSH-туннеля для внешнего доступа к ресурсам сервера, находящегося за NAT. Сначала нужно разобраться, что же такое SSH-туннелирование, и зачем оно нужно. А нужно оно вот зачем: 

  • Вам необходимо соединение между двумя машинами по защищённому каналу,
  • Вам необходимо использовать ресурсы машины (либо любого компьютера, который она видит) с серым (внутренним) IP извне, посредством дополнительного сервера (или VDS), у которого есть внешний (белый) статический IP-адрес.

Узнать больше про 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 можно было указать любой из IP, которые видны машине 10.10.10.10.

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

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

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!