Оглавление:
Статья последний раз была обновлена 02.07.2024
Устанавливаем SOCKS5-прокси Dante
За основу взяты Debian 9 и Dante в виду его невероятно простой настройки. Ставим dante-server:
sudo apt install dante-server
Бывает, что сходу демон Dante, danted, почему-то падает. Видимо косяк мейнтейнера пакета. Так что сразу лезем в конфиг:
sudo nano /etc/danted.conf
Перед вами откроется подробный конфиг с множеством комментариев. В принципе вы можете просто все удалить и вставить туда мой вариант, представленный ниже. Но можно изучить его, раскомментировать и исправить нужные параметры.
logoutput: stderr internal: eth0 port = 1080 external: eth0 socksmethod: username user.privileged: root user.unprivileged: nobody user.libwrap: nobody client pass { from: 0/0 to: 0/0 log: error } socks pass { from: 0/0 to: 0/0 log: error }
Подробнее о параметрах
socksmethod: username
— для авторизации по системному пользователю. Разумеется можно вообще написать none
, но тогда ваш сервер рискует попасть в публичные «бесплатные списки». Можно использовать хитрый механизм pam
c целым RADIUS-сервером, который будет авторизировать сотни пользователей. Но все же моей целью был личный сервер для себя и друзей, а не высоконагруженный продакшен-сервер на тысячи пользователей.
user.privileged: root
— вместо дефолтного proxy
ставим root
, потому что нам нужно читать файл /etc/passwd
для авторизации по системному пользователю.
А вот блоки client pass
и socks pass
и мутят всю магию прокси. Разумеется, можно покурить матчасть и поставить гору различных умных правил, но мне нужен был простой прокси.
Ctrl^O — сохраняем конфиг, Ctrl^X — выходим из редактора nano (ну мало ли).
Создаем отдельного системного пользователя для прокси
Теперь будет разумным сделать отдельного пользователя, особенно если вы не хотите чтобы пароль от вашего VPS узнали друзья, подключаясь к вашему прокси.
sudo useradd proxy sudo passwd proxy [вводим дважды пароль]
Готово, пользователь создан. Осталось только перезапустить службу:
sudo systemctl restart danted
Всего нужно будет помнить 4 настройки: IP-адрес вашего сервера, порт (в моем конфиге 1080), логин (в моем примере proxy) и пароль, который вы этому пользователю указали. Коннект должен пройти удачно.
Решение проблемы с IPv6
Я решила сделать субдомен для прокси, чтобы моим знакомым и друзьям не нужно было запоминать странный IP-адрес. Однако столкнулась с забавной сложностью. Дело в том, что в домене я прописала A- и AAAA-записи сразу, так как сервер поддерживал IPv6. Однако изначально я настроила сервер Dante без поддержки IPv6. В итоге мой ПК пытался подключится по умолчанию через IPv6, но не получал ответа. Возможно кому-то это пригодится, потому что я потратила на это время.
- Поднимаем веб-сервер на Ubuntu - 16.09.2024
- Переадресация домена на другой домен - 08.08.2023
- Как установить и удалить GNOME? - 31.07.2023