Лайфхаки

Маленькие, полезные хитрости

Удаленный доступ через HTTP и SOCKS5 прокси к компьютеру. SSH socks-прокси

14.12.2022 в 09:39

Удаленный доступ через HTTP и SOCKS5 прокси к компьютеру. SSH socks-прокси


Функция SSH Proxy под номером 1 по уважительной причине. Она более мощная, чем многие предполагают, и даёт вам доступ к любой системе, к которой имеет доступ удалённый сервер, используя практически любое приложение. Клиент ssh может туннелировать трафик через прокси-сервер SOCKS одной простой командой. Важно понимать, что трафик к удалённым системам будет исходить от удалённого сервера, так будет указано в логах веб-сервера.

localhost:~$ ssh -D 8888 user@remoteserver localhost:~$ netstat -pan | grep 8888 tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 23880/ssh

Здесь мы запускаем socks-прокси на TCP-порту 8888, вторая команда проверяет, что порт активен в режиме прослушивания. 127.0.0.1 указывает, что служба работает только на localhost. Мы можем применить немного другую команду для прослушивания всех интерфейсов, включая ethernet или wifi, это позволит другим приложениям (браузерам и т д.) в нашей сети подключаться к прокси-сервису через ssh socks-прокси.

localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver

Теперь можем настроить браузер для подключения к socks-прокси. В Firefox выберите Настройки | Основные | Параметры сети . Укажите IP-адрес и порт для подключения.Обратите внимание на опцию в нижней части формы, чтобы DNS-запросы браузера тоже шли через прокси SOCKS. Если используете прокси-сервер для шифрования веб-трафика в локальной сети, то наверняка захотите выбрать эту опцию, чтобы DNS-запросы туннелировались через SSH-соединение.

Активация socks-прокси в Chrome

Запуск Chrome с определёнными параметрами командной строки активирует socks-прокси, а также туннелирование DNS-запросов из браузера. Доверяй, но проверяй. Используйтедля проверки, что DNS-запросы больше не видны.

localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"

Имейте в виду, что многие другие приложения тоже могут использовать socks-прокси. Веб-браузер просто самое популярное из них. У некоторых приложений есть параметры конфигурации для активации прокси-сервера. Другим нужно немного помочь вспомогательной программой. Например,позволяет запустить через socks-прокси Microsoft RDP и др.Параметры конфигурации socks-прокси задаются в файле конфигурации proxychains.Вы сидите в кафе или гостинице — и вынуждены использовать довольно ненадёжный WiFi. С ноутбука локально запускаем ssh-прокси и устанавливаем ssh-туннель в домашнюю сеть на локальный Rasberry Pi. Используя браузер или другие приложения, настроенные для socks-прокси, мы можем получить доступ к любым сетевым службам в нашей домашней сети или выйти в интернет через домашнее подключение. Всё между вашим ноутбуком и домашним сервером (через Wi-Fi и интернет до дома) зашифровано в туннеле SSH.

Удаленный доступ по статическому ip. Настройка интернет подключения к удаленному компьютеру

Существует два способа как подключить удаленный доступ к компьютеру через интернет. Вы можете создать канал VPN – тогда устройства смогут видеть друг друга так, как будто те находятся в одной сети. Также есть возможность перенаправить порт 3389 в локальную сеть и изменить динамический IP адрес удалённого компьютера на статический.

Создание VPN-канала в Windows

На удалённом устройстве нужно произвести следующие действия:

  1. В настройках параметров адаптера найдите папку «Сетевые подключения»:

2. После того, как вы нажали кнопку Alt на клавиатуре, щёлкните по разделу «Файл» и выберите опцию «Новое входящее подключение»:

3. Выберите пользователей компьютера, которым вы даёте разрешение на подключение:

  1. Обозначьте способ подключения «через Интернет». Затем разрешите доступ нажатием соответствующей кнопки.

