kancboom.ru

Tcp с нестандартным socks5 прокси. Прозрачное Socks5 проксирование приложений в linux. Установка старой версии Dante Server

Потребовалось мне как-то запустить игру, которая запускается под wine, через прокси. Поднял ssh-туннель, запустил игру через proxychains, и… игра не смогла соединиться с сервером, хотя chromium без проблем работал и показывал ip прокси. Попробовал tsocks - игра вообще не запустилась. Можно, конечно, было настроить VPN-туннель с помощью того же ssh, но сервер - VPS, под OpenVZ, у которого по умолчанию выключен TUN, что привело бы к письму в техподдержку и ожиданию.
Итак, пятиминутное гугление привело меня к заброшенному проекту Transocks, который, в отличие от proxychains и tsocks, которые подгружают свои библиотеки и перехватывают сетевые вызовы, слушает определенный порт и перенаправляет все, что в него пришло, через socks4 прокси. К сожалению, transocks у меня не собрался, и я начал гуглить дальше. Оказывается, у проекта есть два форка: transocks_ev на c и transocks_em на ruby. Первый поддерживает Socks5, не поддерживает авторизацию и UDP. Второй же поддерживает Socks5, UDP, *BSD, но тоже, вроде бы, не поддерживает авторизацию(не нашел в коде, а документации нет). Так как UDP мне не нужно, я остановился на transocks_ev.

Сборка

Собрать transocks_ev очень просто: достаточно скачать Makefile и transocks_ev.c со страницы проекта, установить libevent и выполнить
make
У нас появился бинарник transocks_ev
tranSOCKS-ev - libevent-based transparent SOCKS5-Proxy
Usage: ./transocks_ev [-f] [-p Port] [-H IP-Address] [-s port] [-S IP-Address]

F Do not fork into background upon execution
-p Bind our server-socket to this port
-H Listen on this IP-Address for incomming connections
-s Expect SOCKS5-Server on this Port
-S Expect SOCKS5-Server on this IP-Address

Так как я поднимал ssh-туннель на порту 4441, запускаю transocks_ev с такими параметрами:
./transocks_ev -p 4445 -H 127.0.0.1 -s 4441 -S 127.0.0.1
Теперь у нас на порту 4445 висит сервер, который будет пускать все запросы через наш socks5. Немного похоже на NAT, только на определенном порту.

Настройка

Перенаправлять пакеты будем с помощью iptables. Я решил сделать подобие proxychains, чтобы можно было запустить любое приложения через прокси, а не просто проксирование по адресу или порту(хотя для игры сгодится и оно).
Создаем новую группу proxified:
sudo groupadd proxified
Редактируем /etc/sudoers так, чтобы мы могли запускать приложения под этой группой. Должно быть что-то вроде этого:
valdikss ALL=(ALL:ALL) ALL

Теперь перейдем к настройкам iptables.
sudo iptables -t nat -I OUTPUT -m owner --gid-owner proxified -p tcp -j REDIRECT --to-ports 4445
Эта команда будет перенаправлять все пакеты от приложений с группой proxified на transocks сервер.

Запуск

Запускаем приложение с группой proxified
sudo -g proxified chromium-browser

Вот и всё. Этот метод может быть использован для гарантированной проксификации всей системы, либо даже для прозрачной проксификации на роутере. Если вам нужно использовать прокси с аутентификацией, то установите 3proxy локально и укажите в нем ваш прокси как прокси сервер верхнего уровня.

Сетевой протокол SOCKS5 позволяет незаметно пересылать данные от клиента серверу. Функция уже есть в Telegram для Windows и macOS. В ближайшее время она появится и в мобильных версиях мессенджера.

Рекомендуется включить SOCKS5 до вступления блокировки в силу. После неё скачать приложение из Google Play и App Store, скорее всего, станет проблематично. Придётся пользоваться VPN-сервисами для входа в магазин «из другой страны».

Чтобы увеличить шансы получить актуальную версию Telegram, включите автоматическое обновление приложения. Если вы пользуетесь Android, то в настройках операционной системы разрешите скачивание обновлений из сторонних источников и загрузите апдейт с официального сайта мессенджера.

