Как настроить мобильные прокси на linux своими руками

В этой статье рассмотрим настройку мобильных прокси через скрипт bash.
Настраивать будем самостоятельно, как говорят в народе своими руками )
Что нам понадобится :

  • Сервер в виде обычного ПК или ноутбука;
  • USB хаб, желательно промышленный;
  • Модемы huawei e3372h (huawei e8372h)

На сервер нужно установить Linux, а именно ubuntu16 — 64bit. Можно десктопную версию, но я предпочтительно выбираю серверную.

Скачать образ вы можете на оф. сайте https://releases.ubuntu.com/16.04/
После записать образ на флешку при помощи rufus , так же скачать можете на сайте https://rufus.ie/ru/
Выставить в bios приоритет загрузки , чтобы читал вначале флешку и установить Linux.
Если ставите серверную версию, то при установке выберите пакет ssh server (понадобится для подключения к серверу по ssh). Так же рекомендую перед установкой сразу подключить проводной инет от вашего роутера, чтобы сеть сразу сконфигурировалась.

Модемы должны быть прошитыми с возможностью настройки dhcp, а именно с возможностью задать каждому модемы свой ip (шлюз).
Модемам нужно задать ip :

  • 192.168.11.1
  • 192.168.12.1
  • 192.168.13.1
  • 192.168.14.1
  • 192.168.15.1
  • и т.д.

Каждый модем подписать, чтобы после легко ориентироваться где какой.

Так же можете настроить автосмену imei при перезагрузке модема и установить fix ttl 64 или 128. Это нужно чтобы можно было использовать смартфонные тарифы.

Пишу всё довольно сжато, т.к. думаю читатели данной статьи уже неплохо ориентируются в работе с unix системами. Ведь не зря вы тут).
После того как авторизуетесь на сервере под своим юзером, я рекомендую установить пароль для root и в настройках ssh разрешить доступ от root. Если для вас это кажется небезопасно, то можете работать через sudo.

Ну что поехали) Выкладываю скрипт, который несёт в себе коммерческую цену, но я его предоставляю совершенно бесплатно.
Перед всеми манипуляциями проверяем есть ли инет на сервере, можно через ping ya.ru


Авторизовываемся в консоле (терминале) и скачиваем скрипт, командой:

wget https://kak-podnyat-proksi-ipv6.ru/skript/frigate-proxy.sh

Если Вы работаете через своего пользователя то не забываем делать все команды через sudo.

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

chmod +x frigate-proxy.sh

Открываем скрипт любым удобным способом. Можно открыть любым тектсовым редактором через sftp или прям из консоли через тот же консольный текстовый редактор nano.

Нужно указать то количество модемов на которых вы хотите настроить мобильные прокси.

По умолчанию стоит 40, можете оставить это значение, если у вас меньшее количество. Если же у Вас больше модемов то поправьте это значение на нужное.

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

Ранее я видел настройки, где каждый usb модем привязывался к конкретному usb порту хаба. В нашем же случае это учтено.

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

Для этого забейте команду:

lsusb | grep -o "Huawei" | wc -l

Вывод покажет количество модемов, которые видит система. Иногда сервер не видит большое количество модемов из-за ограничения кол-ва устройств по стандарту USB 3.0
Если Вы столкнулись с этим, то это можно поправить. Вначале посмотрите id xHCI командой:

lspci -nn | grep xHCI

Если команда отработала и показала вывод, то смотрим значение id (8086:8c31), подставляем в след команды и вводим их в консоль:

sudo setpci -H1 -d 8086:8c31 d8.l=0
sudo setpci -H1 -d 8086:8c31 d0.l=0

Так же после того как отработает скрипт запишите эти 2 команды в автозагрузку /etc/rc.local

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

bash /root/frigate-proxy.sh

Как только скрипт отработал, в папке root появятся 2 фала proxyhttp.txt и proxysocks.txt с Вашими мобильными прокси.

Перезагрузите сервер и прокси должны заработать. Не забываем настроить проброс портов на вашем роутере именно для портов прокси и подключить статический ip от проводного инета, если Вы это не сделали ранее!

