Прокси-серверы используются уже много лет. Прокси-сервер — это метод подключения к веб-сайту или сервису через другой сервер. В данном руководстве мы будем использовать KVM NVMe VDS/VPS для настройки прокси-сервера Dante SOCKS5 в операционной системе Linux Ubuntu.
Существуют разные типы прокси-серверов. Например, HTTP-прокси-серверы, такие как Squid, были популярны до широкого распространения HTTPS. В отличие от них, SOCKS-прокси пересылают TCP- и UDP-пакеты, а также позволяют настроить аутентификацию пользователей.
По умолчанию Dante слушает порт 1080, но мы будем использовать пользовательский порт для нашего прокси-сервера.
Требования к серверу
Для работы прокси-сервера Dante на Linux не требуется мощный сервер. Достаточно:
- 1 ядро процессора
- 20 ГБ свободного пространства на диске
- 1 ГБ оперативной памяти
В руководстве рассматривается установка на Ubuntu 22.04, но оно также подходит для Ubuntu 20.04, 18.04 и 16.04.
Обновление сервера
Перед установкой убедитесь, что ваш сервер обновлен:
apt update
apt upgradeУстановка Dante
apt install dante-serverПосле установки Dante может не запуститься из-за отсутствия конфигурации. Далее разберем ее настройку.
Настройка Dante в Ubuntu
Файл конфигурации Dante находится в /etc/danted.conf. Для начала сделаем резервную копию:
mv /etc/danted.conf /etc/danted-org.confСоздадим новый файл /etc/danted.conf и вставим следующий код:
internal: 178.xx.xx.xxx port = 1439
external: 178.xx.xx.xxx
clientmethod: none
socksmethod: none
user.privileged: root
user.notprivileged: nobody
external.rotation: same-same
logoutput: /var/log/socks.log
client pass {
```bash
from: 0.0.0.0/32 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}
## Замена IP-адресов
Замените `178.xx.xx.xxx` на основной IP-адрес вашего прокси-сервера. Если у вас есть несколько IP-адресов, добавьте их в конфигурацию:
```conf
internal: 179.xx.xx.xxx port = 1439
external: 176.xx.xx.xxx
internal: 180.xx.xx.xxx port = 1439
external: 178.xx.xx.xxx
internal: 181.xx.xx.xxx port = 1439
external: 179.xx.xx.xxxОграничение доступа к прокси-серверу SOCKS5
Доступ только с определенного IP-адреса
Если вы хотите разрешить доступ только с определенного IP-адреса, укажите его в конфигурации:
client pass {
```bash
from: xx.xxx.xxx.xxx/32 to: 0.0.0.0/0
log: error connect disconnect}
### Доступ для диапазона IP-адресов (подсеть /29)
```conf
client pass {
```bash
from: xx.xxx.xxx.xxx/29 to: 0.0.0.0/0
log: error connect disconnect}
> **Важно!** В данной статье не рассматривается настройка аутентификации пользователей, но Dante поддерживает авторизацию.
## Перезапуск Dante
После настройки перезапустите сервис и включите его автозапуск:
```bash
systemctl restart danted
systemctl enable dantedТеперь ваш прокси-сервер SOCKS5 работает и доступен только для разрешенных IP-адресов.
Проверка работы прокси
Для проверки работоспособности прокси можно использовать curl:
curl --socks5 178.xx.xx.xxx:1439 https://ifconfig.meЕсли всё настроено правильно, команда вернёт IP-адрес вашего прокси-сервера.
Заключение
Мы настроили прокси-сервер Dante SOCKS5 на Ubuntu. Этот прокси можно использовать для:
- Обхода географических ограничений
- Повышения приватности в интернете
- Маршрутизации трафика через определённый сервер
- Тестирования приложений с разных IP-адресов
Для повышения безопасности рекомендуется настроить аутентификацию пользователей и использовать firewall для дополнительной защиты.