Как настроить SOCKS5 в Telegram

  1. Откройте настройки десктопной версии мессенджера и найдите «Расширенные настройки» (Advanced Settings).
  2. Смените тип соединения (Connection type) на «TCP с нестандартным socks5-прокси» (TCP with custom socks5-proxy).
  3. Введите адрес прокси-сервера и порт. Советуем использовать американский, немецкий, шведский или английский прокси.
  4. Осталось поставить галочку «Использовать IPv6» (Try connecting through IPv6) и сохранить настройки.

Со временем в сфере браузеров создаются новые разработки. Браузеры, которые мы сегодня используем, регулярно улучшаются. Когда-то давно, на заре их появления в Интернете и сфере IT в целом, браузеры не поддерживали многих функций, например, работу с SOCKS прокси серверами. Отсюда, появилась необходимость в применении отдельных приложений с соответствующим функционалом.

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

Получение доступа к SOCKS прокси

Для использования SOCKS прокси через браузер сперва необходимо получить к ним доступ. Сделать это можно на сайте .

Выполните следующие шаги:

1. Откройте страницу и войдите под своим аккаунтом.

2. После входа на сайт открывается админпанель, на которой можно выполнить поиск прокси по определенным параметрам либо отобразить список всех доступных прокси.


3. Самый простой способ получения прокси: опция List Proxys. Нажмите кнопку с этой надписью. Откроется страница со списком всех доступных в данный момент прокси серверов.


4. Нажмите на любой прокси в колонке HostName, появится всплывающее окно.

5. Для отображения адреса и порта выбранного прокси сервера нажмите click here to view . В окне появится текущий статус прокси. Если проверка прошла успешно, скопируйте его адрес и порт. В противном случае, выберите другой прокси из списка найденных прокси серверов.

6. У вас есть SOCKS прокси, который можно использовать в работе. В нашем случае (на примере) - это 1.36.114.198:53052

7. Теперь приступаем к настройке браузера для использования SOCKS прокси.

Работа с SOCKS прокси в FireFox

1. Для настройки SOCKS в браузере FireFox воспользуйтесь панелью меню.

2. Откройте меню Настройки > Дополнительные .

3. Затем выберите вкладку Сеть и нажмите кнопку Настроить . Откроется новое окно, в котором необходимо ввести данные прокси сервера. Нажмите Ручная настройка сервиса прокси и снимите флажок с опции Использовать этот прокси-сервер для всех протоколов.

4. Введите данные прокси сервера и нажмите OK.


5. Убедитесь, что ваш IP-адрес изменился, по ссылке http:// ipleak. com .


Работа с SOCKS прокси в браузере Opera (ver 13.0+)

1. Откройте меню Инструменты > Настройки .

2. Выберите вкладкуБраузер .

3. Нажмите кнопку Изменить настройки прокси-сервера .

5. Во вкладке Соединения Настройки
Настройки LAN) .

6. Поставьте галочку напротив Использовать прокси-сервер

7. Затем нажмите Дополнительно. SOCKS прокси-сервера.

8.Нажмите OK , и еще раз OK в другом окне. Проверьте ваш текущий IP-адрес на сайте http://ipleak. com :


Работа с SOCKS прокси в браузере IE

1. Откройте меню Инструменты, выберите Опции интернета.

2. Во вкладке Соединения нажмите кнопку Настройки .

3. Появится всплывающее окно с настройками.

4. Поставьте галочку напротив Использовать прокси-сервер , что позволит задать параметры вашего прокси-сервера.

5. Затем нажмите Дополнительно. Здесь можно ввести параметры SOCKS прокси.


6. Нажмите OK в каждом открытом окне настроек (всего 3 раза) для сохранения изменений.

7. Настройки выполнены. Проверьте свой текущий IP-адрес на сайте http:// ipleak. com .


Работа с SOCKS прокси в браузере Chrome

1. Нажмите иконку «Инструменты» и выберите «Настройки » для входа в меню настроек.

2. Перейдите на закладку Дополнительные настройки.

3. Нажмите кнопку Изменить настройки прокси-сервера .

4. Появится всплывающее окно с настройками.

5. Во вкладке Соединения выберите ваше подключение и нажмите Настройки .
(если вы подключаетесь через локальную сеть или роутер - нажмите Настройки LAN)