Статический ip нужен для того чтобы подключиться к прокси удалённо.

Если же прокси хотите использовать в локальной сети то это не требуется.

Проверить прокси на валидность Вы можете так же через консоль командой (для https и socks5 прокси соответственно):

curl --proxy login:pass@ip:port ipinfo.io/ip
curl --socks5 login:pass@ip:port ipinfo.io/ip

Также для диагностики работы прокси можете использовать ping.

Например проверить есть ли интернет на модеме:

ping -I 192.168.11.100 google.com

Проверить доступность самого модема:

ping 192.168.11.1

Так же выкладываю содержимого всего скрипта, на тот случай если основной файл затрётся.

В скрипте так же имеются комментарии для основных команд.

#!/bin/bash
iface=`ls /sys/class/net/ | head -1`
IP=`ip addr list $iface | grep " inet " | head -n 1 | cut -d " " -f 6 | cut -d / -f 1`
via=`ip route | grep default | cut -d " " -f 3`
export TAB= \t'
nmodem=`lsusb | grep -o "Huawei" | wc -l`
ipv4=`curl ipinfo.io/ip`
# обновление
apt-get update
# правим имена интерфейсов, чтобы они определялись по порядку eth1,eth2...
sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/' /etc/default/grub
update-grub
# установка необходимых пакетов
apt-get -y install gcc g++ git make curl usb-modeswitch dos2unix pwgen dsniff

sed -i -e 's/ domain-name-servers,//' /etc/dhcp/dhclient.conf


# расширение лимитов на открытие файлов
echo "root hard nofile 250000
root soft nofile 500000
nobody hard nofile 250000
nobody soft nofile 500000
* hard nofile 250000
* soft nofile 500000
root hard nproc 20000
root soft nproc 40000
nobody hard nproc 20000
nobody soft nproc 40000
* hard nproc 20000
* soft nproc 40000" >> /etc/security/limits.conf
# настройка сетовых интерфейсов для 40 модемов
echo "# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address $IP
netmask 255.255.255.0
gateway $via
dns-nameservers $via
auto eth1 eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 eth11 eth12 eth13 eth14 eth15 eth16 eth17 eth18 eth19 eth20 eth21 eth22 eth23 eth24 eth25 eth26 eth27 eth28 eth29 eth30 eth31 eth32 eth33 eth34 eth35 eth36 eth37 eth38 eth39 eth40
iface eth1 inet dhcp
iface eth2 inet dhcp
iface eth3 inet dhcp
iface eth4 inet dhcp
iface eth5 inet dhcp
iface eth6 inet dhcp
iface eth7 inet dhcp
iface eth8 inet dhcp
iface eth9 inet dhcp
iface eth10 inet dhcp
iface eth11 inet dhcp
iface eth12 inet dhcp
iface eth13 inet dhcp
iface eth14 inet dhcp
iface eth15 inet dhcp
iface eth16 inet dhcp
iface eth17 inet dhcp
iface eth18 inet dhcp
iface eth19 inet dhcp
iface eth20 inet dhcp
iface eth21 inet dhcp
iface eth22 inet dhcp
iface eth23 inet dhcp
iface eth24 inet dhcp
iface eth25 inet dhcp
iface eth26 inet dhcp
iface eth27 inet dhcp
iface eth28 inet dhcp
iface eth29 inet dhcp
iface eth30 inet dhcp
iface eth31 inet dhcp
iface eth32 inet dhcp
iface eth33 inet dhcp
iface eth34 inet dhcp
iface eth35 inet dhcp
iface eth36 inet dhcp
iface eth37 inet dhcp
iface eth38 inet dhcp
iface eth39 inet dhcp
iface eth40 inet dhcp" > /etc/network/interfaces
# установка отпечатка андроид
echo "net.ipv4.ip_forward=1
net.ipv4.route.min_adv_mss = 256
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 6144 87380 1048576" >> /etc/sysctl.conf
# создание файла, отвечающий за перевод модема в нужный режим
cat > /usr/share/usb_modeswitch/12d1:1f01 << END
DefaultVendor = 0x12d1
DefaultProduct = 0x1f01
TargetVendor = 0x12d1
TargetProduct = 0x14dс
# switch to 12d1:14dc (default HiLink CDC-Ether mode)
MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
END
# предоставление прав файлу
chmod +x /usr/share/usb_modeswitch/12d1:1f01
# удаляем файл 40-usb_modeswitch.rules
rm /lib/udev/rules.d/40-usb_modeswitch.rules
cd /lib/udev/rules.d/
# скачиваем файл 40-usb_modeswitch.rules для того чтобы модемы переходили в нужный режим и определялись как сетевая карта
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/40-usb_modeswitch.rules

