Proxy Móvel no Raspberry Pi ou Orange Pi: Passo a Passo para Iniciantes
Introdução
Você está com um guia passo a passo detalhado que vai te ensinar a montar e configurar um node proxy móvel econômico utilizando o mini-PC Raspberry Pi ou Orange Pi. Vamos percorrer todo o caminho: da escolha da placa, modem e fonte até a instalação do sistema operacional, drivers e programas, configuração do servidor proxy, inicialização automática, estabilidade e testes. O resultado final: você terá um proxy HTTP(S)/SOCKS5 disponível local ou remotamente, operando com um modem 4G/5G, com a possibilidade de reiniciar a sessão para obter um novo IP e um sistema básico de monitoramento e registro.
Para quem é este guia: para iniciantes que estão se aventurando pela primeira vez em Raspberry Pi ou Orange Pi e querem um manual claro sem “buracos”. Paralelamente, daremos algumas dicas avançadas para aqueles que desejam extrair o máximo do hardware. O guia é adequado para um laboratório doméstico, equipe de teste de produtos móveis, infraestrutura interna da empresa e projetos educacionais.
O que é necessário saber antes: habilidades básicas de uso do terminal Linux no nível de copiar e colar comandos, capacidade de gravar uma imagem do sistema em um cartão microSD e conectar cabos. O restante explicaremos. Evitaremos jargões profissionais ou os explicaremos imediatamente.
Quanto tempo será necessário: com todos os componentes em mãos, 2–4 horas, incluindo a instalação do sistema operacional e atualizações. O download de pacotes e firmwares pode levar mais tempo se a internet for lenta.
Links rápidos para seções: vá para a escolha da placa, modem e fonte, vá para a configuração do servidor proxy.
⚠️ Atenção: Utilize este guia exclusivamente dentro dos limites da legislação vigente. Não utilize proxy para atividades ilegais e não tente contornar restrições ou bloqueios. Respeite os termos de contrato com seu provedor de internet.
Dica: Se você precisa de uma opção pronta de gerenciamento de IPs móveis sem montar tudo sozinho, considere serviços especializados. Por exemplo, mencionamos mobileproxy.space como um referencial para entender as capacidades desse tipo de solução e funcionalidades que você poderá replicar em seu node.
Preparação Prévia
Antes de começar, certifique-se de que você tem todas as ferramentas, acessos e softwares necessários. Esta seção vai te proteger de paradas no meio do processo.
Ferramentas, programas e acessos necessários
- Computador com Windows, macOS ou Linux para gravar a imagem do sistema no cartão microSD.
- Leitor de cartões para microSD.
- Acesso à internet para download das imagens do SO e pacotes.
- Terminal de cliente SSH (Windows: PowerShell integrado ou qualquer cliente SSH; macOS/Linux: terminal integrado).
- Programa para grave de imagens: Raspberry Pi Imager ou qualquer utilitário de gravação de imagens em cartão microSD.
Requisitos do sistema
- Mini-PC: Raspberry Pi 3B/3B+/4B/5 ou Orange Pi (por exemplo, Orange Pi PC, Orange Pi Zero2, Orange Pi 3 LTS, Orange Pi 5). Recomendamos não menos que Raspberry Pi 3B+ ou um Orange Pi equivalente.
- Armazenamento: cartão microSD de 16–32 GB classe A1/A2. Para estabilidade, é melhor usar 32 GB.
- Fonte de alimentação: para Raspberry Pi 4 — 5V 3A com USB-C; para Raspberry Pi 3 — 5V 2.5A micro-USB; para Orange Pi — conforme o modelo (geralmente 5V 3A USB-C ou 5V 2–3A DC).
- Modem móvel: modem USB 4G/5G ou modem mini-PCIe/M.2 em um adaptador USB. Populares: Huawei E3372 (Stick ou HiLink), ZTE MF833, Quectel EC25/EG25-G/EP06/EM12, Sierra Wireless EM7455/EM7565 (via adaptador USB). Para 5G: Quectel RM500Q/RM520N (via adaptador M.2-USB com alimentação e antena).
- Cartão SIM com um plano de dados ativo. Verifique com o provedor o APN e restrições.
- Cabo Ethernet ou acesso a Wi‑Fi para configuração inicial.
O que baixar e instalar previamente
- Baixe o Raspberry Pi Imager ou prepare seu utilitário de gravação de imagens.
- Para Raspberry Pi: use Raspberry Pi OS Lite (Bookworm, 64-bit) para um sistema mínimo. Para Orange Pi: baixe a versão adequada do Armbian (baseada no Debian 12, kernel 6.x), versão Lite sem interface gráfica.
- Prepare um cliente SSH (por exemplo, o padrão OpenSSH).
- Reúna os parâmetros APN do seu provedor: nome do APN, se necessário o login e senha. Exemplo: APN — internet, login — vazio, senha — vazio. Para as informações exatas, consulte a documentação do provedor.
Backup de dados
Se você está reutilizando um cartão microSD já configurado, faça um backup da imagem. No Windows, você pode usar qualquer utilitário de leitura de imagem do cartão; no macOS/Linux, use o comando dd para criar um arquivo de imagem. Armazene a cópia em um disco externo.
Dica: Mantenha um arquivo de notas onde você grava todos os comandos e configurações. Isso vai economizar tempo em futuras reconfigurações ou transferências para outra placa.
Conceitos Básicos
Termos-chave de maneira simples
- Proxy Móvel — um servidor proxy que se conecta à internet via rede móvel (4G/5G). Os sites verão um IP móvel.
- ModemManager — serviço do Linux para gerenciar modems móveis através de interfaces padrão (QMI, MBIM, PPP, comandos AT).
- QMI/MBIM/NCM — formas de comunicação do Linux com o modem. QMI e MBIM — modernos e rápidos; PPP — obsoleto e lento; NCM — emulação Ethernet para alguns modems.
- 3proxy — um servidor proxy leve que suporta HTTP, HTTPS (CONNECT), SOCKS5, autenticação e registro.
- Troca de IP — reinicialização da sessão do modem (ou “modo avião”) para obter um novo IP móvel do provedor. Não há garantias: o provedor pode retornar o mesmo endereço.
Princípios básicos de operação
O mini-PC conecta-se ao modem móvel via USB. O modem se registra na rede, ativa a interface móvel e recebe um IP do provedor. No mini-PC, o servidor proxy é iniciado, ouvindo na porta designada e aceitando conexões da rede local ou via proxy de porta pelo roteador. O tráfego dos clientes passa pelo modem. Por solicitação, você pode reiniciar a sessão do modem para mudar o IP.
O que é importante entender antes de começar
- Alimentação é crítica: modems USB consomem até 0.5–1 A em picos. É necessário ter uma fonte de alimentação de boa qualidade e um bom cabo USB. Para modems 5G, considere um hub USB ativo com alimentação externa.
- Refrigeração: Raspberry Pi 4/5 e potentes Orange Pi esquente. Instale um dissipador de calor e um ventilador.
- Cobertura da rede: a velocidade e estabilidade dependem da qualidade do sinal LTE/NR. Use antenas externas e o posicionamento correto.
- Legalidade: trabalhe estritamente dentro da legislação e regras do provedor.
⚠️ Atenção: Não tente modificar o IMEI ou outros identificadores dos dispositivos. Isso é ilegal. Todas as configurações deste guia são legais e baseadas em ferramentas padrão do Linux.
Passo 1: Escolhendo mini-PC, modem e alimentação
Objetivo da etapa
Selecionar componentes de hardware compatíveis e confiáveis para evitar problemas no início.
Instrução detalhada passo a passo
- Escolha a placa. Se quiser um início o mais estável possível — Raspberry Pi 4B com 2–4 GB de RAM. Se precisar de potência moderna — Raspberry Pi 5. Alternativa: Orange Pi 3 LTS ou Orange Pi 5 (lembre-se das diferenças nas imagens do Armbian).
- Escolha o modem USB. Para simplicidade — Huawei E3372 no modo Stick ou ZTE MF833. Para flexibilidade e velocidade — Quectel EG25-G ou EP06/EM12 via adaptador USB com alimentação e antenas. Para 5G — Quectel RM520N-GL com adaptador USB 3.0 e alimentação externa.
- Verifique as frequências. Certifique-se de que o modem e o provedor suportam as bandas LTE/5G necessárias na sua região.
- Prepare a alimentação. Para Raspberry Pi 4 — Fonte 5V 3A com um bom cabo; para o modem 5G — hub USB ativo 5V 2–3A.
- Adquira um microSD de 32 GB A1/A2. Um cartão de uma marca confiável reduzirá a probabilidade de falhas.
- Prepare a refrigeração: dissipadores de calor e ventilador no gabinete.
- Compre antenas para o modem, se não vierem incluídas. Para Quectel, frequentemente são necessárias 2× antenas LTE/NR SMA.
Pontos importantes
- Estabilidade da alimentação determina se o modem vai desconectar durante a carga.
- Antenas e posicionamento melhoram o sinal e a velocidade final.
- Compatibilidade: Raspberry Pi OS e Armbian suportam a maioria dos modems via ModemManager e drivers qmi_wwan/cdc_mbim/option.
Dica: Se tiver dúvida sobre o modem — escolha Quectel EG25-G como "a melhor escolha" em compatibilidade e estabilidade em 4G.
Resultado esperado
Você terá em sua mesa um conjunto montado: mini-PC, cartão de memória, fonte de alimentação, modem USB com cartão SIM, antenas, cabos e refrigeração.
Problemas potenciais e soluções
- Problema: O modem esquenta muito. Solução: Use um hub ativo, mova o modem para um cabo USB prolongador, adicione um dissipador ao adaptador.
- Problema: Sinal fraco na sala. Solução: Use uma antena externa, mova o modem para perto da janela, utilize um cabo USB longo.
- Problema: Não sabe se o modem está em modo Stick ou HiLink. Solução: Configuramos ambos os tipos; para HiLink haverá uma forma diferente de gerenciar a conexão.
✅ Verificação: Confira a completude e a conformidade com os requisitos. Anote o IMEI do modem e o modelo para inventário (apenas para registro, não altere o IMEI).
Passo 2: Instalando o SO e pacotes básicos
Objetivo da etapa
Configurar um SO atualizado sem interface gráfica, habilitar SSH, atualizar o sistema e instalar ferramentas que serão necessárias posteriormente.
Instrução detalhada passo a passo
- Grave a imagem. Insira o microSD no leitor de cartões. Abra o Raspberry Pi Imager ou seu utilitário. Selecione Raspberry Pi OS Lite (Bookworm, 64-bit) para Raspberry Pi ou o Armbian Lite adequado para Orange Pi. Especifique o cartão de memória e clique no botão de gravação. Aguarde a conclusão e verificação.
- Ative o SSH. Para Raspberry Pi: após a gravação, remova e reconecte o cartão ao PC. No partition boot crie um arquivo vazio chamado ssh sem extensão. Para Armbian, o SSH já vem ativado por padrão.
- Primeira inicialização. Insira o microSD na placa, conecte o Ethernet ao roteador, ligue a alimentação. Aguarde 1–2 minutos para a primeira configuração do sistema.
- Encontre o IP da placa. No roteador, verifique a lista de clientes DHCP e encontre o dispositivo Raspberry Pi/Orange Pi. Ou use um scanner de rede. Suponha que o endereço seja 192.168.1.50.
- Conecte-se via SSH. No Windows, abra o PowerShell e execute: ssh pi@192.168.1.50 (para Raspberry Pi, a senha padrão é raspberry, se você não a alterou no gravador). Para Armbian, na primeira entrada será solicitado para você definir uma senha e criar um usuário.
- Atualize o sistema. Execute a sequência: sudo apt update, em seguida sudo apt full-upgrade -y. Aguarde a conclusão. Reinicie: sudo reboot. Conecte-se novamente via SSH.
- Instale pacotes básicos: sudo apt install -y modemmanager usb-modeswitch usbutils psmisc jq curl socat netcat-traditional. Para modems QMI/MBIM adicione: sudo apt install -y libqmi-utils libmbim-utils.
- Instale ferramentas de rede: sudo apt install -y iproute2 iptables ufw ca-certificates.
- Configure o fuso horário: sudo timedatectl set-timezone Europe/Moscow (ou sua cidade). Ative a sincronização de tempo: sudo timedatectl set-ntp true.
Pontos importantes
- Use imagens Lite sem interface gráfica. Elas consomem menos recursos e são mais estáveis.
- Reinicie após atualizações importantes do kernel e firmwares.
- Armazene acessos: altere as senhas padrão e anote-as em um lugar seguro.
Dica: Defina um hostname estático: sudo hostnamectl set-hostname mobi-proxy-01. Isso vai facilitar a navegação na rede.
Resultado esperado
O mini-PC estará acessível via SSH, atualizado, com ModemManager instalado, ferramentas QMI/MBIM e utilitários de rede.
Problemas potenciais e soluções
- Problema: Sem conexão via SSH. Solução: Verifique se o arquivo ssh está habilitado na partição boot (para Raspberry Pi), cabo de rede e tabela DHCP no roteador.
- Problema: Atualização travou. Solução: Espere, depois verifique se o cartão de memória está cheio. Pode ser necessário reiniciar usando sudo reboot. Em caso de nova falha, regrave a imagem.
- Problema: Pacotes indisponíveis. Solução: Verifique a data/hora, DNS e rota com o comando ping 1.1.1.1 e ping debian.org. Corrija a rede.
✅ Verificação: Execute mmcli -L. Até o momento, o modem pode não estar presente, mas o comando deve funcionar e não retornar erros sobre o ModemManager não encontrado.
Passo 3: Conectando e configurando o modem móvel
Objetivo da etapa
Garantir que o modem seja reconhecido pelo sistema, registre-se na rede e inicie a conexão móvel no Linux de forma estável.
Instrução detalhada passo a passo
- Conecte o modem à placa. Para modems que consomem mais energia, use um hub USB ativo. Insira o cartão SIM no modem antes de conectar.
- Verifique se o dispositivo é detectado: lsusb. Você deve ver uma linha com o nome do modem (Huawei, ZTE, Qualcomm, Quectel). Salve a saída para notas.
- Verifique as portas: dmesg | tail -n 50. Devem aparecer dispositivos /dev/ttyUSBx ou interfaces de rede como wwan0, cdc-wdm0, usb0 ou eth1 dependendo do modo.
- Verifique se o ModemManager detecta o modem: mmcli -L. Deve aparecer o modem, por exemplo, /org/freedesktop/ModemManager1/Modem/0.
- Desbloqueie o modem se solicitado o PIN: mmcli -m 0 --pin=1234 (substitua pelo seu PIN, se estiver ativado). É melhor desativar o PIN previamente no telefone.
- Defina o APN. Para o perfil padrão: mmcli -m 0 --simple-connect="apn=internet,user=,password=" ou mmcli -m 0 --3gpp-operator-format=long se necessário. Para MBIM: use mbimcli -d /dev/cdc-wdm0 --attach-packet-service e faça a configuração através do ModemManager — geralmente é mais fácil usar mmcli --simple-connect.
- Verifique o status: mmcli -m 0. Na seção Status você verá state: connected, e no Bearer — informações de conexão.
- Verifique a interface: ip a. Deve aparecer uma interface do tipo wwan0 ou usb0/ncm0 dependendo do modo. Execute ip route para ver a rota padrão pela interface móvel.
- Verifique a internet: curl -4 ifconfig.me e curl -4 ipinfo.io/ip (ou qualquer serviço semelhante). Você deve ver o IP móvel público.
Pontos importantes
- Modos do modem: E3372 pode operar como HiLink (roteador) ou Stick (modem). No HiLink, a interface aparecerá como eth1/usb0 com um endereço interno, controlado através da interface web do modem. No Stick — via QMI/NCM/PPP. Recomendamos Stick ou um modem QMI/MBIM completo (Quectel).
- Nenhum patch externo sem necessidade: kernels modernos suportam a maioria dos modems.
- Antenas: conecte ambas as antenas MIMO para estabilidade 4G/5G.
Dica: Para modems Quectel, a porta AT principal geralmente é /dev/ttyUSB2. O comando echo -e "AT+CSQ\r" | socat - /dev/ttyUSB2,crnl mostrará o nível do sinal. É bom se CSQ for 15 ou mais.
Dica: Se você tem um modem HiLink, primeiro abra sua interface web em um navegador no endereço exibido em ip a (geralmente 192.168.8.1), em seguida ative os dados móveis e verifique o status da conexão.
Resultado esperado
O modem se registra e se conecta à rede com sucesso. Os comandos curl retornam o IP móvel público.
Problemas potenciais e soluções
- Problema: O modem não aparece em mmcli -L. Causa: modo incorreto ou falta de energia. Solução: conecte através de um hub USB ativo; para Huawei — certifique-se de que está no modo Stick, instale usb-modeswitch (já instalado), reinicie.
- Problema: O aparelho está bloqueado pelo PIN. Solução: desative o PIN no SIM no telefone; ou desbloqueie via mmcli -m 0 --pin=XXXX.
- Problema: Sem internet. Causa: APN incorreto. Solução: verifique o APN com o provedor; para alguns planos, são necessários login/senha, utilize --simple-connect com os parâmetros.
- Problema: O IP não muda ao reconectar. Causa: o provedor pode fazer cache do endereço. Solução: aguarde o tempo limite ou aplique uma nova registradura completa (veja a seção sobre rotação abaixo).
✅ Verificação: Execute mmcli -m 0 e ip a. Você deve ver o estado conectado e uma interface ativa com endereçamento. curl -4 ifconfig.me deve retornar o IP móvel.
Passo 4: Configurando o servidor proxy
Objetivo da etapa
Instalar e configurar um servidor proxy leve 3proxy, que permitirá o acesso à internet através do modem móvel.
Instrução detalhada passo a passo
- Instale o 3proxy. Em sistemas baseados em Debian/Ubuntu, o pacote geralmente está disponível: sudo apt install -y 3proxy. Se o pacote não estiver disponível, instale a partir do código-fonte ou uma alternativa como tinyproxy/dante. Continuaremos com 3proxy.
- Crie um diretório de configuração e logs, se não houver: sudo mkdir -p /etc/3proxy /var/log/3proxy. Verifique onde está localizado o arquivo de configuração na sua versão (geralmente /etc/3proxy/3proxy.cfg).
- Crie o arquivo de configuração: sudo nano /etc/3proxy/3proxy.cfg e cole a configuração básica: daemon nscache 65536 config /etc/3proxy/3proxy.cfg monitor /etc/3proxy/3proxy.cfg log /var/log/3proxy/3proxy.log D logformat "%d %H:%M:%S %u %C:%c %R:%r %O %I %T" rotate 10 users user:CL:strongpassword auth strong allow user proxy -p3128 -a socks -p1080 flush. Explicação: estamos habilitando a execução em daemon, registro, definindo um usuário user com senha strongpassword, subindo um proxy HTTP na porta 3128 e SOCKS5 na 1080. Se necessário, troque as portas e credenciais.
- Restrinja o acesso por IP (recomendado). Adicione linhas antes de iniciar o proxy: allow user * 192.168.0.0/16 ou um IP/rede confiável específico; ou use um firewall. Exemplo de linha simplificada: allow user para acesso apenas com autenticação.
- Permita a ligação em todas as interfaces. Por padrão, o serviço escuta em 0.0.0.0. Se você desejar escutar apenas na rede local — utilize a chave -i com o IP do mini-PC na LAN, por exemplo: proxy -p3128 -a -i192.168.1.50. Para SOCKS, da mesma forma: socks -p1080 -i192.168.1.50.
- Crie uma unidade systemd (se ainda não foi criada pelo pacote). Abra: sudo nano /etc/systemd/system/3proxy.service. Cole: [Unit] Description=3proxy After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg Restart=always RestartSec=3 LimitNOFILE=65536 [Install] WantedBy=multi-user.target. Salve o arquivo e, em seguida, execute: sudo systemctl daemon-reload, sudo systemctl enable --now 3proxy.
- Verifique o status: systemctl status 3proxy. Você deve ver o estado active (running). Se houver erro — veja journalctl -u 3proxy -e.
- Configure o UFW. Ative o firewall: sudo ufw default deny incoming, sudo ufw default allow outgoing, sudo ufw allow 22/tcp (SSH), sudo ufw allow 3128/tcp, sudo ufw allow 1080/tcp se necessário. Ative: sudo ufw enable. Confira as regras: sudo ufw status.
- Verifique o acesso ao proxy a partir de um cliente na rede local. Insira o IP do mini-PC e a porta 3128 (HTTP) ou 1080 (SOCKS5), insira o login/senha user/strongpassword. Abra um site para determinar o IP e verifique se é móvel.
Pontos importantes
- Não deixe o proxy aberto. Sempre utilize autenticação e restrição por IP ou firewall.
- Armazene senhas em um gerenciador de senhas. Mude-as regularmente.
- Registros: verifique regularmente /var/log/3proxy/3proxy.log.
Dica: Se você deseja apenas SOCKS5, remova a linha proxy -p3128 -a e deixe apenas socks -p1080. Isso diminuirá a superfície de ataque.
Dica: Para vários usuários, adicione-os na seção users via dois pontos, por exemplo: users alice:CL:pass1 bob:CL:pass2.
Resultado esperado
O 3proxy está funcionando como um serviço, disponível nas portas desejadas, protegido por senha e firewall.
Problemas potenciais e soluções
- Problema: O serviço não inicia. Causa: erro na configuração. Solução: verifique a sintaxe, simplifique para uma configuração mínima e adicione opções uma a uma.
- Problema: O cliente não consegue se conectar. Causa: bloqueio do UFW. Solução: verifique ufw status e a correção das portas permitidas.
- Problema: A autenticação falha. Solução: verifique a seção users, a ausência de espaços em branco, reinicie o serviço.
✅ Verificação: Do cliente, insira o servidor proxy, autentique-se e abra uma página que mostre o IP. Deve aparecer o IP móvel do modem.
Passo 5: Configurando a inicialização automática e aumentando a estabilidade
Objetivo da etapa
Assegurar que todos os componentes iniciem automaticamente após a reinicialização, adicionar recuperação automática da conexão e rotação segura do IP.
Instrução detalhada passo a passo
- Verifique a inicialização automática do 3proxy. Já habilitamos systemctl enable --now 3proxy. Certifique-se de que após sudo reboot o serviço seja iniciado.
- Adicione um serviço para conectar o modem na inicialização. Embora o ModemManager automaticamente inicie o Bearer com --simple-connect, é mais confiável criar um pequeno serviço. Crie um arquivo /usr/local/bin/cell-up.sh com o conteúdo: conecte-se via mmcli -m 0 --simple-connect="apn=internet" com verificação de status. Deixe o arquivo executável: sudo chmod +x /usr/local/bin/cell-up.sh.
- Crie uma unidade /etc/systemd/system/cell-up.service com as linhas: [Unit] Description=Cellular bring-up After=ModemManager.service network-online.target Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/cell-up.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target. Aplique: sudo systemctl daemon-reload && sudo systemctl enable --now cell-up.
- Script de rotação de IP. Crie /usr/local/bin/cell-rotate.sh. Opção 1 para QMI/MBIM/Quectel: desconectar, esperar, conectar de novo: mmcli -m 0 --disconnect; em seguida mmcli -m 0 --set-power-state=low, pausa de 3–5 segundos, depois mmcli -m 0 --set-power-state=on e nova conexão --simple-connect. Para suporte AT, pode-se enviar AT+CFUN=1,1 na porta /dev/ttyUSB2 para reinicializar o modem. Para HiLink, use a API HTTP do modem para desconectar/conectar (se disponível). Adicione registros e timeouts de 10–30 segundos para registro.
- Verifique o funcionamento da rotação. Execute sudo /usr/local/bin/cell-rotate.sh e compare curl -4 ifconfig.me antes e depois. Agende uma tarefa cron, se necessário, mas não gire muito frequentemente, para não violar as regras do provedor.
- Monitoramento do modem. Crie /usr/local/bin/cell-watchdog.sh, que a cada 60 segundos faz ping em um endereço confiável (por exemplo, 1.1.1.1), e após 3 falhas consecutivas, executa cell-rotate.sh. Formalize uma unidade systemd com o tipo simple e Restart=always.
- Monitoramento de logs. Ative a rotação de logs do 3proxy já descrita com a opção rotate 10. Para logs de sistema, certifique-se de que journald tem limites de armazenamento padrão.
- Ajuste fino do UFW. Mantenha abertas apenas as portas necessárias. Se houver acesso da internet, configure o encaminhamento de portas no roteador e restringa o acesso por IP no nível do 3proxy ou UFW.
Pontos importantes
- Os intervalos de rotação não devem ser muito frequentes. Isso afeta a estabilidade e pode ferir a política do provedor.
- Segurança: para acesso remoto, utilize apenas uma lista de IPs fechada e senhas fortes.
- Logs e métricas: mantenha os logs em volume limitado para não ocupar o microSD.
Dica: Se você tem vários modems, dê nomes aos interfaces e dispositivos através de regras udev, para que eles não se confundam durante a reinicialização. Por exemplo, atribua links simbólicos por número de série.
Dica: Para modems 5G, não economize no hub USB ativo e na alimentação. Isso é a chave para um funcionamento estável sob carga.
Resultado esperado
O sistema automaticamente ativa a conexão móvel e o proxy na inicialização, e em caso de falhas reinicia a conexão e reativa o serviço.
Problemas potenciais e soluções
- Problema: A rotação não altera o IP. Causa: o provedor retorna o mesmo pool. Solução: aumente o tempo de espera entre desconectar/conectar para 30–60 segundos; faça uma registradura completa na alimentação do modem; se necessário, altere o ponto de conexão (Band) ou localização.
- Problema: O Watchdog reinicia com muita frequência. Solução: aumente os limites de disparo (por exemplo, 5–7 falhas de teste) e o intervalo entre verificações.
✅ Verificação: Reinicie o mini-PC. Certifique-se de que após 1–2 minutos o 3proxy esteja acessível, a internet móvel esteja ativa, e que o script de rotação realmente muda o IP.
Passo 6: Testando, monitorando, registrando
Objetivo da etapa
Verificar a configuração final, medir o desempenho básico, configurar uma observação simples do estado do node.
Instrução detalhada passo a passo
- Verifique a disponibilidade das portas. A partir do cliente, execute: abra um navegador com configuração de proxy e acesse qualquer site. Ou use utilitários: curl -x http://user:strongpassword@IP:3128 http://example.com. Para SOCKS5: curl --socks5 user:strongpassword@IP:1080 http://example.com.
- Verifique a troca de IP. Compare os resultados de curl -4 ifconfig.me antes e depois de cell-rotate.sh.
- Avalie a velocidade. Utilize speedtest-cli (instalar: sudo apt install -y speedtest-cli) através do proxy no cliente ou diretamente na placa. Lembre-se de que a velocidade depende do provedor e sinal.
- Verifique os logs do 3proxy: tail -f /var/log/3proxy/3proxy.log. Devem aparecer linhas sobre conexões, usuários e tráfego.
- Verifique o log do sistema: journalctl -u ModemManager -e, journalctl -u 3proxy -e. Verifique se não há erros.
- Ative a telemetria básica. Pode-se agendar no cron a coleta de métricas do sinal via comandos AT (por exemplo, AT+CSQ) e gravação em arquivo para análise da dinâmica de cobertura.
Pontos importantes
- Expectativas realistas: canal móvel está sujeito a flutuações. Planeje reservas.
- Registro ajudará a resolver situações imprevistas e otimizar a configuração.
Dica: Se você utiliza vários proxies em uma única placa, distribua portas, usuários e informe no nome do log uma etiqueta do node para evitar confusões.
Resultado esperado
A conexão via proxy funciona, o IP é identificado como móvel, a rotação está ativa, e os logs e registros registram eventos.
Problemas potenciais e soluções
- Problema: Velocidade baixa. Causa: sinal fraco ou torre congestionada. Solução: mude a posição do modem, use antenas externas, experimente outro provedor.
- Problema: Instabilidade sob carga. Causa: alimentação. Solução: fonte de alimentação mais poderosa, hub ativo, cabo de boa qualidade, ligue a refrigeração.
✅ Verificação: Obtenha o IP móvel via proxy e certifique-se de que sites simples abrem rapidamente. Execute speedtest e compare com as expectativas.
Verificação do resultado
Checklist
- O acesso SSH ao mini-PC está funcionando.
- O ModemManager vê o modem, a conexão é iniciada automaticamente.
- O 3proxy está rodando como um serviço, ouvindo nas portas especificadas.
- O acesso ao proxy é restrito por senhas e firewall.
- A rotação de IP muda o endereço público em pelo menos alguns casos.
- Os registros estão sendo gravados, o sistema não está super aquecendo e não perde energia.
Como testar
- Abra 2–3 sites de verificação de IP via proxy. Compare os endereços antes e depois da rotação.
- Execute uma série de requisições curtas via proxy e avalie a latência: curl -w "%{time_connect} %{time_starttransfer}\n" -o /dev/null -s http://example.com.
- Reinicie o dispositivo. Verifique se todos os serviços se iniciam automaticamente.
Métricas de sucesso
- O tempo de recuperação após reinicialização até o estado totalmente funcional é menor que 2 minutos.
- A porcentagem de rotações bem-sucedidas com troca de IP não deve ser inferior a 50–70% (depende do provedor).
- Estabilidade sob carga de 1–2 Mbit/s sem quedas por várias horas.
Erros comuns e soluções
- Problema: Proxy acessível na internet sem senha. Causa: configuração de autenticação e UFW faltando. Solução: habilitar auth strong e users no 3proxy, restringir acesso via UFW e por IP.
- Problema: O modem desconecta periodicamente. Causa: alimentação insuficiente ou superaquecimento. Solução: hub USB ativo, melhor fonte de alimentação, refrigeração, watchdog com script de reinicialização.
- Problema: mmcli não encontra o modem após reinicialização. Causa: sequência de inicialização. Solução: adicione a dependência After=ModemManager.service e um atraso na cell-up.service, verifique as regras do udev.
- Problema: Rotações não mudam o IP. Causa: política do provedor. Solução: aumente a pausa entre desconectar/conectar, mude a localização, ao usar HiLink faça a registradura completa do modem.
- Problema: Os logs saturam o microSD. Causa: log muito detalhado. Solução: diminua a detalhamento, habilite rotação e limpeza automática, mova logs para /var/log com rotação.
- Problema: Velocidade baixa no modem 5G. Causa: uso de USB 2.0 ou cabo fraco. Solução: conecte a USB 3.0, use um cabo curto com blindagem, hub ativo, atualize o firmware do modem se houver necessidade.
- Problema: Conflito de portas. Causa: outros serviços já estão ouvindo nessas portas. Solução: mude as portas no 3proxy e UFW, confira ss -tulpen.
Recursos adicionais
Configurações avançadas
- Configuração multi-modem. Conecte 2–4 modems através de um hub ativo. Crie instâncias separadas do 3proxy com portas únicas e credenciais para cada modem. Vincule a interface de saída via ip rule e ip route (roteamento político), se for necessário um claro separação de tráfego.
- API para rotação. Inicie um serviço HTTP leve através do socat ou um servidor web pequeno, que ao receber uma requisição GET chama cell-rotate.sh. Adicione uma autenticação básica e restrições por IP.
- Vinculação por interface. No arquivo de configuração do 3proxy utilize a opção -e para o IP/interface de saída, se você tem vários canais ativos e precisa forçar a saída via um modem desejado.
Otimização
- Estabilidade do sistema de arquivos. Habilite zram ou mova logs intensivos para /tmp ou um SSD externo, se a carga for alta.
- Redução da latência. Coloque o modem mais perto da janela, use antenas de qualidade, desligue demônios desnecessários no sistema.
- Atualização de firmwares. Quando necessário, atualize o modem para a versão mais recente estável pelo software oficial do fabricante. Faça sempre backups e não interrompa a atualização.
O que mais você pode fazer
- Integração com um painel de controle. Implemente uma página HTML simples com botões “conectar”, “desconectar”, “rotacionar” e exibindo o estado.
- Balanceamento de clientes. Com vários modems, você pode manualmente distribuir usuários entre as portas de diferentes instâncias do 3proxy para uma carga uniforme.
- Comparação com soluções prontas. Se você precisar de escalabilidade, automação de faturamento, APIs flexíveis, considere serviços especializados como mobileproxy.space como exemplo de funcionalidades que você pode adaptar em sua solução local. Isso ajudará a entender para onde desenvolver.
Dica: Mantenha todos os scripts em /usr/local/bin e os marque com versão e data. Isso facilitará a manutenção.
Dica: Adicione marcadores internos nas seções do próprio guia e na sua documentação. Por exemplo: “Veja Passo 4 para configuração do 3proxy.”
FAQ
- Quantos modems podem ser conectados a um único mini-PC? Dependendo da alimentação e do hub — normalmente 2–4 sem problemas. Certifique-se de que cada modem recebe corrente suficiente e utilize um hub ativo.
- Funciona sem Ethernet, apenas via Wi‑Fi? Sim. Conecte o mini-PC ao Wi‑Fi e verifique se o roteador vê o dispositivo. O proxy estará disponível pelo IP do Wi‑Fi.
- É possível usar apenas SOCKS5? Sim, mantenha no 3proxy apenas a linha socks e remova o proxy HTTP. Isso simplificará a configuração.
- Preciso de um IP público estático na entrada? Não, se o acesso for apenas da sua rede local. Se houver necessidade de acesso pela internet, configure o encaminhamento de portas no seu roteador e limite o acesso por IP e senha. Considere as regras do provedor.
- Com que frequência posso rotacionar o IP? Com segurança — não mais do que algumas vezes por hora. Rotação excessiva reduz a estabilidade e pode violar a política do provedor.
- Posso rodar em um Raspberry Pi 2 antigo? Tecnicamente sim, mas o desempenho será limitado. Recomendamos o Pi 3B+ ou mais recente.
- O que fazer se o 3proxy não estiver no repositório? Utilize a construção a partir do código-fonte ou alternativas como tinyproxy (HTTP) e dante-server (SOCKS). A configuração é essencialmente semelhante.
- Como saber o nível de sinal? Para Quectel: envie AT+CSQ para a porta principal do modem, interpretação: 15–20 médio, 20+ bom. Para HiLink — verifique o status na interface web do modem.
- Como me proteger contra superaquecimento? Instale dissipadores e um ventilador, monitore a temperatura vcgencmd measure_temp no Raspberry Pi, mantendo abaixo de 70–75°C sob carga.
- Posso reutilizar scripts em outra placa? Sim. Mova os arquivos de /usr/local/bin e as unidades systemd, ajuste os caminhos para o modem e APN.
Conclusão
Você montou um node proxy móvel completo no Raspberry Pi ou Orange Pi: escolheu a placa, modem e fonte, instalou o SO, ativou o ModemManager, subiu a conexão, configurou o 3proxy com autenticação e firewall, assegurou a inicialização automática, rotações de IP e monitoramento básico. Agora você tem experiência prática e uma ferramenta funcional para testar tráfego móvel, integrar com sistemas internos e para fins educacionais. Você pode avançar a solução: adicionar vários modems, construir um painel de controle, integrar uma API de rotação, otimizar o hardware e a lógica de failover. E para entender as melhores práticas e funções prontas é conveniente se orientar em serviços como mobileproxy.space, comparando suas capacidades com seu ambiente local. Se você precisar escalar rapidamente, pode combinar seus próprios nodes com soluções gerenciadas prontas.
⚠️ Atenção: Sempre respeite as leis e o contrato com seu provedor de internet. Não utilize proxies para tarefas ilegais e não tente contornar restrições. Mantenha o dispositivo em bom estado, observe a alimentação e a temperatura.
Dica: Salve um backup do cartão microSD após a configuração completa. Isso permitirá uma recuperação rápida em caso de falhas no armazenamento ou mudanças experimentais.