1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
0. Разрешаем подключаться к порту сервера: sudo ufw allow proto tcp from any to any port 99800 1. Ставим сервер: aptitude install dante-server 2. Сервер попытается запуститься и упадет, так и задумано, меняем конфиг: sudo vim /etc/danted.conf logoutput: stdout internal: eth0 port = 99800 external: eth0 socksmethod: username user.privileged: root user.unprivileged: nobody user.libwrap: nobody 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. Интерфейс можно подсмотреть через ip addr 4. Далее создаем пользователя без оболочки (нельзя подключиться через ssh). Вместо имени использовать можно парольную фразу, только без спецсимволов. adduser --shell=/sbin/nologin bob Используя логин и пароль этого пользователя можно подключаться к серверу. 5. Тестируем: curl -v -x 'socks5://bob:password@99.99.99.99:99800' http://www.google.com/ |
Пример создания демона systemd:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit] Description=ss5 After=network.target [Service] Type=notify ExecStart=/usr/bin/bash -c '/opt/ss5/ss5-3.8.9/src/ss5 -u ss5 -b 0.0.0.0:1080' ExecReload=/bin/kill -HUP $MAINPID KillMode=process [Install] WantedBy=multi-user.target |
added 2022.01.21
Dante docker
1 2 |
docker pull dijedodol/simple-socks5-server docker run -it --rm -p 1080:1080 -e 'SSS_USERNAME=your_username' -e 'SSS_PASSWORD=your_password' dijedodol/simple-socks5-server |
Dante свой велосипед на debian \ ubuntu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
0. Ставим пакеты: apt-get update apt-get upgrade apt-get install build-essential libwrap0-dev libpam0g-dev libkrb5-dev libsasl2-dev apt-get install libwrap0 libwrap0-dev apt-get install gcc make apt-get install cron 1. Качаем dante cd /opt wget https://www.inet.no/dante/files/dante-1.4.1.tar.gz tar -xvf dante-1.4.1.tar.gz cd dante-1.4.1 2. Ставим mkdir /home/dante ./configure --prefix=/home/dante make make install 3. Создаем конфиг vim /home/dante/danted.conf ---------------------------- logoutput: syslog /var/log/danted.log internal: eth0 port = 1080 external: eth0 socksmethod: username user.privileged: root user.unprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: connect log: error method: username } ---------------------------- 4. Пример настройки автозапуска (Лучше рассмотреть запуск через systemd) # нам нужно удостовериться, что сервис запустится при перезагрузке crontab -e # вставьте в crontab SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO=your_email@some_mail.com # запуск сервера как демона /home/dante/sbin/sockd -f /home/dante/danted.conf -D 5. Создаем пользователя для socks proxy sudo useradd --shell /usr/sbin/nologin -m sockduser && sudo passwd sockduser 6. Пример простого firewall ufw на ubuntu (В принципе можно настроить iptables) # - Инструкция - # https://wiki.dieg.info/socks sudo apt install ufw sudo ufw status sudo ufw allow ssh sudo ufw allow proto tcp from any to any port 1080 sudo ufw status numbered sudo ufw enable |