3proxy с несколькими IPv4 на VPS: настройка и автоматизация
В статье Как установить и настроить 3proxy на VPS мы разобрали, как установить 3proxy на VPS, создать базовую конфигурацию, настроить авторизацию и проверить работу прокси с одним IPv4-адресом.
В этой статье разберем, как настроить 3proxy с несколькими IPv4-адресами на одном VPS и автоматизируем создание конфигурации, учетных данных и отдельных портов для каждого прокси.
Добавление дополнительных IPv4 на сервер
Сначала узнаем имя сетевого интерфейса:
На серверах Litnets это ens192. На других VPS интерфейс может называться eth0, ens3 или иначе.
ip addr show
На экране будет отображен список сетевых интерфейсов и назначенных им IP-адресов.
Дополнительные IPv4 на VPS Litnets
Note
В базовый тариф Litnets включен один IPv4-адрес. Если требуется несколько IPv4, дополнительные адреса можно заказать отдельно.
На тарифе Custom можно сразу выбрать необходимое количество IP. Также дополнительные IPv4 можно добавить к существующему VPS через поддержку на сайте.
Стоимость дополнительного IPv4 200 ₽.
Выданные дополнительные IP-адреса можно найти в панели управления сервером.
Настройка дополнительных IP
Для Ubuntu 24.04 сетевые настройки находятся в файле:
nano /etc/cloud/cloud.cfg.d/90-installer-network.cfg
Для Ubuntu 22.04 и более старых версий, а также Debian используется:
nano /etc/network/interfaces
Пример конфигурации с несколькими IPv4 для Ubuntu 24.04:
network:
version: 2
ethernets:
ens192:
addresses:
- 195.133.17.28/24 # замените на ваш основной IP
- 45.128.232.158/24
- 103.80.86.17/24
- 194.48.141.156/24
- 45.128.96.89/24
- 45.90.236.42/24
- 2a0d:6c2:17:c92::/47
routes:
- to: default
via: 195.133.17.1 # замените на ваш шлюз
- to: 45.128.232.0/24
via: 45.128.232.1
- to: 103.80.86.0/24
via: 103.80.86.1
- to: 194.48.141.0/24
via: 194.48.141.1
- to: 45.128.96.0/24
via: 45.128.96.1
- to: 45.90.236.0/24
via: 45.90.236.1
- to: ::/0
via: 2a0d:6c2:16::1
on-link: true
link-local: []
nameservers:
addresses:
- 2001:4860:4860::8888
- 8.8.4.4
В конфигурации замените IP-адреса и шлюзы на значения, предоставленные вашим VPS-провайдером. Не используйте значения из примера без проверки, так как сетевые параметры зависят от конкретного сервера.
Перезагрузите сервер что бы принять конфиг
Проверьте, появились ли дополнительные адреса:
ip addr show ens192 | grep inet
Должны отобразиться основной и дополнительные IP-адреса, назначенные сетевому интерфейсу.
Автоматическая настройка нескольких IPv4
Если на сервере используется несколько IPv4, добавлять каждый прокси вручную в конфигурацию 3proxy может быть неудобно.
Можно использовать небольшой Bash-скрипт, который автоматически создаст конфигурацию для всех указанных IP-адресов, назначит каждому прокси отдельный порт и создаст учетные данные для подключения.
Создайте файл:
nano generate-proxy-list.sh
Добавьте в него:
#!/bin/bash
SERVER_IP="195.133.17.28" # замените на основной IP сервера
OUTPUT_FILE="/root/proxies.txt" # файл с параметрами подключений
PASSWD_FILE="/etc/3proxy/passwd" # файл пользователей 3proxy
CONFIG_FILE="/etc/3proxy/3proxy.cfg" # конфигурация 3proxy
IPS=("195.133.17.28" "45.128.232.158" "103.80.86.17" "194.48.141.156" "45.128.96.89" "45.90.236.42") # добавьте свои IP
START_PORT=3001 # начальный порт
# Создаем базовую конфигурацию 3proxy
cat > "$CONFIG_FILE" << 'HEADER'
daemon
pidfile /var/run/3proxy.pid
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30
users $/etc/3proxy/passwd
flush
auth strong
allow *
HEADER
# Очищаем старые данные
> "$PASSWD_FILE"
> "$OUTPUT_FILE"
for i in "${!IPS[@]}"; do
PORT=$((START_PORT + i))
EXIT_IP="${IPS[$i]}"
USER="client$((i+1))"
PASS=$(openssl rand -hex 8)
# Создаем учетную запись
echo "${USER}:CL:${PASS}" >> "$PASSWD_FILE"
# Добавляем прокси с отдельным исходящим IP
echo "proxy -p${PORT} -i0.0.0.0 -e${EXIT_IP} -n${USER}" >> "$CONFIG_FILE"
# Сохраняем параметры подключения
echo "${SERVER_IP}:${PORT}:${USER}:${PASS}" >> "$OUTPUT_FILE"
done
chmod 600 "$PASSWD_FILE"
systemctl restart 3proxy
echo "Готово! Параметры подключений:"
cat "$OUTPUT_FILE"
Запустите скрипт:
bash generate-proxy-list.sh
После выполнения скрипт выведет параметры созданных подключений.
Параметры также сохраняются в файл:
cat /root/proxies.txt
Файл содержит адрес сервера, порт, логин и пароль для каждого созданного прокси.
Проверить сгенерированную конфигурацию можно командой:
cat /etc/3proxy/3proxy.cfg
В конфигурации должна появиться отдельная строка proxy для каждого IPv4-адреса.
Проверка портов
После перезапуска 3proxy убедитесь, что сервис слушает все созданные порты:
ss -tlnp | grep 3proxy
В результате должны быть выведены порты, указанные в конфигурации.
Если используется UFW и необходимые порты закрыты, разрешите входящие подключения.
Например, для портов 3001–3006:
ufw allow 3001:3006/tcp comment "3proxy IPv4"
ufw reload
После изменения правил firewall можно повторно проверить доступность портов.
Проверка прокси
Сначала проверим подключение локально, с самого VPS.
В примере используются:
client1 — логин из /etc/3proxy/passwd
758b682d5230d5a8 — пароль из /etc/3proxy/passwd
3001 — порт первого прокси
https://api.ipify.org — сервис, который возвращает IP-адрес отправителя запроса.
curl -s -x http://client1:758b682d5230d5a8@127.0.0.1:3001 https://api.ipify.org
В ответ должен вернуться IPv4-адрес, указанный в параметре -e для порта 3001.
Это подтверждает, что 3proxy принимает подключение и отправляет запрос через настроенный исходящий IP.
Теперь проверим подключение с внешнего устройства, например домашнего компьютера:
curl -v -x http://client1:758b682d5230d5a8@195.133.17.28:3001 https://api.ipify.org
Здесь 195.133.17.28 IP-адрес VPS, 3001 — порт прокси.
Если подключение не устанавливается, используйте подробный режим curl:
curl -v -x http://client1:758b682d5230d5a8@195.133.17.28:3001 https://api.ipify.org
Дополнительно проверьте состояние сервиса:
systemctl status 3proxy.service
Если после изменения конфигурации требуется перезапустить 3proxy:
systemctl restart 3proxy.service
После успешной проверки каждый настроенный прокси можно использовать отдельно, указав соответствующий IP сервера, порт и учетные данные.
Подключение прокси на компьютере
После успешной проверки прокси его можно настроить в браузере или на уровне операционной системы.
Для подключения понадобятся:
- IP-адрес VPS;
- порт нужного прокси;
- логин;
- пароль.
Например, для первого прокси из нашей конфигурации:
Тип: HTTP
Адрес: 195.133.17.28
Порт: 3001
Логин: client1
Пароль: 758b682d5230d5a8
В браузерах Chrome и Firefox настройки прокси зависят от используемой операционной системы и установленных расширений. При необходимости прокси также можно настроить системно.
Windows
Откройте:
Параметры → Сеть и Интернет → Прокси → Ручная настройка прокси
Укажите IP-адрес и порт прокси, после чего сохраните настройки.
При первом подключении браузер запросит логин и пароль. Используйте учетные данные, созданные для соответствующего прокси.
После подключения можно проверить внешний IP-адрес через любой сервис, который показывает IP отправителя запроса.
Если настроить несколько прокси на одном VPS, каждый из них может использовать отдельный исходящий IPv4-адрес.
Например:
195.133.17.28:3001 → первый IPv4
45.128.232.158:3002 → второй IPv4
103.80.86.17:3003 → третий IPv4
194.48.141.156:3004 → четвертый IPv4
При подключении к соответствующему порту 3proxy отправляет соединение через IPv4-адрес, указанный в параметре -e для этого прокси.
Таким образом, один VPS может обслуживать несколько отдельных прокси с разными исходящими IPv4-адресами. Это удобно, когда разные приложения или задачи должны использовать разные сетевые адреса.
Что дает VPS с несколькими IPv4
Использование дополнительных IPv4 позволяет расширить конфигурацию без запуска отдельного VPS для каждого адреса. Каждый IP можно назначить отдельному прокси и связать с собственным портом и учетными данными.
На Litnets дополнительный IPv4 можно заказать за 200 ₽. Поэтому конфигурацию можно начать с одного адреса и постепенно расширять по мере необходимости.
Если требуется большое количество сетевых адресов, стоит обратить внимание на IPv6. На VPS Litnets доступна IPv6-подсеть /47, которую можно использовать для собственных сетевых сервисов.
В следующей статье разберем настройку 3proxy с IPv6 и использование адресов из подсети /47:
IPv6 прокси из подсети /47 на одном VPS
VPS для 3proxy
Для настройки нескольких IPv4 подойдет базовый VPS с Linux. Если требуется больше адресов или одновременно работает большое количество соединений, ресурсы сервера можно увеличить отдельно от сетевой конфигурации.
На VPS Litnets доступен IPv4-адрес и IPv6-подсеть /47. Дополнительные IPv4 можно заказать отдельно, начиная с 200 ₽ за адрес.
Это позволяет использовать один VPS для нескольких сетевых сервисов и постепенно расширять конфигурацию по мере необходимости.
Tариф Custom
Windows OS доступны с минимальными характеристиками: 2 vCPU, 2 GB RAM, и 20 GB SSD
Цена:
1vCPU - 180₽ (1 бесплатно)
1GB RAM - 230₽
1GB SSD - 15₽
1 ipv4 - 200₽ (1 бесплатно)