После всех действий в папке сетевых подключений вы увидите значок «Входящие подключения» — это и есть новый VPN-канал. Для того, чтобы не произошло блокировки, создайте порт TCP 1723. Если же сервис получил локальный IP-адрес, то необходимо будет перенаправить его во внешнюю сеть.

Vpnki. Важно знать!

Через наши VPN соединения НЕТ доступа в Интернет. Всем интересующимся сменой IP адреса и доступом к заблокированным сайтам - ищите другой сервис.

Перед началом настройки вам желательно знать:

1. Адресацию устройств домашней сети в формате адрес сети / маска. Н апример 192.168.0.0/24 или, в другой форме записи, сеть 192.168.0.0 маска 255.255.255.0.

Eсли вы хотите объединить две сети (например дачную и домашнюю), то сети должны иметь разную адресацию . Например 192.168.1.0/24 (домашняя сеть) и 192.168.2.0/24 (дачная сеть). Если у вас адресные пространства сетей совпадают, то выполните перенастройку одну из них.

2. Типы VPN протоколов в вашем устройстве. Мы поддерживаем:

PPTP. В двух вариантах. С шифрованием MPPE и аутентификацией по протоколу MS-CHAPv2. Без шифрования MPPE и с аутентификаций по протоколу CHAP.

L2TP. Тип аутентификации CHAP или MS-CHAPv2.

L2TP/IPsec . Тип аутентификации CHAP или MS-CHAPv2.

OpenVPN. С использованием сертификата сервера, логина и пароля. Поверх протоколов TCP или UDP на выбор. С шифрованием или без, тоже на выбор.

SSTP . Тип аутентификации MS-CHAPv2.

WireGuard. Одно соединение и пока оно без маршрутизации сети "за туннелем".

Вы можете использовать любой протокол подключения. Ваши VPN соединения будут объединены в единую сеть вне зависимости от используемого протокола.

3. Возможность поддержки вашими устройствами функции клиента протокола DHCP. Это может быть нужно для получения адресов и маршрутов от сервера VPNKI в автоматическом режиме.

Например, VPN клиенты Android 6.0 и выше или Linux не обладают штатной возможностью получения адреса и маршрутов по протоколу DHCP на туннельных интерфейсах. А вот клиенты Windows такой возможностью обладают.

Это означает, что для Android и Linux вам придется прописать вручную, в настройках соединения, следующие маршруты:

- 172.16.0.0 / 16 к сети VPNKI (обязательно).

- маршрут к вашей удаленной домашней сети. Например, 192.168.x.x / x или 10.x.x.x / x (в случае необходимости).

Более подробно об этом смотрите в инструкциях к устройствам на сайте системы.

Прокси с поддержкой udp. Nginx как аналог HAProxy. Проксируем любой TCP/UDP трафик с помощью nginx

Многие знают о существовании веб-сервера nginx, разработанного российским программистом Игорем Сысоевым, однако не все подозревают, насколько действительно мощным функционалом этот веб-сервер обладает.

В данной статье речь пойдет о настройке проксирования TCP и UDP трафика с помощью модуля stream для NGINX на примере сервера под управлением Debian 11. Этот способ подойдет и для других Debian-based дистрибутивов (Ubuntu и пр.), однако для некоторых прочих дистрибутивов может потребоваться ручная компиляция nginx с нужным модулем, если в пакетной базе не найдется готового модуля. В случае с CentOS (и его альтернативами) модуль stream можно установить командой yum install nginx-mod-stream .

Команда aeza.net рекомендует использование nginx вместо HAProxy из-за того, что nginx обладает более высокой производительностью и отлично работает в многопоточном режиме.

Итак, предполагается, что мы уже подключены к серверу и готовы начать установку необходимого ПО. Если nginx еще не установлен на сервере, то выполним его установку стандартным способом с помощью пакетного менеджера:

  1. Обновим информацию о пакетах командой apt update
  1. Установим nginx командой apt install nginx - y

После установки nginx можно приступать к его конфигурации в качестве прокси-сервера:

  1. Перейдем в директорию nginx, где создадим конфиг прокси-сервера:

cd /etc/nginx/modules-available

Внимание: в случае с CentOS и его альтернативами необходимо использовать директорию / usr / share / nginx / modules

  1. Откроем для редактирования новый конфиг с помощью любого удобного текстового редактора, в данном примере это nano:

nano proxy.conf

  1. Базовый конфиг для проксирования TCP трафика выглядит следующим образом:

stream {     server {         listen 25565; #Указываем nginx прослушивать порт 25565 (TCP)         proxy_pass IP:15555; #Указываем, куда будет направляться трафик     } }

Базовый конфиг для проксирования UDP :

stream {     server {         listen 27015 udp reuseport;         proxy_pass IP:17777;     } }

  1. В параметре proxy _ pass вместо IP необходимо указать IP-адрес проксируемого сервера, на который будет перенаправлять запросы nginx, а также при необходимости можно изменить порты.
  2. Сохраним конфиг, после чего активируем его следующей командой ( не требуется в случае с CentOS ):

ln -s /etc/nginx/modules-available/proxy.conf /etc/nginx/modules-enabled/proxy.conf

  1. Перезапустим nginx для применения изменений с помощью команды nginx - s reload
  2. Готово, прокси-сервер настроен и запущен.

Для проверки работы нашего прокси-сервера запустим на проксируемом (конечном) сервере прослушивание порта 15555 ( TCP ) и попробуем отправить любую информацию на порт 25565 по IP-адресу сервера с nginx:

Консоль конечного сервера, на который перенаправляет запросы настроенный ранее прокси.

Из вывода команды видим, что запрос с прокси-сервера перенаправился на порт 15555 конечного сервера, IP-адрес которого указывается в конфиге proxy.conf, то есть проксирование работает корректно.

Белый ip через vpn. Реальный IP-адрес (Так же известен, как "Внешний IP-адрес", "Белый IP-адрес" или "Прямой IP-адрес")

При подключении к нашему VPN серверу при подключенной услуге "постоянный выделенный IP" , компьютеру выдается постоянный Реальный IP-адрес, через который он и будет взаимодействовать с сетью Интернет. Компьютер будет полностью доступен по этому IP адресу из любой точки сети Интернет, с любого компьютера подключенного к Интернету. Основные преимущества, которые получает пользователь имеющий фиксированный публичный (реальный) IP-адрес:

  • Возможность запуска любых серверных приложений, видимых в сети Интернет, таких как web сервер, игровой сервер, почтовый сервер, IRC сервер …. К примеру Вы можете разместить на этом адресе Ваш веб сайт, при этом он будет располагаться на Вашем компьютере, а не у хостера - это огромный плюс. Это сравнимо с услугой colocation - размещение собственного оборудования в дата центре провайдера. Но имеет важный плюс - Вы сами гарантируете себе, что ни кто не сможет придти и скопировать содержимое жесткого диска Вашего сервера.
  • При установке на Android смартфоне L2TP соединения возможна организация
  • Возможность более безопасного доступа к онлайн банкингу - Вы указываете при регистрации доступа в банке Ваш постоянный IP, и это будет служить дополнительной гарантией безопасности. Даже если кто-то сможет похитить Ваши логин и пароль, зайти на Ваш счет он сможет только с Вашего IP, а это дополнительные и немалые трудности.
  • Возможность пользователям спутникового интернета выбирать любой тип подключения. Публичный ("белый") IP адрес необходим для следующих типов подключения к спутниковому интернету:
    • OpenSky :Подключение через PROXY/SOCKS OpenSky
    • SpaceGate: VPN BEST
    • PlanetSky: Соединение через Proxy-сервер PlanetSky, VPN BEST
    • SpectrumSat: Соединение через Proxy-сервер SpectrumSat, VPN BEST

    Подробнее о типах подключения к провайдерам спутникового интернета читайте здесь .

  • Возможность играть в многопользовательские p2p онлайн игры, которые не могут работать через NAT, например игра Age of Empires сделанная на основе протокола DirectPlay7.