Туннелирование и перенаправление портов

Туннелирование и перенаправление портов Изучение

Процесс перенаправления сетевого трафика с одного порта на другой порт называется перенаправлением портов или туннелированием. Переадресация портов дает множество преимуществ, т.е. Ее можно использовать для безопасного обмена данными между двумя системами. Его также можно использовать для связи, которая невозможна в случаях, когда порт заблокирован, но к нему требуется доступ локально или удаленно. В этой статье представлен краткий обзор туннелирования и переадресации сетевого трафика локально и удаленно с использованием различных методов, например SSH Tunneling, Rinetd, ngrok.

Как работает туннелирование?

Туннелирование — это механизм, который защищает различные службы, запрещая доступ к ним напрямую извне. Он включает в себя получение трафика на одном порту и его пересылку на другой порт и может выполняться как локально, так и удаленно. Туннелирование — это метод перенаправления портов, который использует зашифрованные туннели в рамках протокола SSH. Туннелирование — это тип связи между двумя сетевыми устройствами с использованием SSH-соединения. SSH перехватывает сервисный запрос от клиента к хосту, а затем создает соединение, которое передает запрос на другую сторону соединения. На другой стороне SSH-соединения запрос расшифровывается для отправки на сервер приложений в удаленной системе.

Rinetd

Rinetd — это утилита, которая позволяет пользователю перенаправлять сетевой трафик с одного порта на другой. Это одна из наиболее распространенных утилит переадресации портов, поскольку она проста в использовании.

Например, рассмотрим сценарий, в котором сервер RDP (192.168.0.10) на порте 3389 недоступен из-за блокировки всего исходящего трафика из офисной системы (192.168.0.15), за исключением порта 80, и есть другая домашняя система (192.168.0.20), а также.

Ситуация может использовать домашнюю систему в качестве прокси с помощью Rinetd, так что она будет получать соединение с одного IP-адреса и порта и перенаправлять его на другой IP-адрес и номер порта. В системе Home настройте файл конфигурации rinetd следующим образом:

#bindaddress #bindport #connectaddress #connectport

192.168.0.20 80 192.168.0.10 3389

На офисном компьютере (192.168.0.15) попробуйте подключиться к RDP через порт IP: (192.168.0.20:80). Домашняя система будет получать соединение по адресу (192.168.0.20:80), но из-за переадресации портов она перенаправляет соединение с сервером RDP (192.168.0.10) на порт 3389. Следовательно, сервер RDP доступен из офиса системе, даже если весь исходящий трафик заблокирован.

Читайте также:  Изучите Python 3: основы Python в 7 задачах кодирования

Ngrok

Ngrok обеспечивает синхронизацию в реальном времени того, что работает на локальном хосте. Это позволяет общедоступному веб-сайту, работающему на нашем локальном хосте за NAT и межсетевыми экранами, через Интернет через безопасные туннели. Допустим, мы разрабатываем веб-сайт и тестируем его на нашем локальном хосте на порту 4444. Мы хотим поделиться им с кем-нибудь еще в демонстрационных целях. Мы можем поделиться им через GitHub и другие методы.

Но развертывание займет много времени, и изменения не будут происходить в реальном времени во всех местах. С ngrok любое изменение на локальном хосте отправит обновление на всех концах. Ngrok — это многоплатформенный сервис, доступный для загрузки на его официальном сайте.

Например, веб-сайт, работающий на localhost: 8080, может быть открыт для всех, у кого есть URL-ссылка. Используйте следующую команду для создания общедоступного URL-адреса:

ubuntu@ubuntu:~$./ngrok http 8080

SSH-туннелирование

SSH-туннелирование — лучший способ туннелировать порты от клиентской системы к серверной и наоборот. Чтобы использовать SSH для туннелирования портов, и на клиенте, и на сервере должен быть настроен SSH. Существует три типа туннелирования SSH: перенаправление локального порта, перенаправление удаленного порта, динамическое перенаправление портов.

Перенаправление локального порта

Перенаправление локальных портов — это метод обеспечения локального доступа к удаленным ресурсам. Эти ресурсы могут быть заблокированы или помещены за брандмауэр для ограничения локального доступа.

Синтаксис:

ubuntu@ubuntu:~$ ssh -L <local port>:<remote address>:<remote port> username@host.com

Рассмотрим сценарий, в котором удаленный рабочий стол необходимо интегрировать в домашний компьютер из офисной системы. Но порт 3389 (RDP) заблокирован из соображений безопасности. Чтобы получить доступ к порту RDP, используйте SSH-туннелирование, чтобы перенаправить заблокированные порты на другой номер разблокированного порта. Это можно сделать с помощью следующей команды:

ubuntu@ubuntu:~$ ssh -L 4444:192.168.0.2:3389 home@192.168.0.2

Теперь в конфигурации RDP вместо IP-адреса или имени хоста можно записать localhost в столбце номера порта 4444 для доступа к домашнему RDP.

Читайте также:  Будущее разработки для настольных ПК

Перенаправление удаленного порта

Перенаправление удаленных портов — это метод удаленного доступа к локальным ресурсам. Допустим, компания хочет, чтобы сотрудник работал из офиса, и она ограничивает удаленный доступ к офисной системе, блокируя порт RDP (3389). В этом случае может пригодиться переадресация удаленного порта. В офисной системе используйте следующую команду:

ubuntu@ubuntu:~$ ssh -R 4444:localhost:3389 home@192.168.0.2

Это установит соединение. Теперь к рабочему компьютеру можно получить доступ из домашней системы с помощью RDP, введя localhost вместо IP-адреса или имени хоста со столбцом номера порта 4444 в конфигурации RDP.

Динамическая переадресация портов

Динамическая переадресация портов позволяет туннелировать несколько портов. В этом типе пересылки SSH действует как прокси-сервер. Допустим, сотрудники могут получить доступ к Интернету через порт 80 из офисной системы из-за ограничений брандмауэра. Динамическая переадресация портов может помочь просматривать веб-страницы на 80-м порту как из дома. Используйте следующую команду ssh :

ubuntu@ubuntu:~$ ssh -D 4444 home@192.168.0.2

Приведенная выше команда создает прокси-сервер socks, для которого требуется настройка веб-браузера. Для Firefox: перейдите в настройки и нажмите «Открыть настройки прокси». Введите localhost в столбце прокси-сервера socks и укажите номер порта.

Приведенная выше команда создает прокси-сервер socks

Всякий раз, когда адрес вводится в строке URL-адреса, он будет отправлен на номер порта, указанный через SSH-туннель, и получен в нашей домашней системе.

Заключение

Туннелирование и перенаправление портов можно использовать для безопасного доступа к сетевому трафику через брандмауэры. SSH Tunnels гарантирует, что транзитные данные проходят через защищенный туннель, чтобы их нельзя было перехватить или перехватить. Он также позволяет вам устанавливать VPN-соединения и получать доступ к данным анонимно или из безопасного или недоступного места из-за брандмауэра. В статье обсуждаются различные сценарии, требующие использования механизма, помогающего получить доступ к нужным ресурсам локально или удаленно через Rinetd, Ngrok и SSH Tunneling.

Оцените статью
bestprogrammer.ru
Добавить комментарий