# создаём таблицу маршрутизации для 40 модемов
#
export TAB= \t'
for i in {11..100}
do
echo "$i${TAB}route$i" >> /etc/iproute2/rt_tables
done
#

cd /etc/network/if-up.d
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/ip-rout/add_routes16
mv add_routes16 add_routes
chmod +x add_routes

cd /root/
# скачиваем файл скрипта iface_checker.sh
wget https://kak-podnyat-proksi-ipv6.ru/skript/iface_checker.sh
# предоставляем им права
chmod +x iface_checker.sh
# скачиваем файл скрипта реконетка
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/rekonekt.sh
# предоставляем ему права
chmod +x rekonekt.sh
# прописываем крон для 40ка модемов, если у вас меньшее кол-во модемов то после удаляем лишнее
echo "* * * * * /root/iface_checker.sh >/dev/null 2>&1
* * * * * /root/ip_route.sh >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.11.100.lock /root/rekonekt.sh -r 4G -i 192.168.11.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.12.100.lock /root/rekonekt.sh -r 4G -i 192.168.12.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.13.100.lock /root/rekonekt.sh -r 4G -i 192.168.13.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.14.100.lock /root/rekonekt.sh -r 4G -i 192.168.14.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.15.100.lock /root/rekonekt.sh -r 4G -i 192.168.15.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.16.100.lock /root/rekonekt.sh -r 4G -i 192.168.16.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.17.100.lock /root/rekonekt.sh -r 4G -i 192.168.17.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.18.100.lock /root/rekonekt.sh -r 4G -i 192.168.18.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.19.100.lock /root/rekonekt.sh -r 4G -i 192.168.19.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.20.100.lock /root/rekonekt.sh -r 4G -i 192.168.20.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.21.100.lock /root/rekonekt.sh -r 4G -i 192.168.21.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.22.100.lock /root/rekonekt.sh -r 4G -i 192.168.22.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.23.100.lock /root/rekonekt.sh -r 4G -i 192.168.23.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.24.100.lock /root/rekonekt.sh -r 4G -i 192.168.24.1 >/dev/null 2>&1
*/2 * * * * /usr/bin/flock -w 0 /var/run/192.168.25.100.lock /root/rekonekt.sh -r 4G -i 192.168.25.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.26.100.lock /root/rekonekt.sh -r 4G -i 192.168.26.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.27.100.lock /root/rekonekt.sh -r 4G -i 192.168.27.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.28.100.lock /root/rekonekt.sh -r 4G -i 192.168.28.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.29.100.lock /root/rekonekt.sh -r 4G -i 192.168.29.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.30.100.lock /root/rekonekt.sh -r 4G -i 192.168.30.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.31.100.lock /root/rekonekt.sh -r 4G -i 192.168.31.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.32.100.lock /root/rekonekt.sh -r 4G -i 192.168.32.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.33.100.lock /root/rekonekt.sh -r 4G -i 192.168.33.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.34.100.lock /root/rekonekt.sh -r 4G -i 192.168.34.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.35.100.lock /root/rekonekt.sh -r 4G -i 192.168.35.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.36.100.lock /root/rekonekt.sh -r 4G -i 192.168.36.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.37.100.lock /root/rekonekt.sh -r 4G -i 192.168.37.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.38.100.lock /root/rekonekt.sh -r 4G -i 192.168.38.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.39.100.lock /root/rekonekt.sh -r 4G -i 192.168.39.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.40.100.lock /root/rekonekt.sh -r 4G -i 192.168.40.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.41.100.lock /root/rekonekt.sh -r 4G -i 192.168.41.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.42.100.lock /root/rekonekt.sh -r 4G -i 192.168.42.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.43.100.lock /root/rekonekt.sh -r 4G -i 192.168.43.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.44.100.lock /root/rekonekt.sh -r 4G -i 192.168.44.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.45.100.lock /root/rekonekt.sh -r 4G -i 192.168.45.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.47.100.lock /root/rekonekt.sh -r 4G -i 192.168.47.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.48.100.lock /root/rekonekt.sh -r 4G -i 192.168.48.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.49.100.lock /root/rekonekt.sh -r 4G -i 192.168.49.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.50.100.lock /root/rekonekt.sh -r 4G -i 192.168.50.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.51.100.lock /root/rekonekt.sh -r 4G -i 192.168.51.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.52.100.lock /root/rekonekt.sh -r 4G -i 192.168.52.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.53.100.lock /root/rekonekt.sh -r 4G -i 192.168.53.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.54.100.lock /root/rekonekt.sh -r 4G -i 192.168.54.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.55.100.lock /root/rekonekt.sh -r 4G -i 192.168.55.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.56.100.lock /root/rekonekt.sh -r 4G -i 192.168.56.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.57.100.lock /root/rekonekt.sh -r 4G -i 192.168.57.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.58.100.lock /root/rekonekt.sh -r 4G -i 192.168.58.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.59.100.lock /root/rekonekt.sh -r 4G -i 192.168.59.1 >/dev/null 2>&1
*/5 * * * * /usr/bin/flock -w 0 /var/run/192.168.60.100.lock /root/rekonekt.sh -r 4G -i 192.168.60.1 >/dev/null 2>&1" > /var/spool/cron/crontabs/$USER
dos2unix /var/spool/cron/crontabs/$USER
/etc/init.d/cron restart
# создаём директорию
mkdir /usr/local/3proxy
# переходим в директорию
cd /usr/local/3proxy
# скачиваем компилированный основной файл 3proxy
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/3proxy
# предоставляем ему права
chmod +x /usr/local/3proxy/3proxy
# создаём директорию
mkdir /usr/local/3proxy/mob/
# переходим в директорию
cd /usr/local/3proxy/mob/
# скачиваем скрипт по проверку пингов на модеме
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/chekping.sh
# предоставляем ему права
chmod +x /usr/local/3proxy/mob/chekping.sh
# создаём директорию для логов
mkdir /usr/local/3proxy/mob/log
# переходим в директорию /etc/init.d/
cd /etc/init.d/
# скачиваем файл для запуска 3proxy как сервиса
wget https://kak-podnyat-proksi-ipv6.ru/skript/mob/servis3proxy/3proxy
# предоставляем ему права
chmod +x /etc/init.d/3proxy
# устанавливаем в автозагрузку 3proxy
update-rc.d 3proxy defaults
cd
# устанавливаем архиваторы для архивации логов
#apt-get install -y aptitude
#aptitude update
#aptitude install rar unrar
#apt install -y zip unzip
#apt install sshpass
# создаём файлы конфигов 3proxy, указывая своё значение вместо "40" тут for i in {1..40} (226 строка)
cd /usr/local/3proxy/mob/
n=1
ipv4=`curl ipinfo.io/ip`
iponly=8.8.8.8,2.2.2.2 # впишите ip для авторизации через запятую
porthttp=7001
portsocks=8001
for i in {1..40}; do
login=`pwgen -s1`
pass=`pwgen -s1`
ipmodem=$((${i}+10))
echo "monitor /usr/local/3proxy/mob/3proxy$i.cfg

