Инструменты пользователя

Инструменты сайта


socks

SOCKS

SOCKS - сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от "SOCKet Secure". SOCKS не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня.

  • Что такое SOCKS proxy server?

Хотя этот протокол разработан достаточно давно, он является относительно новым (по сравнению с HTTP proxy). SOCKS позволяет работать с любыми (версия Socks 4 - с TCP, Socks 5 - с TCP и UDP) протоколами. SOCKS proxy просто передает данные от клиента к серверу, не вникая в содержимое самих данных (поэтому он может работать с HTTP, FTP, SMTP, POP3, NNTP, etc.).

Поскольку SOCKS передает все данные от клиента серверу, ничего не добавляя от себя, то с точки зрения web-сервера socks proxy является клиентом. Поэтому анонимность этого типа proxy-серверов всегда является действительно полной.
HTTP прокси, в отличии от SOCKS прокси, умеет кэшировать данные и может более тщательно фильтровать содержимое передаваемых данных.

Настройка SOCKS5 через SSH

Оригинал: Создаём SOCKS5-прокси с помощью SSH- соединения через удалённый сервер в Linux

Настройка SOCKS5 через SSH.

Cоздать SOCKS5-прокси довольно просто. Достаточно выполнить команду по следующей схеме:

ssh -f -C2qTnN -D [bind_address:]<порт> <удаленный_пользователь>@<удаленный_сервер>
  • -f Запросит ssh перейти в фоновый режим только перед выполнением команды.
  • -C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
  • -2 Принуждает ssh использовать только протокол версии 2.
  • -q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
  • -T Отменить переназначение терминала.
  • -n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
  • -N Не выполнять удаленную команду.
  • -D [локальный IP : ] порт

Например:

sudo ssh -f -C2qTnN -D 1080 roman@8.8.8.8

После введения пароля к удаленному серверу, SSH перейдёт в фоновый режим.

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

Для браузера Mozilla Firefox:

  1. Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить»
  2. Устанавливаем там пункт «Ручная настройка сервиса прокси», в поле «Узел SOCKS» пишем наш IP адрес (обычно 127.0.0.1), а в поле «Порт» — указанный порт (в примере 1080).
  3. Ставим ключ на пункт "SOCKS 5" и применяем настройки.

После чего идём на любой сайт для определение IP-адреса. Например: http://dieg.info и видим не свой IP, а IP удалённого сервера, к которому мы установили SSH - соединение.

SOCKS сервер Dante Server

Homepage: Dante - A free SOCKS server

Часть функционала в виде дополнительных модулей платная, например модуль Bandwidth control стоит 400 EUR (евро).

В репозиториях Ubuntu 14.04.5 LTS Trusty и Ubuntu 16.04.2 LTS установлена старая версия Dante Server 1.1.19 и к тому же она не может работать с логином и паролем (доступ к прокси можно регулировать только iptables). Баг этот известен давно, но так и не был исправлен(how to set up danted (dante-server) SOCKS proxy on Ubuntu 14.04 with authentication).

  • Инсталляция и настройка SOCKS сервера Dante Server из исходных кодов в Ubuntu 14.04.5 LTS Trusty в контейнере OpenVZ.
cd /opt
wget http://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -xvf dante-1.4.2.tar.gz
cd dante-1.4.2/

Компиляция Dante Server. Вначале установим необходимые утилиты и зависимости Dante для компиляции Ubuntu:

aptitude install gcc cc libwrap0 libwrap0-dev libpam0g-dev make

CentOS 6.6:

yum install gcc pam-devel tcp_wrappers-devel
mkdir /opt/dante
./configure --prefix=/opt/dante

К конце будет выведен статус конфигурации

Client:            Enabled
Server:            Enabled
Preloading:        Enabled
Libwrap:           Enabled
BSD Auth:          Disabled, usable bsd_auth.h not found
PAM:               Enabled
GSSAPI:            Not found/disabled
KRB5:              Not found/disabled
SASL:              Not found/disabled
UPNP:              Not found/disabled
Compatability:     issetugid setproctitle strlcpy strvis

                     Modules:

redirect:          Not found
bandwidth:         Not found
ldap:              Not found
make
make install

Проверим запускается ли собранный файл, посмотрим версию сервера:

/opt/dante/sbin/sockd -v
Dante v1.4.2.  Copyright (c) 1997 - 2014 Inferno Nettverk A/S, Norway

Рабочий конфигурационный файл (подставьте свой IP или название сетевого интерфейса). Скачать файл sockd.conf командой

wget -c http://wiki.dieg.info/_export/code/socks?codeblock=10 -O /etc/sockd.conf
sockd.conf
#logoutput: /var/log/socks.log
logoutput: stderr
 
internal: venet0:0 port = 1080
external: venet0:0
#internal: x.x.x.x port = 1080
#external: x.x.x.x
 
socksmethod: username
#socksmethod: username none
user.privileged: root
user.notprivileged: nobody
 
client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
 
client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}
 
socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
 
socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

Запуск сервера Dante как сервиса

/opt/dante/sbin/sockd -D

Всё! Наслаждаемся работой.

start.sh
#!/bin/bash
 
/opt/dante/sbin/sockd -f /etc/sockd.conf -D
stop.sh
#!/bin/bash
 
/usr/bin/pkill sockd

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

sudo useradd -s /bin/false proxyuser && sudo passwd proxyuser

Разрешим TCP порт 1080 в фаерволе ufw (Uncomplicated Firewall)

sudo ufw allow proto tcp from any to any port 1080

Вывести все правила ufw можно командой

ufw status

SOCKS сервер 3proxy

SOCKS сервер SS5

Загрузка...
загрузка...
Загрузка...
socks.txt · Последние изменения: 2017/10/03 08:11 — darkfire