Установка и настройка Dante
1. Установка
Добавляем репозиторий (тут и далее все действия от root, либо подставляйте sudo перед командой):
yum install http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
Устанавливаем пакет
yum --enablerepo=gf-plus install dante-server
Создаём каталог для pid-файла
mkdir /var/run/sockd
Бэкапим стандартный конфиг
mv /etc/sockd.conf /etc/sockd.conf.orig
2. Настройка конфига
Конфиг для работы на порту 443 (стандартный порт для HTTPS). Это подойдёт вам, если на этом же сервере у вас не работает какая-нибудь другая программа на этом же порту (например, web-сервер Apache или Nginx или любой другой).
nano /etc/sockd.conf
user.privileged: root
user.unprivileged: nobody
# The listening network interface or address.
internal: 0.0.0.0 port=443
#internal: 0.0.0.0 port=1080 # можно указать несколько портов, по умолчанию 1080
# The proxying network interface or address.
external: eth0
logoutput: syslog stdout /var/log/sockd.log
errorlog: /var/log/sockd_err.log
# socks-rules determine what is proxied through the external interface.
# The default of "none" permits anonymous access.
socksmethod: username
# client-rules determine who can connect to the internal interface.
# The default of "none" permits anonymous access.
clientmethod: none
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
}
Этот конфиг делает так, что клиенты смогут подключаться к вашему прокси по имени и паролю пользователей (активных) вашего сервера. Т.е. нужно завести отдельных пользователей, которые собой будут являть данные для подключения к прокси.
3. Добавляем пользователей
Добавляем пользователей аккуратно, чтобы им не было разрешено ничего лишнего на сервере (например, подключаться по SSH) :
useradd --shell /usr/sbin/nologin proxyuser
passwd proxyuser
Так можно завести общего пользователя (в данном случае логин: proxyuser), данные которого можно использовать самому и передать близким людям, которым можно доверить это навсегда. Для друзей лучше заводить отдельных пользователей аналогичным образом. В будущем, если нужно будет отлучить пользователя от доступа к прокси, достаточно будет заблокировать пользователя на сервере.
Можно задать пароль пользователю со специальным ключом для автоматической деактивации пользователя по прошествии заданного времени (демо-режим своеобразный настроить):
passwd --inactive 10 testuser
А так можно заблокировать определённого пользователя:
passwd --lock testuser
У команды создания паролей много разных полезных опций.
Если не потребуется отслеживать частоту подключений пользователей, то в конфиге можно заменить строки:
log: connect disconnect error
На
log: error
В этом случае в лог /var/log/sockd.log будет складываться меньше записей.
4. Запуск прокси-сервера
Запуск и управление производится стандартным образом с помощью systemd. Запуск:
systemctl start sockd.service
Добавление в автозапуск (на случай перезагрузки сервера):
systemctl enable sockd.service
Перезапуск:
systemctl restart sockd.service
5. Проверка работы
Для начала можно проверить доступность вашего прокси-сервера с другого компьютера так (вместо PASS и SERVER_IP подставить ваши значения):
curl -v -x socks5://proxyuser:PASS@SERVER_IP:443 https://ya.ru
Если тут соединение удалось, значит и в других программах работать будет. Вот, например, можно сделать ссылку для автоматической настройки прокси в Telegram: https://t.me/socks?server=SERVER_IP&port=443&user=proxyuser&pass=PASS (а если домен t.me у вашего провайдера забанен, то можно попробовать http://t-do.ru/socks?server=SERVER_IP&port=443&user=proxyuser&pass=PASS)
Либо тоже самое набрать вручную в настройках.