6. Поставьте галочку напротив Использовать прокси-сервер , что позволит задать параметры вашего прокси-сервера.

7. Затем нажмите Дополнительно. В открывшемся окне введите данные SOCKS прокси-сервера.


8. Для сохранения настроек нажмите несколько раз OK.

9. Проверьте свой текущий IP-адрес:


Носки бывают чрезвычайно полезны. Сейчас мы расскажем, как правильно настроить их на роутере MikroTik. Итак, поговорим о SOCKS ?

Предисловие

SOCKS (SOCKet Secure) – это сетевой протокол, с помощью которого можно обеспечивать прохождение TCP пакетов в обход блокирующих правил Firewall’а. Это реализуется за счёт proxy-сервера (также называют SOCKS-сервер), который контролирует подключение внутренних клиентов и их права на доступ к внешним ресурсам или же наоборот – внешних клиентов, к ресурсам внутри сети. SOCKS работает на сеансовом уровне, поэтому с помощью него можно проксировать FTP, HTTP, Telnet и другие верхнеуровневые протоколы. В то время как HTTP-прокси, как правило, позволяет проксировать только GET и POST запросы.

Установление соединения

Когда клиент хочет получить доступ к внешнему ресурсу, который блокирует Firewall, то соединение происходит следующим образом:

  1. Клиент подключается к proxy-серверу (обычно используется TCP порт 1080);
  2. Сервер проверяет список доступа и выясняет, есть ли у клиента права на доступ к внешним ресурсам;
  3. Если клиент имеет такие права, то proxy-сервер пересылает пакет на внешний ресурс, к которому хочет получить доступ клиент;
  4. Сервер создаёт сессию между клиентом и внешним ресурсом и между ними начинается обмен пакетами верхнеуровневых протоколов. После установления соединения можно передавать и UDP пакеты.

В настоящее время, MikroTik поддерживает SOCKS версии 4 при указании внешнего ресурса он понимает только IP-адрес. Версия SOCKS4a – может резолвить доменные имена внешних ресурсов. Более поздняя версия протокола – SOCKS5 включает расширенную поддержку аутентификации, подключение по UDP и IPv6.

На сегодняшний день, протокол SOCKS5 пока не поддерживается на устройствах MikroTik. Хотя пользователи очень просят разработчиков включить поддержку SOCKS5 в новые релизы RouterOS вот уже 8 лет. Поэтому при работе с SOCKS совместно с MikroTik, клиент также должен иметь 4 версию.

Необходимо очень тщательно настроить Firewall"ьные правила и список доступа SOCKS чтобы исключить нежелательный доступ извне. Как правило, скомпрометированные через уязвимости SOCKS устройства, используются для рассылки спама и фишинговых писем.

Перейдём к настройкам SOCKS-сервера на MikroTik:

Параметры настройки через WinBox

Параметры настройки SOCKS сервера в WinBox находятся в IP Socks :

Как только вы поставите галочку напротив Enabled сервер станет активным. Далее, необходимо настроить списки доступа, для этого нажимаем на кнопку Access :


Активные SOCKS сессии, проходящие через сервер можно отслеживать на вкладке Connections

Параметры настройки через Termial

Для того, чтобы настроить SOCKS через терминал нужно также сначала настроить параметры сервера. Настройка проводится через команду ip socks set , доступы следующие параметры:

  • enabled - включает функционал SOCKS proxy-сервера (yes - включен, no - выключен);
  • port - номер порта, на котором сервер будет слушать SOCKS запросы. По умолчанию - 1080
  • connection-idle-timeout - время, через которое будут сброшены неактивные сессии (по умолчанию – 2 минуты (2m ));
  • max-connections - максимальное число одновременных подключений (по умолчанию - 200 )

Посмотреть текущие или настроенные параметры можно командой:

  • action - действие, которое будет предпринято при соответствии критериев данного правила:
    • allow - разрешить прохождение трафика по данному правилу;
    • deny - запретить прохождение трафика по данному правилу.
  • dst-address - адрес сервера назначения;
  • dst-port - TCP порт назначения, на котором удаленный сервер слушает SOCKS
  • src-address - адрес источника пакетов (клиент);
  • src-port - TCP порт источника