daemon
timeouts 1 5 30 60 180 1800 15 60
maxconn 5000
nserver 192.168.$ipmodem.1
nscache 65535
log /dev/null
auth iponly strong
users $login:CL:$pass
allow $login
allow * $iponly * * * * *
proxy -n -a -p$porthttp -i$IP -e192.168.$ipmodem.100
socks -n -a -p$portsocks -i$IP -e192.168.$ipmodem.100
flush" >> /usr/local/3proxy/mob/3proxy$n.cfg
echo "$ipv4:$porthttp:$login:$pass" >> /root/proxyhttp.txt
echo "$ipv4:$portsocks:$login:$pass" >> /root/proxysocks.txt
((inc+=1))
((n+=1))
((porthttp+=1))
((portsocks+=1))
done


echo "" > /etc/rc.local

cat > /etc/rc.local << END
#!/bin/bash
ulimit -n 600000
ulimit -u 600000
sudo route del default && sudo route add default gw $via eth0
exit 0
END

# после отработки скрипта перезагружаем сервер командой reboot и чекаем прокси proxyhttp.txt и proxysocks.txt

Если не хотите заморачиваться со всей настройкой, то можете приобрести готовые мобильные прокси у нас https://frigate-proxy.ru

Как поднять мобильные прокси на windows (много модемов)

