Подключаем репозиторий gf
yum install http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
Устанавливаем dante-server
yum --enablerepo=gf-plus install dante-server
Делаем, чтоб стартовал при включении системы
systemctl enable sockd.service
Сохраняем оригинальный конфиг
mv /etc/sockd.conf /etc/sockd.conf.orig
Пишем свой
vim /etc/sockd.conf
internal: eth0 port = 1080 external: eth0 socksmethod: username user.privileged: root user.unprivileged: nobody client pass { from: 0/0 to: 0/0 log: error } socks pass { from: 0/0 to: 0/0 log: error }
Для понимания можно почитать оригинальный конфиг. Там все доступно. Благо мы его сохранили.
Тем не менее пара слов по конфигу:
socksmethod: username — указываем использовать вход по логину и паролю системных пользователей
user.privileged: root — ставим root, потому что нам нужно читать файл /etc/passwd
client pass — правила работы с клиентами
socks pass — что разрешаем клиентам
Добавляем пользователя
useradd test -M -s /sbin/nologin passwd test
Запускаем
systemctl start sockd.service
Добавляем правило в файрвол
firewall-cmd --zone=public --add-port=1080/tcp --permanent firewall-cmd --reload
upd. Забыл добавить, что нужно отключить selinux
vim /etc/selinux/config
меняем значение на
SELINUX=disabled
и перезагружаем
shutdown -r now