Практическое применение

Допустим злой сисадмин заблокировал наш любимый сайт, выяснил адрес и забанил.


Но одному нашему сотруднику обязательно нужно иметь доступ к данному ресурсу. Поэтому сисадмин открывает активирует SOCKS сервер и настраивает список доступа.


В качестве адреса клиента указывается IP адрес компьютера сотрудника, которому нужно открыть доступ (в нашем случае 192.168.11.48 ), в качестве порта источника – любой TCP порт от 1024 до 65535..

Та же самая настройка через терминал выглядит следующим образом:

Ip socks> set enabled=yes ip socks access> add src-address=192.168.11.48 src-port=1024-65535 dst-address=212.193.249.136 dst-port=80 \ \... action=allow

Готово, теперь дело за клиентом, который должен настроить сотрудник. Покажем настройку на примере браузера Google Chrome . Открываем Settings Advanced Confidentiality and Security , крутим в самый низ до пункта System и выбираем Proxy settings . В появившемся окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced . В появившемся окне вбиваем параметры нашего SOCKS сервера в строку Socks (в нашем случае 192.168.11.1 и порт 1080 ) и применяем настройки:


Теперь обновляем страничку сайт и ву-а-ля, всё заработало! В окне Connections видны соединения с нашего компьютера до IP адреса сайт.



Послесловие

Данная статья носит исключительно образовательный характер и не ставит своей целью научить кого-либо обходить правила Firewall. Протокол SOCKS 4 устарел, не поддерживает аутентификацию и не может резолвить доменные адреса. В целях безопасности, мы не рекомендуем использовать этот протокол вообще и в том числе – настраивать его на MikroTik.

По умолчанию – сервер SOCKS на роутерах MikroTik отключен. Если Вы обнаружили, что он активирован, то это может быть признаком того, что Ваш роутер был скомпрометирован злоумышленниками. Об этом мы подробнее расскажем в следующих статьях.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

В то время как стандартный HTTP прокси отлично подходит для просмотра web-страниц, SOCKS прокси ориентированы на другое программное обеспечение, такое как электронная почта, мессенджеры и даже интернет-телефония, добавляя в них еще один уровень безопасности. David Koblas изобрел SOCKS прокси пока работал над MIPS Computer Systems, предшественнике Silicon Graphics. Koblas представил архитектуру SOCKS в 1992 году и использования нового типа прокси очень быстро распространилось.

Инструкция по использованию SOKCS прокси

1. Получите доступ к списку SOCKS прокси-серверов. Есть два способа поиска. Первый это поиск сайтов, таких ка Public Proxy Servers для получения информации о бесплатных прокси-серверах. Другой способ - подписаться на частную службу прокси-сервера, к примеру Unique Internet Services, которая предоставляет доступ к тысячам частных SOCKS прокси.

2. Загрузите и установите бесплатную копию Proxy Firewall. Перейдите к proxyfirewall.org, в нижней части страницы нажмите на ссылку "Download". Выберите команду "Run" в открывшемся окне. Когда программа установки завершится, вам будет предложено перезагрузить компьютер. Сохраните все открытые файлы и перезагрузите компьютер.

3. Откройте Proxy Firewall и добавьте ваши прокси в список. Перейдите к вкладке "Private Proxies", если вы являетесь участником Unique Internet Services, а затем введите имя пользователя и пароль для автоматического импорта тысячи прокси-серверов. Если же вы не являетесь участником Unique Internet Services, вы можете использовать приложение, нажав "Add Proxies" в левом нижнем углу, а затем вручную введя IP-адрес и номер порта для каждого SOCKS прокси-сервера.

4. Задайте разрешение для ваших программ. Первый раз при открытии каждой программы после установки Proxy Firewall, программа обнаружит Proxy Firewall и спросит вас, как действовать дальше. Вы можете выбрать прямой доступ к интернету или выбрать подключение через SOCKS прокси . Proxy Firewall будет помнить настройки для каждой программы на вашем компьютере, но их можно будет поменять в любое время, нажав на вкладку "Rules" в Proxy Firewall.

Загрузка...