Поднимаем несколько мобильных прокси на windows

В этой статье расскажу о том, как легко поднять свои мобильные прокси на модемах с прошивкой hilink на windows. На одном компе с виндой можно поднять до 15 ти мобильных прокси (15 модемов), потом действует ограничение на кол-во подключённых usb интерфейсов и винда просто напросто не видит наши модемы! Но это нам не мешает, ведь мы можем масштабиться, купив несколько ПК.

Что нам нужно:
— комп на борту Windows 7/10
— 4G модем Huawei E3372h или кому ещё нужно бюджетнее вариант то 3G модемы Huawei E3531
— USB хаб с активным питанием (от розетки)
— симки само собой с активированным инетом

Роутер сгодиться любой, думаю он у вас есть. Он нужен всего лишь для подключения основного интернета со статическим ip и проброса портов, но опять же зависит от загруженности ваших проектов. Кстати есть возможность использовать 4G модем как основное подключение в связке со сторонним сервисом или купить симку уже со статическим белым ip. Для этого лучше купить роутер (тот же микротик например) с поддержкой USB порта.

К модемам главное требование, чтобы они были прошиты модифицированной прошивкой, где есть возможность замены IP адреса (шлюза) в настройках dhcp сервера!

Первым делом смотрите наличие этой функции в вашей прошивке. Если нету, то можете найти прошивку и перепрошить свой модем. Вот прошивка для модема Huawei E3372h.

Так же советую взять USB удлинители для разноса модема в разные стороны, чтобы они не грелись и не глушили друг друга. Хватит и 0,5 метров USB кабеля, самое главное не продешевите и не купите самые дешёвые.

Приступим непосредственно к самой настройке.

Первым делом нам нужно настроить модемы. Для этого подключаем поочерёдно модемы к компу , переходим в настройки -система -DHCP и меняем ip-адрес. Тут не принципиально с какого ip начинать, можно на первом модеме оставить по дефолту ip 192.168.8.1 , а остальным уже задать по возрастанию 192.168.9.1 , 192.168.10.1 и т.д. Чтобы потом не путаться где какой задан ip -советую их подписать.

Настроили мы модемы. Подключаем все модемы к компу через USB хаб. Они должны все определиться в сетевых подключениях как сетевые карты NDIS

Ethernet 21 это моё основное подключение от роутера (проводной инет со статикой) с локальным  ip 192.168.88.3
Ethernet 20 это первый модем с шлюзем 192.168.2.1
Ethernet 23 это второй модем с шлюзем 192.168.3.1
Ethernet 24 это третий модем с шлюзем 192.168.4.1

После подключения всех модемов, нужно убедиться что основной инет у нас от основного проводного подключений, для этого переходим на любой сайт по проверке ip.

Если ip показал от одного из модемов. то нужно сделать следующее- перейти в сетевые подключения, нажать ПКМ на основное подключение (в моём случае Ethernet 21) и перейти в свойства.

Кстати я сразу задал компу статический локальный ip 192.168.88.3 (не путайте со статическим белым ip от провайдера), чтобы он не менялся при перезагрузке роутера (в данном случае у меня микротик с подсетью 192.168.88.0/24).

где:

192.168.88.3 — статический локальный ip компа
255.255.255.0  — маска подсети (/24 подсеть)
192.168.88.1 — это шлюз и днс (он же ip от веб интерфейса вашего роутера)

