Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | socks [2025/07/06 12:40] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Настройка SOCKS сервера ====== | ||
+ | ~~Title: Как настроить SOCKS сервер на примере SSH туннелирования, | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(SOCKS proxy передает данные от клиента к серверу, | ||
+ | }} | ||
+ | {{ : | ||
+ | **SOCKS** - сетевой протокол, | ||
+ | * **Что такое SOCKS proxy server?** | ||
+ | Хотя этот протокол разработан достаточно давно, он является относительно новым (по сравнению с [[HTTP|HTTP]] proxy). SOCKS позволяет работать с любыми (версия Socks 4 - с TCP, Socks 5 - с [[TCP|TCP]] и [[UDP|UDP]]) протоколами. SOCKS proxy просто передает данные от клиента к серверу, | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | <note tip>HTTP прокси, | ||
+ | Читайте также: [[proxy]] | ||
+ | <note important> | ||
+ | |||
+ | ====== Настройка SOCKS5 через SSH туннель | ||
+ | |||
+ | Настройка SOCKS5 через [[SSH|SSH]]. Создать 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 | ||
+ | </ | ||
+ | |||
+ | После введения пароля к удаленному серверу, | ||
+ | |||
+ | Далее вам следует открыть любой браузер, | ||
+ | |||
+ | Для браузера [[Firefox]]: | ||
+ | - Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить» | ||
+ | - Устанавливаем там пункт «Ручная настройка сервиса прокси», | ||
+ | - Ставим ключ на пункт "SOCKS 5" и применяем настройки. | ||
+ | {{: | ||
+ | |||
+ | После чего идём на любой сайт для определение IP-адреса и видим не свой IP, а IP удалённого сервера, | ||
+ | ====== Возможности Dante ====== | ||
+ | [[https:// | ||
+ | |||
+ | < | ||
+ | |||
+ | Для запуска SOCKS сервера вам предварительно потребуется купить [[https:// | ||
+ | ====== Установка SOCKS сервер Dante в Ubuntu версии 18 и выше | ||
+ | |||
+ | В случае Ubuntu выше 18.04.4 LTS (Ubuntu 20.04.1 LTS Focal, Ubuntu 22.04 LTS Jammy) Dante Server ставится стандартно из репозитория. Предварительно обновим пакеты: | ||
+ | <file bash> | ||
+ | apt update | ||
+ | apt full-upgrade | ||
+ | </ | ||
+ | Посмотрим версию пакета Dante SOCKS сервера в репозиториях | ||
+ | < | ||
+ | apt search dante-server | ||
+ | |||
+ | dante-server/ | ||
+ | SOCKS (v4 and v5) proxy daemon (danted) | ||
+ | </ | ||
+ | Установим: | ||
+ | <file bash> | ||
+ | apt install dante-server | ||
+ | </ | ||
+ | Проверим добавился ли Dante в автозагрузку: | ||
+ | <file bash> | ||
+ | systemctl is-enabled danted | ||
+ | enabled | ||
+ | </ | ||
+ | |||
+ | Правим конфигурационный файл / | ||
+ | <file bash danted.conf> | ||
+ | |||
+ | logoutput: syslog stdout / | ||
+ | #logoutput: stderr | ||
+ | |||
+ | internal: ens3 port = 1080 | ||
+ | external: ens3 | ||
+ | |||
+ | socksmethod: | ||
+ | # | ||
+ | |||
+ | user.privileged: | ||
+ | user.unprivileged: | ||
+ | user.libwrap: | ||
+ | |||
+ | 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 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * logoutput определяет, | ||
+ | * user.privived предоставляет серверу root-права для проверки разрешений | ||
+ | * user.uncitationd блокирует работу сервера в качестве непривилегированного пользователя (так как в этом нет необходимости, | ||
+ | * internal определяет порт, на котором запущен сервис, | ||
+ | * external определяет сетевой интерфейс для исходящих подключений (это eth0 по умолчанию на большинстве серверов). | ||
+ | |||
+ | Перечитаем конфиг демона | ||
+ | <file bash> | ||
+ | systemctl restart danted | ||
+ | </ | ||
+ | Cервер Dante будет использовать для аутентификации обычные учетные записи пользователей Linux. Это нормально, | ||
+ | |||
+ | Создадим пользователя, | ||
+ | |||
+ | <file bash> | ||
+ | useradd -s /bin/false proxyuser && passwd proxyuser | ||
+ | usermod -aG proxy proxyuser | ||
+ | </ | ||
+ | Разрешим в фаерволе, | ||
+ | <file bash> | ||
+ | sudo ufw allow 1080/tcp | ||
+ | </ | ||
+ | Все. Удачи! | ||
+ | |||
+ | Если возникли ошибки при запуске Dante. Для того чтобы увидеть подробно причину ошибки нужно запустить демона вручную, | ||
+ | <file bash> | ||
+ | # danted | ||
+ | Jul 20 16:13:47 (1595250827.128796) danted[31184]: | ||
+ | Jul 20 16:13:47 (1595250827.128892) danted[31184]: | ||
+ | Jul 20 16:13:47 (1595250827.128927) danted[31184]: | ||
+ | </ | ||
+ | |||
+ | Если после настройки журнала лога для службы danted вы получаете ошибки, | ||
+ | <file bash> | ||
+ | alert: configparsing(): | ||
+ | </ | ||
+ | остановите службу и изменить конфигурацию службы запуска демона danted для разрешения записи в директорию /var/log/. Для этого добавьте строку ReadWriteDirectories, | ||
+ | <file bash> | ||
+ | nano / | ||
+ | ... | ||
+ | InaccessibleDirectories=/ | ||
+ | ReadOnlyDirectories=/ | ||
+ | ReadWriteDirectories=/ | ||
+ | ... | ||
+ | </ | ||
+ | Примените изменения [[systemd|systemd]] и перезагрузите службу: | ||
+ | <file bash> | ||
+ | systemctl daemon-reload | ||
+ | systemctl restart danted | ||
+ | </ | ||
+ | ====== Проверка подключения через Dante ====== | ||
+ | Для подключения можно использовать [[https:// | ||
+ | |||
+ | Для тестирования можно использовать использовать [[curl|curl]]. Данная утилита установлена по умолчанию во всех современных средах Windows, Mac и Linux, поэтому вы можете открыть любую локальную оболочку для ее запуска: | ||
+ | |||
+ | <file bash> | ||
+ | curl -v -x socks5:// | ||
+ | </ | ||
+ | ====== Установка SOCKS сервер Dante в Ubuntu версии 14 и 16 ====== | ||
+ | |||
+ | В репозиториях Ubuntu 14.04.5 LTS Trusty и Ubuntu 16.04.2 LTS установлена старая версия Dante Server 1.1.19 и к тому же она не может работать с логином и паролем (доступ к прокси можно регулировать только [[iptables]]). Баг этот известен давно, но так и не был исправлен([[https:// | ||
+ | |||
+ | * **Инсталляция и настройка** SOCKS сервера **Dante Server** из исходных кодов в [[Ubuntu]] 14.04.5 LTS Trusty в контейнере [[OpenVZ|OpenVZ]]. | ||
+ | <file bash> | ||
+ | cd /opt | ||
+ | wget http:// | ||
+ | tar -xvf dante-1.4.2.tar.gz | ||
+ | cd dante-1.4.2/ | ||
+ | </ | ||
+ | aptitude install gcc cc libwrap0 libwrap0-dev libpam0g-dev make</ | ||
+ | yum install gcc pam-devel tcp_wrappers-devel | ||
+ | </ | ||
+ | <file bash> | ||
+ | mkdir /opt/dante | ||
+ | ./configure --prefix=/ | ||
+ | </ | ||
+ | Client: | ||
+ | Server: | ||
+ | Preloading: | ||
+ | Libwrap: | ||
+ | BSD Auth: Disabled, usable bsd_auth.h not found | ||
+ | PAM: | ||
+ | GSSAPI: | ||
+ | KRB5: Not found/ | ||
+ | SASL: Not found/ | ||
+ | UPNP: Not found/ | ||
+ | Compatability: | ||
+ | |||
+ | | ||
+ | |||
+ | redirect: | ||
+ | bandwidth: | ||
+ | ldap: Not found | ||
+ | </ | ||
+ | make | ||
+ | make install | ||
+ | </ | ||
+ | <file bash> | ||
+ | / | ||
+ | Dante v1.4.2. | ||
+ | </ | ||
+ | wget -c http:// | ||
+ | </ | ||
+ | <file bash sockd.conf> | ||
+ | #logoutput: / | ||
+ | logoutput: stderr | ||
+ | |||
+ | # На каком сетевом интерфейсе и порту обслуживаем socks клиентов | ||
+ | internal: venet0:0 port = 1080 | ||
+ | # С какого IP или интерфейса выходим во внешний мир | ||
+ | external: venet0:0 | ||
+ | #internal: x.x.x.x port = 1080 | ||
+ | #external: x.x.x.x | ||
+ | |||
+ | # Используемый метод авторизации клиентов. none - без авторизации. | ||
+ | socksmethod: | ||
+ | # | ||
+ | user.privileged: | ||
+ | user.notprivileged: | ||
+ | |||
+ | 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 | ||
+ | } | ||
+ | </ | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | <file bash start.sh> | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | #!/bin/bash | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | sudo useradd -s /bin/false proxyuser && sudo passwd proxyuser | ||
+ | </ | ||
+ | |||
+ | Разрешим TCP порт 1080 в фаерволе [[ufw]]< | ||
+ | sudo ufw allow proto tcp from any to any port 1080 | ||
+ | </ | ||
+ | ufw status | ||
+ | </ | ||
+ | * Разрешаем клиенту 192.168.0.2 выход через socks. | ||
+ | < | ||
+ | client pass { | ||
+ | from: 192.168.0.2/ | ||
+ | log: connect disconnect iooperation | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Альтернативные SOCKS сервера ====== | ||
+ | * [[https:// | ||
+ | * ss5.sourceforge.net SS5 is a socks server that implements the SOCKS v4 and v5 protocol для CENT OS | ||
+ | |||
+ | <panel type=" | ||
+ | * [[https:// | ||
+ | * [[vpn]] | ||
+ | * [[openvpn_server_in_5_minutes]] | ||
+ | * [[proxy]] | ||
+ | * [[Shadowsocks]] | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга