IPv6 прокси на VPS из подсети /47: настройка 3proxy и создание прокси

IPv6 прокси из подсети /47 на VPS: настройка 3proxy

Настройка IPv6 прокси из подсети /47

IPv6 прокси из подсети /47: статические адреса

Что такое статический IPv6 прокси и зачем он нужен

Статический IPv6 прокси это фиксированный адрес из вашей подсети, который не меняется между сессиями. Клиент всегда выходит через один и тот же IPv6, как через выделенный IPv4, что позволяет использовать большое количество адресов из выделенной подсети без заказа отдельного IPv4 для каждого адреса

Для каких задач подходят статические IPv6

Статические IPv6-прокси подходят для задач, где требуется несколько независимых сетевых адресов:

Преимущества перед IPv4

Если требуется несколько сетевых адресов, IPv6 позволяет использовать большую подсеть без необходимости заказывать отдельный IPv4 для каждого адреса.

IPv4 остается универсальным вариантом, т.к. его поддержка больше распространена. IPv6 подходит для сервисов и приложений, которые поддерживают этот протокол.

Если конкретный ресурс не поддерживает IPv6, для него можно использовать IPv4-прокси из предыдущей статьи: Пул IPv4 прокси на 3proxy

IPv6-подсеть на VPS Litnets

На VPS Litnets по умолчанию выдается 1 IPv4 и подсеть IPv6 /47. Это позволяет использовать VPS не только для одного IPv6 прокси, но и создавать несколько независимых прокси с разными исходящими IPv6-адресами.

В отличие от IPv4, для каждого дополнительного IPv6 не нужно заказывать отдельный адрес. Можно использовать адреса из выданной подсети /47.

Note

На Litnets VPS доступны IPv4 и подсеть IPv6 /47, поэтому сервер можно использовать как основу для собственной прокси-инфраструктуры.

Купить VPS для 3proxy

Проверяем подсеть на сервере

На серверах litnets подсеть уже прописана в netplan при настройке сервера. Проверяем:

	ip addr show ens192 | grep inet6
	

Должны увидеть ваш ipv6 адрес

Проверка IPv6 подсети на сервере
	inet6 2a0d:6c2:17:c92::/47 scope global
	

Проверяем что IPv6 маршрутизируется наружу:

	ping6 -c 3 google.com
	
Проверка маршрутизации IPv6

Если пингуется, то подсеть работает.

Добавляем маршрут для подсети

Сейчас система знает что подсеть существует, но не знает что может использовать любой адрес из неё как исходящий. Маршрут local говорит что все адреса из этой подсети локальные.

Сначала проверяем, возможно маршрут уже есть:

	ip -6 route show table local | grep "local 2"
	
Проверка локального IPv6 маршрута

Если видите строку вида local 2a0d:6c2:16::/47 dev lo, то маршрут уже поднят автоматически и ничего делать не нужно, переходите к следующему шагу.

Если строки нет, добавляем вручную:

	ip -6 route add local ВАША_ПОДСЕТЬ/47 dev lo
	

Важно: подсеть в маршруте может отличаться от той что прописана в netplan. Например в netplan 2a0d:6c2:17:c92::/47, а маршрут поднимается как 2a0d:6c2:16::/47 — это нормально, /47 объединяет две /48 подсети. Используйте ту подсеть которую показывает команда проверки.

Создание базового файла конфигурации

Убедитесь, что 3proxy установлен. Как установить 3proxy на VPS разбирали в статье Как установить и настроить 3proxy на VPS

Создаём директорию и файл конфигурации:

	mkdir -p /etc/3proxy
mkdir -p /var/log/3proxy
touch /etc/3proxy/3proxy.cfg
touch /etc/3proxy/passwd
	

Минимальный рабочий конфиг:

	nano /etc/3proxy/3proxy.cfg
	

Создайте файл с базовой конфигурацией

	daemon
pidfile /run/3proxy.pid
nscache 65536
nscache6 65536
timeouts 1 5 30 60 180 1800 15 60
log /tmp/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 *

# IPv4 прокси
proxy -p3001 -i0.0.0.0 -e195.133.17.28

# === GENERATED IPV6 PROXIES ===
	

Здесь IPv4-прокси оставлен для проверки основной конфигурации, если он не нужен, его можно убрать.

IPv6-прокси будут автоматически добавлены после запуска скрипта генерации.

Настройка systemd-сервиса

Настройка с помощью systemd позволит запускать прокси фоном, автоматически поднимать прокси после перезагрузки и легко управлять процессом.

	cat > /etc/systemd/system/3proxy.service << 'EOF'
[Unit]
Description=3proxy Proxy Server
After=network.target

[Service]
Type=forking
PIDFile=/run/3proxy.pid
ExecStart=/usr/local/bin/3proxy /etc/3proxy/3proxy.cfg
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
	
Статус systemd сервиса 3proxy

Если появился статус active, то сервис запущен

Скрипт автоматизирующий создание статических IPv6 прокси

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

  1. Очищает старые хвосты конфигурации по маркеру # === GENERATED IPV6 PROXIES ===.
  2. Переводит номер итерации в шестнадцатеричный вид (printf "%x"), формируя валидный суффикс IPv6.
  3. Вешает адрес на сетевой интерфейс (ip -6 addr add).
  4. Генерирует надежные случайные пароли через openssl.
  5. Прописывает директивы proxy -64 для корректной маршрутизации.
	nano generate-ipv6-proxies.sh
	
	#!/bin/bash
# generate-ipv6-proxies.sh

SERVER_IP="195.133.17.28"    # IPv4 сервера для подключения
SUBNET="2a0d:6c2:17:c92"     # Ваша подсеть без ::
OUTPUT_FILE="/root/proxies-ipv6.txt"
PASSWD_FILE="/etc/3proxy/passwd"
CONFIG_FILE="/etc/3proxy/3proxy.cfg"
START_PORT=4001
COUNT=10                     # Сколько IPv6 прокси создать

# 1. Очищаем старые сгенерированные прокси из конфига по маркеру
if grep -q "# === GENERATED IPV6 PROXIES ===" "$CONFIG_FILE"; then
    sed -i '/# === GENERATED IPV6 PROXIES ===/,$d' "$CONFIG_FILE"
fi
# Возвращаем маркер на место
echo "# === GENERATED IPV6 PROXIES ===" >> "$CONFIG_FILE"

# 2. Очищаем старые временные файлы выдачи и паролей
> "$OUTPUT_FILE"
> "$PASSWD_FILE"

# 3. Генерация прокси в цикле
for i in $(seq 1 $COUNT); do
    PORT=$((START_PORT + i - 1))
    
    # Генерируем IPv6 (суффикс в шестнадцатеричном формате: 1, 2... a, b... 10)
    SUFFIX=$(printf "%x" $i)
    IPV6="${SUBNET}::${SUFFIX}"
    
    # Генерируем уникальные доступы
    USER="useripv${i}"
    PASS=$(openssl rand -hex 6)

    # Добавляем IPv6-адрес на сетевой интерфейс сервера (маска /64)
    ip -6 addr add "${IPV6}/64" dev ens192 2>/dev/null

    # Записываем пользователя в файл passwd
    echo "${USER}:CL:${PASS}" >> "$PASSWD_FILE"

    # Добавляем строку прокси с флагом -64 (ВАЖНО для вашей версии 3proxy)
    echo "proxy -64 -p${PORT} -i0.0.0.0 -e${IPV6}" >> "$CONFIG_FILE"

    # Формируем список прокси для импорта в софт/браузер
    echo "${SERVER_IP}:${PORT}:${USER}:${PASS}" >> "$OUTPUT_FILE"
done

# 4. Перезапуск сервиса для применения настроек
systemctl restart 3proxy

echo "Готово! Успешно создано $COUNT IPv6 прокси."
echo "Список прокси сохранен в: $OUTPUT_FILE"
echo "----------------------------------------"
cat "$OUTPUT_FILE"
	
	bash generate-ipv6-proxies.sh
	
Результат создания IPv6 прокси скриптом

Здесь для каждого прокси используются:

один порт;

отдельный IPv6-адрес;

отдельный логин;

отдельный пароль.

Полученный список также сохраняется в /root/proxies-ipv6.txt.

Пример конфига который получился

	daemon
pidfile /run/3proxy.pid
nscache 65536
nscache6 65536
timeouts 1 5 30 60 180 1800 15 60
log /tmp/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 *

# IPv4 прокси
proxy -p3001 -i0.0.0.0 -e195.133.17.28

# === GENERATED IPV6 PROXIES ===
proxy -64 -p4001 -i0.0.0.0 -e2a0d:6c2:17:c92::1
proxy -64 -p4002 -i0.0.0.0 -e2a0d:6c2:17:c92::2
proxy -64 -p4003 -i0.0.0.0 -e2a0d:6c2:17:c92::3
proxy -64 -p4004 -i0.0.0.0 -e2a0d:6c2:17:c92::4
proxy -64 -p4005 -i0.0.0.0 -e2a0d:6c2:17:c92::5
proxy -64 -p4006 -i0.0.0.0 -e2a0d:6c2:17:c92::6
proxy -64 -p4007 -i0.0.0.0 -e2a0d:6c2:17:c92::7
proxy -64 -p4008 -i0.0.0.0 -e2a0d:6c2:17:c92::8
proxy -64 -p4009 -i0.0.0.0 -e2a0d:6c2:17:c92::9
proxy -64 -p4010 -i0.0.0.0 -e2a0d:6c2:17:c92::a
	

