3proxy с несколькими IPv4 на VPS: настройка и автоматизация

3proxy с несколькими IPv4 на VPS: настройка и автоматизация

В статье Как установить и настроить 3proxy на VPS мы разобрали, как установить 3proxy на VPS, создать базовую конфигурацию, настроить авторизацию и проверить работу прокси с одним IPv4-адресом.

В этой статье разберем, как настроить 3proxy с несколькими IPv4-адресами на одном VPS и автоматизируем создание конфигурации, учетных данных и отдельных портов для каждого прокси.

Добавление дополнительных IPv4 на сервер

Сначала узнаем имя сетевого интерфейса:

На серверах Litnets это ens192. На других VPS интерфейс может называться eth0, ens3 или иначе.

	ip addr show
	

На экране будет отображен список сетевых интерфейсов и назначенных им IP-адресов.

Сетевые интерфейсы и IP-адреса VPS

Дополнительные IPv4 на VPS Litnets

Note

В базовый тариф Litnets включен один IPv4-адрес. Если требуется несколько IPv4, дополнительные адреса можно заказать отдельно.

На тарифе Custom можно сразу выбрать необходимое количество IP. Также дополнительные IPv4 можно добавить к существующему VPS через поддержку на сайте.

Стоимость дополнительного IPv4 200 ₽.

Выданные дополнительные IP-адреса можно найти в панели управления сервером.

Дополнительные IPv4-адреса в панели управления VPS

Настройка дополнительных 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 с несколькими IPv4

Проверка портов

После перезапуска 3proxy убедитесь, что сервис слушает все созданные порты:

	ss -tlnp | grep 3proxy
	

В результате должны быть выведены порты, указанные в конфигурации.

Проверка открытых портов 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

Это подтверждает, что 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 сервера, порт и учетные данные.

Подключение прокси на компьютере

После успешной проверки прокси его можно настроить в браузере или на уровне операционной системы.

Для подключения понадобятся:

Например, для первого прокси из нашей конфигурации:

	Тип: HTTP
Адрес: 195.133.17.28
Порт: 3001
Логин: client1
Пароль: 758b682d5230d5a8
	

В браузерах Chrome и Firefox настройки прокси зависят от используемой операционной системы и установленных расширений. При необходимости прокси также можно настроить системно.

Windows

Откройте:

Параметры → Сеть и Интернет → Прокси → Ручная настройка прокси

Настройка прокси в Windows

Укажите IP-адрес и порт прокси, после чего сохраните настройки.

Добавление IP-адреса и порта прокси в 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 для нескольких сетевых сервисов и постепенно расширять конфигурацию по мере необходимости.

Посмотреть VPS для 3proxy

Lite
CPU
1x2.6Ghz
RAM
1GB DDR4
SSD
10GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
299₽
Basic
CPU
2x2.6Ghz
RAM
2GB DDR4
SSD
40GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
799₽
PRO
CPU
4x2.6Ghz
RAM
6GB DDR4
SSD
100GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
1288₽

Tариф Custom

Трафик: Unlimited 1Gbis/s port
Windows OS доступны с минимальными характеристиками: 2 vCPU, 2 GB RAM, и 20 GB SSD
Цена:
1vCPU - 180₽ (1 бесплатно)
1GB RAM - 230₽
1GB SSD - 15₽
1 ipv4 - 200₽ (1 бесплатно)
Соберите свой сервер:
2 vCPU
20GB RAM DDR4
20GB SSD NVMe
1 ipv4
Операционная система:
локация:
Срок оплаты:
1400₽