В этой статье мы продемонстрируем, как установить и настроить прокси-сервер Dante Socks 5 на базе ОС CentOS.
Dante — это свободный и открытый прокси-сервер, который используется для управления трафиком в сетях VPN.
Socks — это сетевой протокол, который позволяет скрывать реальный IP-адрес и местоположение пользователя, анонимно передавая данные через прокси-сервер.
Шаги по установке и настройке Dante Socks 5 Proxy Server в CentOS
Обновляем систему и устанавливаем необходимые для сборки компоненты
1 2 | sudo yum update sudo yum install gcc make |
далее, нам необходимо скачать архив с последней версией и собрать его из исзодников
1 2 3 4 5 6 7 | cd ~ wget https://www.inet.no/dante/files/dante-1.4.3.tar.gz tar -xvf dante-1.4.3.tar.gz cd dante-1.4.3 ./configure sudo make sudo make install |
для проверки, что установка прошла успешно, выполняем команду
1 | sockd -v |
Создаем необходимые для работы файлы и назначаем им права
1 2 3 4 5 | sudo touch /var/log/danted.log sudo chmod 777 /var/log/danted.log sudo touch /var/run/sockd.pid sudo chmod 777 /var/run/sockd.pid |
Далее, нам необходимо сконцентрировать прокси сервер
1 | sudo nano /etc/sockd.conf |
указываем следующий текст
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 | logoutput: /var/log/danted.log debug: 0 ##### INTERFACES/ADDRESSES ##### # "internal: ip" должен быть внутренним адресом сетевой карты этого прокси-сервера # Порт 1080 - это стандартный порт SOCKS. internal: 0.0.0.0 port=1080 external: ens3 ##### AUTHENTICATION TO THIS SOCKS SERVER ##### # "none" позволяет подключаться всем желающим socksmethod: none #socksmethod: username ##### CLIENT AUTHENTICATION METHOD ##### clientmethod: none client pass { from: 0.0.0.0/0 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 socksmethod: none protocol: tcp udp } socks block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error } |
Это конфигурация по умолчанию, важдые параметры
- external - необходимо указать имя сетевой карты
- internal - просшуливаемый сеттевой адрес, по умолчанию можно оставить 0.0.0.0, для того что бы прослушивались все адреса
- port - порт подлключения, рекомендуется именить, для примера мы будем использовать порт по умолчанию
далее, нам необходимо создать файл службы
1 | sudo nano /lib/systemd/system/danted.service |
со следующим текстом
1 2 3 4 5 6 7 8 9 10 11 12 | [Unit] Description=SOCKS (v4 and v5) proxy daemon (danted) Documentation=man:sockd(8) man:sockd.conf(5) After=network.target [Service] Type=forking PIDFile=/var/run/sockd.pid ExecStart=/usr/local/sbin/sockd -f /etc/sockd.conf -D [Install] WantedBy=multi-user.target |
и запускаем службу
1 2 | systemctl daemon-reload systemctl restart danted.service |
так же открываем порт для подключения
1 2 3 | firewall-cmd --add-port=1080/tcp --permanent firewall-cmd --add-port=1080/tcp --permanent firewall-cmd --reload |
в приципе, на данный момент уже можно использовать прокси сервер, проверьте п
Ограничение доступа к проси серверу
Ограничение по имени пользователя
Отредактируйте конфигурацию Danted в файле /etc/sockd.conf и измените этот раздел:
1 2 3 4 5 6 7 8 9 | # socksmethod: none // for non-authentication socksmethod: username socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: bind connect udpassociate log: error connect disconnect socksmethod: username } |
После чего, необходимо перезапустить службу
1 | systemctl restart danted.service |
Cоздание пользователя и пароля
1 2 | sudo useradd -r -s /bin/false your_dante_user sudo passwd your_dante_user |
Ограничение по IP-адресу
Отредактируйте конфигурацию Danted в файле /etc/sockd.conf и измените
1 2 3 4 | client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } |
на
1 2 3 4 | client pass { from: 1.2.2.11/32 to: 0.0.0.0/0 log: error connect disconnect } |
Где 1.2.2.11/32 - это единственный IP-адрес, к которому вы хотите разрешить доступ вашему прокси-серверу.
После чего, необходимо перезапустить службу
1 | systemctl restart danted.service |
Проверка работы
Чтобы продемонстрировать работу сервера Dante, вы воспользуетесь программой командной строки под названием curl, которая популярна для выполнения различных типов веб-запросов. В общем, если вы хотите проверить, должно ли данное соединение работать в браузере при идеальных обстоятельствах, вы всегда должны сначала протестировать его с помощью curl. Для этого вы будете использовать curl на своей локальной машине - он установлен по умолчанию во всех современных средах Windows, Mac и Linux, поэтому вы можете открыть любую локальную оболочку для выполнения этой команды:
Если вы используете авторизацию
1 | curl -v -x socks5://your_dante_user:your_dante_password@your_server_ip:1080 http://curlmyip.ru |
где
- your_dante_user - имя пользователя, для подключения к серверу
- your_dante_password - пароль пользователя
- your_server_ip - IP адрес сервера, для подключения
либо, без нее
1 | curl -v -x socks5://your_server_ip:1080 http://curlmyip.ru |
Примечание
Иногда IPv6 вызывает проблемы, поэтому рассмотрите возможность его отключения:
1 2 | sysctl -w net.ipv6.conf.default.disable_ipv6=1 sysctl -w net.ipv6.conf.all.disable_ipv6=1 |
Заключение
Установка и настройка Dante Socks 5 Proxy Server на базе ОС CentOS завершена. Теперь вы можете анонимно передавать данные через свой прокси-сервер и скрывать свое реальное местоположение.