Нажимаем на дополнительно и настраиваем метрику как на скрине

После этого на сайте по проверке ip должен светиться ваш ip от основного подключения. Если не помогло, то попробуйте перезагрузить комп.

Устанавливаем 3proxy сервер на windows

В зависимости от разрядности ОС 64/32 bit скачиваем нужную версию 3proxy

Разархивируем архив у корень диска С и переименуем папку в «3proxy»

Переходим в папку C:\3proxy\bin64\ или если 32 битная версия то C:\3proxy\bin\

Создаём тестовый документ 3proxy.txt — это будет конфиг прокси

Открывает конфиг и вставляем следующее содержимое

monitor C:\3proxy\bin64\3proxy.txt
maxconn 500
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
#log C:\3proxy\log\3proxy.log D
#logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
#rotate 180
auth strong
users login1:CL:pass1
allow login1
proxy -n -a -p8062 -i192.168.88.3 -e192.168.2.100
proxy -n -a -p8063 -i192.168.88.3 -e192.168.3.100
proxy -n -a -p8064 -i192.168.88.3 -e192.168.4.100
flush

Знаком # я закомментировал строки отвечающие за логирование. Если вы хотите продавать прокси 3-им лицам то советую вести логирование запросов. Для этого создайте папку log и раскомментируйте строки, убрав знак # перед строками !

Так же подредактируйте первую строку в зависимости от установленной версии 3Proxy.

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

192.168.88.3 — это локальный ip адрес компа
192.168.2.100 — это ip первого модема (шлюз 192.168.2.1)
192.168.3.100 — это ip второго модема (шлюз 192.168.3.1)
192.168.4.100 — это ip третьего модема (шлюз 192.168.4.1)

В данном примере мы создали 3 прокси протокола http/s с авторизацией по логину и паролю.
Где login1 это логин, pass1 пароль, можете поменять на свои, но имейте в виду логин прописывается в 2-х местах!

Осталось только запустить 3proxy как службу. Для этого открываем командную строку с правами администратора и забиваем команду
Для 32 бит

C:\3proxy\bin\3proxy.exe --install C:\3proxy\bin\3proxy.txt

Для 64 бит

C:\3proxy\bin64\3proxy.exe --install C:\3proxy\bin64\3proxy.txt

После этого мы можем проверять свои прокси на этом же компе.

наши прокси

192.168.88.3:8062:login1:pass1
192.168.88.3:8063:login1:pass1
192.168.88.3:8064:login1:pass1

Так же для проверки наличия интернета на модемах я использую команду ping  из командной строки. Так можно прочекать есть ли инет на всех модемах!

Открываем CMD  и забиваем след команды поочерёдно, должны пойти пинги. Если нет то смотрите тариф, симку, уровень сигнала, профиль на модеме и т.п.

ping -S 192.168.2.100 vk.com
ping -S 192.168.3.100 vk.com
ping -S 192.168.4.100 vk.com

Таким образом мы проверяем обратный пинг от домена vk.com !

Если хотите использовать эти прокси в локалке то нужно открыть порта в брандмауэре!

Создаём новое правило для входящих подключений , для порта.

Указываем диапазон своих портов

Жмём далее , далее и вписываем любое имя (3proxy) для этого правила!

После этого прокси будут работать и на других компах подключенные к вашему роутеру.

Если хотите использовать прокси удалённо , то нужно сделать проброс ваших портов. Эти настройки производятся на вашем роутере и исходя из модели они отличаются! Смотрите инструкции по пробросу портов для вашего роутера!

Смена ip по таймауту настраивается через сторонний софт MasterModems,  разработанный специально для этих целей.

пример заполнения файла data.txt:
Формат:
IP{TAB}3G/4G{TAB}Reconnect timeout (minutes)

где указывается шлюз модема, режим работы модема, таймаут смены ip в минутах

Для приобретения софта пишите мне в ЛС vk или tg

На этом статью завершаю. По конфигурации 3proxy можете почитать на официальной странице 3proxy , а так же прикрепляю мануал по 3proxy!

Обзор настройки мобильных прокси на виндовс (много модемов)