Проверяем

Проверка что порты из конфига слушаются

	ss -tlnp | grep 3proxy
	
Проверка портов 3proxy

Можно проверить каждый порт скриптом, вставьте его в терминал и выполните

	while IFS=: read -r IP PORT USER PASS; do
    RES=$(curl -s -x "http://${USER}:${PASS}@127.0.0.1:${PORT}" --connect-timeout 4 https://api6.ipify.org)
    
    if [ -n "$RES" ]; then
        echo "Порт $PORT работает → $RES"
    else
        echo "Порт $PORT ОШИБКА (нет ответа от IPv6)"
    fi
done < /root/proxies-ipv6.txt
	

Каждый порт должен отдавать свой уникальный IPv6 адрес.

Проверка IPv6 прокси

Можно проверить отдельно соединение локально с сервера на котором запущен 3proxy

	curl -s -x http://useripv1:7099190b75e0@127.0.0.1:4001 https://api6.ipify.org
	

Или из вне, например с домашнего компьютера. Соединение будет проходить по вашему внешнему ip и перенаправляться на ipv6

	curl -s -x http://useripv1:7099190b75e0@195.133.17.28:4001 https://api6.ipify.org
	

195.133.17.28 — IPv4-адрес VPS;

4001 — порт первого IPv6-прокси;

useripv1 — логин;

7099190b75e0 — пароль;

api6.ipify.org — сервис для проверки исходящего IPv6.

Или если требуется отладочная информация то замените -s на -v

	curl -v -x http://useripv1:7099190b75e0@127.0.0.1:4001 https://api6.ipify.org
	

Настройка IPv6-прокси на компьютере

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

Для подключения понадобятся IPv4-адрес VPS, порт, логин и пароль соответствующего прокси.

Браузер (Chrome/Firefox) в настройках сети указывается:

	Тип: HTTP
Адрес: 195.133.17.28
Порт: 4001
Логин: useripv1
Пароль: 7099190b75e0
	

Системно (Windows) — Параметры → Сеть → Прокси → Ручная настройка

Системно (Mac) — Системные настройки → Сеть → Прокси

Например в Windows

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

Добавляем свой ip и порт, сохраняем

Добавление IP и порта прокси в Windows

В браузере появится возможность авторизации, вводим логин и пароль

Авторизация в IPv6 прокси

При проверке видим ваш ipv6 адрес

Проверка IPv6 адреса прокси

Сохраняем настройки после перезагрузки

После перезагрузки сервера IPv6 адреса добавленные скриптом через ip -6 addr add слетают, т.к это временные адреса.

Пароли и конфиг 3proxy остаются нетронутыми, но прокси перестают работать потому что адресов на интерфейсе нет.

Чтобы это исправить прописываем все IPv6 адреса в netplan. Тогда они будут подниматься автоматически при каждой загрузке, а пароли останутся прежними.

Запускаем скрипт один раз:

	nano fix-ipv6-persistent.sh
	
	#!/bin/bash
# fix-ipv6-persistent.sh

SUBNET="2a0d:6c2:17:c92"
COUNT=10  # Столько же сколько создавали прокси
CONFIG="/etc/cloud/cloud.cfg.d/90-installer-network.cfg"

for i in $(seq 1 $COUNT); do
    SUFFIX=$(printf "%x" $i)
    IPV6="${SUBNET}::${SUFFIX}/47"
    # Добавляем только если ещё нет
    grep -q "$IPV6" "$CONFIG" || \
    sed -i "/- ${SUBNET}::\\/47/a\\        - ${IPV6}" "$CONFIG"
done

netplan apply
echo "Готово."
	
	bash fix-ipv6-persistent.sh
	

перезагружаем сервер

Проверяем что адреса появились:

	ip -6 addr show ens192 | grep "c92::"
	

Перезагружаемся и убеждаемся что всё осталось:

	reboot
	

После перезагрузки:

	# Адреса на месте
ip -6 addr show ens192 | grep "c92::" | wc -l

# Прокси работают с теми же паролями
curl -s -x http://useripv1:7099190b75e0@127.0.0.1:4001 https://api6.ipify.org
	
Проверка IPv6 прокси после перезагрузки VPS

Теперь при подключении к вашему ip по разным портам будет происходить перенаправление трафика на ipv6 адрес, который указан в конфиге.

В следующей статье разберем, как настроить автоматическую смену IPv6-адреса через заданный интервал, сохраняя те же параметры подключения: Ротирующие IPv6 прокси на 3proxy. Автоматическая смена IP по таймеру

Используйте прокси только в соответствии с законодательством, правилами используемых сервисов и условиями вашего VPS-провайдера. Не допускайте использования сервера для спама, атак, обхода ограничений и другой запрещенной активности.

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₽