SSH (Secure Shell) — это мощный инструмент, обеспечивающий безопасную передачу данных, удаленные службы оболочки или выполнение команд, а также другие безопасные сетевые службы между двумя сетевыми компьютерами. В этом сообщении блога мы рассмотрим основы динамического туннелирования SSH и покажем вам, как его настроить, на дополнительных примерах.
Что такое динамическое туннелирование SSH?
Динамическое туннелирование — это функция SSH, которая позволяет пользователям перенаправлять весь свой сетевой трафик со своего локального компьютера на удаленный сервер, эффективно скрывая свой IP-адрес и шифруя свой сетевой трафик. С помощью динамического туннелирования пользователи могут получить доступ к веб-сайтам и сервисам, которые могут быть заблокированы в их собственных strong> страна или просто безопасно просматривать веб-страницы, не беспокоясь о прослушивании сети.
Пример настройки сети
Чтобы лучше понять, как работает динамическое туннелирование, давайте представим сценарий, в котором вы находитесь в локальной сети, которая блокирует доступ к определенным веб-сайтам. Чтобы обойти это ограничение, вы можете настроить SSH динамический туннель на удаленный сервер. сильный>. В этом примере мы будем использовать следующую конфигурацию сети:
- Локальный компьютер:192.168.1.100
- Удаленный сервер: 198.51.100.5
- Целевой веб-сайт: example.com
Настройка динамического туннелирования SSH
Чтобы настроить динамический туннель SSH, вам необходимо выполнить следующую команду на локальном компьютере:
$ ssh -D 9999 [email protected]
Параметр -D
используется для указания локальной динамической переадресации портов. В этом примере мы используем 9999
в качестве номера порта, но вы можете использовать любой неиспользуемый номер порта выше 1024
. user
— это имя пользователя на удаленном сервере, а 198.51.100.5
— это IP-адрес удаленного сервера.
После выполнения приведенной выше команды вам будет предложено ввести пароль удаленного сервера. После ввода пароля вы войдете на удаленный сервер, и ваш локальный компьютер сможет получить доступ в Интернет через удаленный сервер.
Настройка браузера
Теперь, когда динамический туннель настроен, вам нужно настроить браузер для использования динамического туннеля в качестве прокси. В большинстве браузеров это можно сделать, перейдя в настройки или настройки, а затем в сеть или прокси настройки. Здесь вам нужно будет добавить новый прокси со следующей информацией:
- Тип: SOCKS v5
- Адрес: 127.0.0.1
- Порт: 9999
После добавления нового прокси-сервера вы можете перейти на любой веб-сайт, и ваш трафик будет проксироваться через удаленный > сервер. В нашем примере, если вы попытаетесь получить доступ к example.com
, ваш браузер отправит запрос на удаленный сервер, который затем перенаправит его на целевой веб-сайт.
Расширенные примеры
До сих пор мы показали вам базовую настройку динамического туннеля SSH. В этом разделе мы покажем вам несколько расширенных примеров использования динамического туннелирования в различных сценариях.
- Проксирование определенного приложения
Если вы хотите проксировать только трафик определенного приложения, вы можете сделать это, указав параметры командной строки приложения при запуске команды ssh
. Например, если вы хотите проксировать трафик команды curl
, вы можете запустить следующую команду:
$ curl --socks5 127.0.0.1:9999 https://example.com
Проксирование нескольких портов
Если вам нужно проксировать несколько портов, вы можете сделать это, указав несколько параметров -D
в команде ssh
. Например, чтобы проксировать оба порта 9999
и 9998
, вы можете запустить следующую команду:
$ ssh -D 9999 -D 9998 [email protected]
Проксирование удаленных подсетей
В некоторых случаях может потребоваться прокси-трафик для всей подсети, а не только для вашего локального компьютера. Для этого вы можете использовать опцию -w
в команде ssh
. Например, если вы хотите проксировать трафик для подсети 192.168.1.0/24
, вы можете выполнить следующую команду:
$ ssh -w 0:1 [email protected]
Автоматизация настройки туннеля
Чтобы автоматизировать настройку динамического туннеля, вы можете создать сценарий, который будет запускать для вас команду ssh
. Вы также можете использовать такие инструменты, как autossh
, чтобы поддерживать работоспособность туннеля, даже если соединение потеряно. Например, чтобы запустить туннель с использованием autossh
, вы можете запустить следующую команду:
$ autossh -M 0 -D 9999 [email protected]
Заключение
В этом сообщении блога мы показали вам основы динамического туннелирования SSH и предоставили расширенные примеры того, как его настроить. Независимо от того, хотите ли вы обойти сетевые ограничения или просто безопасно просматривать веб-страницы, динамическое туннелирование — это мощный инструмент, который может помочь вам в достижении ваших целей. После небольшой настройки вы сможете пользоваться преимуществами безопасного и зашифрованного подключения к Интернету.