Introducción

Tienes en tus manos una detallada guía paso a paso que te enseñará a armar y configurar desde cero un nodo proxy móvil económico en el mini-PC Raspberry Pi o Orange Pi. Cubriremos todo el proceso: desde la elección de la placa, módem y alimentación, hasta la instalación del sistema operativo, controladores y programas, configuración del servidor proxy, autoarranque, estabilidad y pruebas. El resultado final: tendrás un proxy HTTP(S)/SOCKS5 móvil accesible local o remotamente, funcionando con un módem 4G/5G, con capacidad de reiniciar la sesión para obtener una nueva IP móvil y con un sistema básico de monitoreo y registro.

¿Para quién es esta guía? Para principiantes que se enfrentan por primera vez a Raspberry Pi o Orange Pi y que buscan una instrucción clara sin "agujeros". Paralelamente, ofreceremos algunos trucos avanzados para quienes deseen aprovechar al máximo el hardware. La guía es adecuada para laboratorios caseros, departamentos de pruebas de productos móviles, infraestructura interna de empresas, así como para proyectos educativos.

¿Qué necesitas saber de antemano? Habilidades básicas para trabajar con el terminal de Linux, como copiar y pegar comandos, habilidad para grabar la imagen del sistema en una tarjeta microSD y conectar cables. Todo lo demás lo explicaremos. Intencionadamente evitamos la jerga profesional o la aclaramos de inmediato.

¿Cuánto tiempo se requiere? Si cuentas con todos los componentes, de 2 a 4 horas, incluyendo la instalación del sistema operativo y las actualizaciones. La descarga de paquetes y firmware puede tardar más si la conexión a internet es lenta.

Enlaces rápidos a secciones: ir a la elección de placa, módem y alimentación, ir a la configuración del servidor proxy.

⚠️ Atención: Utiliza esta guía únicamente dentro del marco de la legislación vigente. No utilices el proxy para actividades ilegales ni trates de eludir restricciones o bloqueos. Cumple con las condiciones del contrato de tu operador de telefonía.

Consejo: Si necesitas una opción en la nube para gestionar IP móviles sin armar todo tú mismo, considera servicios especializados. Por ejemplo, mencionamos mobileproxy.space como referencia para entender las capacidades de tales soluciones y funcionalidades que podrás replicar parcialmente en tu nodo.

Preparación previa

Antes de empezar, asegúrate de tener todas las herramientas, accesos y software necesarios. Esta sección te salvará de paradas en medio del proceso.

Herramientas, programas y accesos necesarios

  • Computadora con Windows, macOS o Linux para grabar la imagen del sistema en la tarjeta microSD.
  • Lectora de tarjetas para microSD.
  • Acceso a internet para descargar imágenes de SO y paquetes.
  • Terminal de cliente SSH (Windows: PowerShell integrado o cualquier cliente SSH; macOS/Linux: terminal incorporado).
  • Programa para grabar imágenes: Raspberry Pi Imager o cualquier utilidad para grabar imágenes en la tarjeta microSD.

Requisitos del sistema

  • Mini-PC: Raspberry Pi 3B/3B+/4B/5 o Orange Pi (por ejemplo, Orange Pi PC, Orange Pi Zero2, Orange Pi 3 LTS, Orange Pi 5). Recomendamos no menos que Raspberry Pi 3B+ o un Orange Pi equivalente.
  • Almacenamiento: tarjeta microSD de 16-32 GB clase A1/A2. Para estabilidad, mejor 32 GB.
  • Fuente de alimentación: para Raspberry Pi 4 — 5V 3A con USB-C; para Raspberry Pi 3 — 5V 2.5A micro-USB; para Orange Pi — según modelo (generalmente 5V 3A USB-C o 5V 2-3A DC).
  • Módem móvil: módem USB 4G/5G o módem en formato mini-PCIe/M.2 en un adaptador USB. Populares: Huawei E3372 (Stick o HiLink), ZTE MF833, Quectel EC25/EG25-G/EP06/EM12, Sierra Wireless EM7455/EM7565 (a través de adaptador USB). Para 5G: Quectel RM500Q/RM520N (a través de adaptador M.2-USB con alimentación y antena).
  • Tarjeta SIM con un plan de datos activo. Consulta con tu operador el APN y las restricciones.
  • Cable Ethernet o acceso a Wi‑Fi para la configuración inicial.

Qué descargar e instalar con anticipación

  1. Descarga Raspberry Pi Imager o prepara la utilidad para grabar imágenes.
  2. Para Raspberry Pi: usa Raspberry Pi OS Lite (Bookworm, 64-bit) para una instalación mínima. Para Orange Pi: descarga la versión apropiada de Armbian (basada en Debian 12, núcleo 6.x), versión Lite sin gráficas.
  3. Prepárate con un cliente SSH (por ejemplo, OpenSSH estándar).
  4. Recolecta los parámetros del APN de tu operador: nombre del APN, y si es necesario, nombre de usuario y contraseña. Ejemplo: APN — internet, usuario — vacío, contraseña — vacío. Busca los datos exactos en la documentación del operador.

Creación de copias de seguridad

Si reutilizas una tarjeta microSD ya configurada, haz una copia de seguridad de la imagen. En Windows puedes usar cualquier utilidad de lectura de imágenes de la tarjeta; en macOS/Linux — el comando dd para crear un archivo de imagen. Guarda la copia en un disco externo.

Consejo: Lleva un archivo de notas donde copies todos los comandos y configuraciones. Esto te ahorrará tiempo en futuras configuraciones o al trasladar a otra placa.

Conceptos básicos

Términos clave explicados de manera sencilla

  • Proxy móvil — servidor proxy que accede a internet a través de una red móvil (4G/5G). Los sitios ven una IP móvil.
  • ModemManager — servicio de Linux para gestionar módems móviles a través de interfaces estándar (QMI, MBIM, PPP, comandos AT).
  • QMI/MBIM/NCM — métodos de comunicación de Linux con el módem. QMI y MBIM son modernos y rápidos; PPP es obsoleto y lento; NCM es emulación Ethernet para algunos módems.
  • 3proxy — servidor proxy ligero que maneja HTTP, HTTPS (CONNECT), SOCKS5, autenticación y registro.
  • Cambio de IP — reinicio de la sesión del módem (o "modo avión") para recibir una nueva IP móvil del operador. No hay garantías: el operador puede devolver la misma dirección.

Principios básicos de operación

El mini-PC se conecta al módem móvil a través de USB. El módem se registra en la red, levanta la interfaz móvil y recibe una IP del operador. En el mini-PC se levanta el servidor proxy, que escucha en el puerto designado y acepta conexiones desde la red local o por puertos redirigidos del router. El tráfico de los clientes pasa a través del módem. Bajo demanda, puedes reiniciar la sesión del módem para rotar la IP.

Lo que es importante entender antes de comenzar

  • La alimentación es crítica: los módems USB consumen de 0.5 a 1 A en picos. Necesitas una fuente de alimentación de calidad y un buen cable USB. Para módems 5G, considera un hub USB activo con alimentación externa.
  • Refrigeración: Raspberry Pi 4/5 y potentes Orange Pi tienden a calentarse. Instala un disipador y un ventilador.
  • Cobertura de red: velocidad y estabilidad dependen de la calidad de la señal LTE/NR. Usa antenas externas y coloca el equipo correctamente.
  • Legalidad: trabaja estrictamente dentro del marco legal y las reglas del operador.

⚠️ Atención: No intenten modificar el IMEI u otros identificadores del dispositivo. Esto es ilegal. Todos los ajustes en esta guía son legales y se basan en herramientas estándar de Linux.

Paso 1: Elegimos mini-PC, módem y alimentación

Objetivo de la etapa

Seleccionar componentes de hardware compatibles y confiables para evitar problemas al inicio.

Instrucciones detalladas paso a paso

  1. Selecciona la placa. Si deseas un inicio lo más estable posible — Raspberry Pi 4B con 2-4 GB de RAM. Si necesitas potencia moderna — Raspberry Pi 5. Alternativa: Orange Pi 3 LTS o Orange Pi 5 (ten en cuenta las diferencias en las imágenes de Armbian).
  2. Selecciona el módem USB. Para simplicidad — Huawei E3372 en modo Stick o ZTE MF833. Para flexibilidad y velocidad — Quectel EG25-G o EP06/EM12 a través de un adaptador USB con alimentación y antenas. Para 5G — Quectel RM520N-GL con adaptador USB 3.0 y alimentación externa.
  3. Verifica las frecuencias. Asegúrate de que el módem y el operador soporten las bandas LTE/5G requeridas en tu región.
  4. Prepara la alimentación. Para Raspberry Pi 4 — alimentador de 5V 3A con buen cable; para el módem 5G — hub USB activo de 5V 2-3A.
  5. Toma una microSD de 32 GB A1/A2. Una tarjeta de una marca confiable reducirá la probabilidad de fallas.
  6. Preparar refrigeración: disipadores y ventiladores en el chasis.
  7. Consigue antenas para el módem si no vienen en el paquete. Para Quectel frecuentemente se necesitan 2× antenas LTE/NR SMA.

Puntos importantes

  • La estabilidad de la alimentación determinará si el módem se desconecta bajo carga.
  • Antenas y colocación mejoran la señal y la velocidad final.
  • Compatibilidad: Raspberry Pi OS y Armbian soportan la mayoría de los módems a través de ModemManager y controladores qmi_wwan/cdc_mbim/option.

Consejo: Si dudas del módem, elige Quectel EG25-G como un "punto medio" en compatibilidad y estabilidad en 4G.

Resultado esperado

Tendrás un conjunto en tu mesa: mini-PC, tarjeta de memoria, fuente de alimentación, módem USB con tarjeta SIM, antenas, cables y refrigeración.

Problemas posibles y sus soluciones

  • Problema: El módem se calienta mucho. Solución: usa un hub activo, lleva el módem a un extensor USB, añade un disipador térmico al adaptador.
  • Problema: Señal débil en la habitación. Solución: usa una antena externa, lleva el módem a la ventana, utiliza un cable USB largo.
  • Problema: No estás seguro si es Stick o HiLink en Huawei E3372. Solución: configuramos ambos tipos; para HiLink habrá otro método para gestionar la conexión.

✅ Verificación: Verifica que el equipo esté completo y cumpla con los requisitos. Anota el IMEI del módem y el modelo para el inventario (solo para registro, no modifiques el IMEI).

Paso 2: Instalamos el SO y paquetes básicos

Objetivo de la etapa

Desplegar un SO actual sin interfaz gráfica, habilitar SSH, actualizar el sistema e instalar las herramientas que serán necesarias más adelante.

Instrucciones detalladas paso a paso

  1. Graba la imagen. Inserta la microSD en la lectora. Abre Raspberry Pi Imager o tu utilidad. Selecciona Raspberry Pi OS Lite (Bookworm, 64-bit) para Raspberry Pi o la versión Armbian Lite apropiada para Orange Pi. Selecciona la tarjeta de memoria y presiona el botón de grabar. Espera a que termine y se verifique.
  2. Activa SSH. Para Raspberry Pi: después de grabar, extrae y vuelve a conectar la tarjeta al PC. En la sección de arranque, crea un archivo vacío llamado ssh sin extensión. Para Armbian, SSH está activado por defecto.
  3. El primer inicio. Inserta la microSD en la placa, conecta Ethernet al router, conecta la alimentación. Espera 1-2 minutos para el primer despliegue del sistema.
  4. Encuentra la IP de la placa. En el router, revisa la lista de clientes DHCP y busca el dispositivo Raspberry Pi/Orange Pi. O usa un escáner de red. Supongamos que la dirección es 192.168.1.50.
  5. Conéctate por SSH. En Windows abre PowerShell y ejecuta: ssh pi@192.168.1.50 (para Raspberry Pi, la contraseña por defecto es raspberry, a menos que la hayas cambiado en el image). En Armbian, el primer inicio requerirá que establezcas una contraseña y crees un usuario.
  6. Actualiza el sistema. Ejecuta en orden: sudo apt update, luego sudo apt full-upgrade -y. Espera a que termine. Reinicia: sudo reboot. Conéctate nuevamente por SSH.
  7. Instala los paquetes básicos: sudo apt install -y modemmanager usb-modeswitch usbutils psmisc jq curl socat netcat-traditional. Para módems QMI/MBIM añade: sudo apt install -y libqmi-utils libmbim-utils.
  8. Instala herramientas de red: sudo apt install -y iproute2 iptables ufw ca-certificates.
  9. Configura la zona horaria: sudo timedatectl set-timezone Europe/Moscow (o tu ciudad). Activa la sincronización horaria: sudo timedatectl set-ntp true.

Puntos importantes

  • Usa imágenes Lite sin interfaz gráfica. Consumirán menos recursos y serán más estables.
  • Reinicia después de actualizaciones significativas del núcleo y firmware.
  • Almacena tus accesos: cambia las contraseñas por defecto y anótalas en un lugar seguro.

Consejo: Asigna un nombre estático: sudo hostnamectl set-hostname mobi-proxy-01. Esto facilitará la navegación en la red.

Resultado esperado

El mini-PC es accesible vía SSH, está actualizado y tiene instalado ModemManager, herramientas QMI/MBIM y utilidades de red.

Problemas posibles y sus soluciones

  • Problema: No hay conexión por SSH. Solución: Verifica si el archivo ssh está habilitado en la partición de arranque (para Raspberry Pi), el cable de red y la tabla DHCP en el router.
  • Problema: La actualización se detuvo. Solución: Espera, luego verifica si la tarjeta de memoria se ha llenado. Puede que necesites reiniciar con sudo reboot. Si falla nuevamente, vuelve a grabar la imagen.
  • Problema: Los paquetes no están disponibles. Solución: Verifica la fecha/hora, DNS y ruta con ping 1.1.1.1 y ping debian.org. Corrige la red.

✅ Verificación: Ejecuta mmcli -L. Es posible que el módem no esté aún, pero el comando debe funcionar y no retornar errores sobre ModemManager no encontrado.

Paso 3: Conectamos y configuramos el módem móvil

Objetivo de la etapa

Que el módem sea detectado por el sistema, se registre en la red y establezca una conexión móvil en Linux.

Instrucciones detalladas paso a paso

  1. Conecta el módem a la placa. Para módems que requieren mucha energía utiliza un hub USB activo. Inserta la tarjeta SIM en el módem antes de conectarla.
  2. Verifica la detección del dispositivo: lsusb. Debes ver una línea con el nombre del módem (Huawei, ZTE, Qualcomm, Quectel). Guarda la salida para tus notas.
  3. Verifica los puertos: dmesg | tail -n 50. Deberías ver dispositivos como /dev/ttyUSBx o interfaces de red como wwan0, cdc-wdm0, usb0 o eth1 dependiendo del modo.
  4. Verifica si ModemManager ve el módem: mmcli -L. Deberías ver el módem, por ejemplo /org/freedesktop/ModemManager1/Modem/0.
  5. Desbloquea el módem si pide PIN: mmcli -m 0 --pin=1234 (sustitúyelo por tu PIN si está activado). Es mejor desactivar el PIN previamente en el teléfono.
  6. Configura el APN. Para el perfil por defecto: mmcli -m 0 --simple-connect="apn=internet,user=,password=" o mmcli -m 0 --3gpp-operator-format=long si es necesario. Para MBIM: utiliza mbimcli -d /dev/cdc-wdm0 --attach-packet-service con posterior configuración a través de ModemManager — a menudo es más sencillo mmcli --simple-connect.
  7. Verifica el estado: mmcli -m 0. En la sección Status deberías ver state: connected, y en Bearer — los parámetros de conexión.
  8. Verifica la interfaz: ip a. Debería aparecer una interfaz del tipo wwan0 o usb0/ncm0 dependiendo del modo. Ejecuta ip route para ver la ruta por defecto a través de la interfaz móvil.
  9. Verifica internet: curl -4 ifconfig.me y curl -4 ipinfo.io/ip (o cualquier servicio similar). Deberías ver la IP móvil pública.

Puntos importantes

  • Modos de módem: E3372 puede funcionar como HiLink (router) o Stick (módem). En HiLink la interfaz será como eth1/usb0 con una dirección interna, gestión a través de la interfaz web del módem. En Stick — a través de QMI/NCM/PPP. Recomendamos Stick o un módem completo QMI/MBIM (Quectel).
  • Ningún parche externo sin necesidad: los núcleos modernos soportan la mayoría de los módems.
  • Antenas: conecta ambas antenas MIMO para estabilidad 4G/5G.

Consejo: Para módems Quectel el puerto AT principal suele ser /dev/ttyUSB2. El comando echo -e "AT+CSQ\r" | socat - /dev/ttyUSB2,crnl mostrará el nivel de señal. Es bueno si CSQ es 15 o más.

Consejo: Si tienes un módem HiLink, primero abre su interfaz web en el navegador en la dirección que se muestra en ip a (normalmente 192.168.8.1), luego habilita los datos móviles y verifica el estado de la conexión.

Resultado esperado

El módem se registra y se conecta a la red correctamente. Los comandos curl devuelven la IP móvil pública.

Problemas posibles y sus soluciones

  • Problema: El módem no aparece en mmcli -L. Razón: modo incorrecto o falta de alimentación. Solución: conéctalo mediante un hub USB activo; para Huawei asegúrate de que esté en modo Stick, instala usb-modeswitch (ya está instalado), reinicia.
  • Problema: El dispositivo está bloqueado por el PIN. Solución: desactiva el PIN en la SIM en el teléfono; de lo contrario, usa mmcli -m 0 --pin=XXXX para desbloquearlo.
  • Problema: No hay internet. Razón: APN incorrecto. Solución: consulta el APN con el operador; para algunos planes se requieren nombre de usuario/contraseña, utiliza --simple-connect con los parámetros.
  • Problema: La IP no cambia al reconectarse. Razón: el operador puede estar almacenando la dirección. Solución: espera el tiempo de espera o realiza un re-registrado completo (ver sección sobre rotación abajo).

✅ Verificación: Ejecuta mmcli -m 0 y ip a. Deberías ver estado conectado y una interfaz activa con direccionamiento. curl -4 ifconfig.me debe devolver la IP móvil.

Paso 4: Configuramos el servidor proxy

Objetivo de la etapa

Instalar y configurar el servidor proxy ligero 3proxy, que compartirá acceso a internet a través del módem móvil.

Instrucciones detalladas paso a paso

  1. Instala 3proxy. En sistemas Debian/Ubuntu, el paquete suele estar disponible: sudo apt install -y 3proxy. Si el paquete no está disponible, instala a través de compilación desde el código fuente o alternativas como tinyproxy/dante. Continuaremos con 3proxy.
  2. Crea un directorio para la configuración y logs, si no existen: sudo mkdir -p /etc/3proxy /var/log/3proxy. Verifica dónde se encuentra el archivo de configuración en tu instalación (normalmente /etc/3proxy/3proxy.cfg).
  3. Crea el archivo de configuración: sudo nano /etc/3proxy/3proxy.cfg y pega la configuración 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. Explicación: habilitamos la desemonización, el registro, configuramos el usuario user con contraseña strongpassword, levantamos un proxy HTTP en 3128 y un SOCKS5 en 1080. Cambia los puertos y credenciales de ser necesario.
  4. Restringe el acceso por IP (recomendado). Agrega líneas antes de iniciar el proxy: allow user * 192.168.0.0/16 o una IP/red confiable específica; o usa un firewall. Un ejemplo de línea simplificada: allow user solo para acceso con autorización.
  5. Permite el bind en todas las interfaces. Por defecto el servicio escucha en 0.0.0.0. Si deseas escuchar solo en la red local, utiliza la opción -i con la IP del mini-PC en la LAN, por ejemplo: proxy -p3128 -a -i192.168.1.50. Para SOCKS es similar: socks -p1080 -i192.168.1.50.
  6. Crea un unit de systemd (si no fue creado por el paquete). Abre: sudo nano /etc/systemd/system/3proxy.service. Pega: [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. Guarda el archivo, luego ejecuta: sudo systemctl daemon-reload, sudo systemctl enable --now 3proxy.
  7. Verifica el estado: systemctl status 3proxy. Deberías ver el estado activo (running). Si hay un error, mira journalctl -u 3proxy -e.
  8. Configura UFW. Habilita el 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 si es necesario. Actívalo: sudo ufw enable. Verifica las reglas: sudo ufw status.
  9. Verifica el acceso al proxy desde un cliente en la red local. Indica la IP del mini-PC y el puerto 3128 (HTTP) o 1080 (SOCKS5), introduce usuario/contraseña user/strongpassword. Abre un sitio de chequeo de IP y asegúrate de que sea móvil.

Puntos importantes

  • No dejes el proxy abierto. Siempre utiliza autorización y restricción por IP o firewall.
  • Almacena las contraseñas en un gestor de contraseñas. Cámbialas regularmente.
  • Registros: revisa regularmente /var/log/3proxy/3proxy.log.

Consejo: Si solo necesitas SOCKS5, elimina la línea proxy -p3128 -a y deja solo socks -p1080. Esto disminuirá la superficie de ataque.

Consejo: Para varios usuarios, agrégales en la sección users a través de dos puntos, por ejemplo: users alice:CL:pass1 bob:CL:pass2.

Resultado esperado

3proxy está ejecutándose como un servicio, disponible en los puertos deseados, protegido con contraseña y firewall.

Problemas posibles y sus soluciones

  • Problema: El servicio no inicia. Razón: error en la configuración. Solución: verifica la sintaxis, simplifica a una configuración mínima y añade opciones una por una.
  • Problema: El cliente no puede conectarse. Razón: bloqueo de UFW. Solución: comprueba ufw status y la corrección de los puertos permitidos.
  • Problema: La autorización falla. Solución: verifica la sección users, la ausencia de espacios adicionales, reinicia el servicio.

✅ Verificación: Desde el cliente, indica el servidor proxy, autentica y abre una página que muestre la IP. Debería mostrarse la IP móvil del módem.

Paso 5: Configuramos el autoarranque y aumentamos la estabilidad

Objetivo de la etapa

Garantizar el inicio automático de todos los componentes tras un reinicio, agregar auto-recuperación de conexión y rotación de IP segura.

Instrucciones detalladas paso a paso

  1. Verifica el autoarranque de 3proxy. Ya hemos habilitado systemctl enable --now 3proxy. Asegúrate de que tras un sudo reboot, el servicio se levante.
  2. Agrega un servicio para conectar el módem al iniciar. Aunque ModemManager levantará el Bearer por sí mismo con --simple-connect, es más seguro configurarlo como un pequeño servicio. Crea el archivo /usr/local/bin/cell-up.sh con el contenido: conectar con mmcli -m 0 --simple-connect="apn=internet" con verificación del estado. Haz el archivo ejecutable: sudo chmod +x /usr/local/bin/cell-up.sh.
  3. Crea el unit /etc/systemd/system/cell-up.service con el siguiente contenido: [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. Aplica: sudo systemctl daemon-reload && sudo systemctl enable --now cell-up.
  4. Escribe un script de rotación de IP. Crea /usr/local/bin/cell-rotate.sh. Opción 1 para QMI/MBIM/Quectel: desconectar, esperar, volver a conectar: mmcli -m 0 --disconnect; luego mmcli -m 0 --set-power-state=low, pausa de 3-5 segundos, luego mmcli -m 0 --set-power-state=on y volver a --simple-connect. Para soporte AT, se puede enviar AT+CFUN=1,1 al puerto /dev/ttyUSB2 para reiniciar el módem. Para HiLink usa API HTTP del módem para desconectar/conectar (si está disponible). Añade logs y esperas de 10-30 segundos para el registro.
  5. Asegúrate de que la rotación funcione correctamente. Ejecuta sudo /usr/local/bin/cell-rotate.sh y compara curl -4 ifconfig.me antes y después. Planifica una tarea cron si es necesario, pero no gires demasiado a menudo para no violar las reglas del operador.
  6. Monitorea el módem. Crea /usr/local/bin/cell-watchdog.sh, que haga un ping a una dirección confiable (por ejemplo, 1.1.1.1) cada 60 segundos, y tras 3 fallas consecutivas, ejecute cell-rotate.sh. Configura un unit de systemd con tipo simple y Restart=always.
  7. Monitorea logs. Activa la rotación de logs de 3proxy que ya has configurado con el parámetro rotate 10. Para los logs del sistema, verifica que journald tenga límites de almacenamiento por defecto.
  8. Configuración detallada de UFW. Mantén solo los puertos necesarios abiertos. Si hay acceso desde internet, configura el redireccionamiento de puertos en el router y la restricción por IP a nivel de 3proxy o UFW.

Puntos importantes

  • Los intervalos de rotación no deben ser demasiado frecuentes. Esto influye en la estabilidad y puede ir en contra de la política del operador.
  • Seguridad: para el acceso remoto, usa solo listas cerradas de IP y contraseñas robustas.
  • Logs y métricas: almacena logs en volúmenes limitados para no llenar la microSD.

Consejo: Si tienes varios módems, asigna nombres a las interfaces y dispositivos a través de reglas udev para que no se confundan al reiniciar. Por ejemplo, asigna enlaces simbólicos según el número de serie.

Consejo: Para módems 5G, no escatimes en un hub USB activo y la alimentación. Es clave para un funcionamiento estable bajo carga.

Resultado esperado

El sistema levanta automáticamente la conexión móvil y el proxy al iniciar, y en caso de fallos, reinicia la conexión y restablece el servicio.

Problemas posibles y sus soluciones

  • Problema: La rotación no cambia la IP. Razón: el operador devuelve el mismo pool. Solución: aumenta el tiempo de espera entre disconnect/connect a 30-60 segundos; realiza un re-registrado completo de la alimentación del módem; de ser necesario, cambia el punto de conexión (Band) o ubicación.
  • Problema: El watchdog reinicia demasiado seguido. Solución: aumenta los umbrales de activación (por ejemplo, 5-7 fallos consecutivos de verificación) y el intervalo entre cheques.

✅ Verificación: Reinicia el mini-PC. Asegúrate de que tras 1-2 minutos, el 3proxy esté disponible, internet móvil esté activo, y el script de rotación realmente cambie la IP.

Paso 6: Probamos, monitoreamos y registramos

Objetivo de la etapa

Verificar la configuración final, medir el rendimiento básico y establecer un monitoreo simple del estado del nodo.

Instrucciones detalladas paso a paso

  1. Verifica la disponibilidad de puertos. Desde un cliente ejecuta: abre un navegador con configuración de proxy y accede a cualquier sitio. O usa utilidades: curl -x http://user:strongpassword@IP:3128 http://example.com. Para SOCKS5: curl --socks5 user:strongpassword@IP:1080 http://example.com.
  2. Verifica el cambio de IP. Compara los resultados de curl -4 ifconfig.me antes y después de cell-rotate.sh.
  3. Evalúa la velocidad. Usa speedtest-cli (instala: sudo apt install -y speedtest-cli) a través del proxy en el cliente o directamente en la placa. Ten en cuenta que la velocidad depende del operador y la señal.
  4. Revisa los logs de 3proxy: tail -f /var/log/3proxy/3proxy.log. Deberías ver líneas sobre conexiones, usuarios y tráfico.
  5. Revisa el log del sistema: journalctl -u ModemManager -e, journalctl -u 3proxy -e. Asegúrate de que no haya errores.
  6. Habilita telemetría básica. Se puede programar en cron la recolección de métricas de señal a través de comandos AT (por ejemplo, AT+CSQ) y registro en un archivo para analizar la dinámica de cobertura.

Puntos importantes

  • Expectativas realistas: el canal móvil es susceptible a fluctuaciones. Planifica márgenes.
  • Registro ayudará a resolver situaciones irregulares y optimizar la configuración.

Consejo: Si usas varios proxies en una sola placa, distribuye puertos, usuarios y coloca la etiqueta del nodo en el nombre de los logs para no confundirte.

Resultado esperado

La conexión a través del proxy funciona, la IP se determina como móvil, la rotación está activa, y los logs y registros documentan los eventos.

Problemas posibles y sus soluciones

  • Problema: La velocidad es baja. Razón: señal débil o celda saturada. Solución: cambia la ubicación del módem, usa antenas externas, prueba con otro operador.
  • Problema: Inestabilidad bajo carga. Razón: alimentación. Solución: fuente de alimentación más potente, hub activo, cable de calidad, activa la refrigeración.

✅ Verificación: Obtén la IP móvil a través del proxy y asegúrate de que los sitios simples se abran rápidamente. Ejecuta speedtest y compáralo con tus expectativas.

Verificación del resultado

Lista de control

  • Acceso SSH al mini-PC funciona.
  • ModemManager ve el módem, la conexión se levanta automáticamente.
  • 3proxy se está ejecutando como servicio, escucha los puertos especificados.
  • El acceso al proxy está restringido con contraseñas y firewall.
  • La rotación de IP cambia la dirección pública al menos en parte de las ocasiones.
  • Los logs se están escribiendo, el sistema no se sobrecalienta ni pierde energía.

Cómo probar

  • Abre 2-3 sitios de verificación de IP a través del proxy. Compara las direcciones antes y después de la rotación.
  • Ejecuta una serie de solicitudes cortas a través del proxy y evalúa la latencia: curl -w "%{time_connect} %{time_starttransfer}\n" -o /dev/null -s http://example.com.
  • Reinicia el dispositivo. Asegúrate de que todos los servicios se inicien automáticamente.

Métricas de éxito

  • El tiempo de recuperación después de reiniciar hasta que el dispositivo esté completamente operativo es de menos de 2 minutos.
  • El porcentaje de rotaciones exitosas con cambio de IP no debe ser menor al 50-70% (depende del operador).
  • Estabilidad bajo carga de 1-2 Mbps sin caídas durante varias horas.

Errores comunes y soluciones

  • Problema: El proxy es accesible desde internet sin contraseña. Razón: falta configurar la autorización y UFW. Solución: habilitar auth strong y users en 3proxy, restringir el acceso en UFW y por IP.
  • Problema: El módem se desconecta ocasionalmente. Razón: alimentación insuficiente o sobrecalentamiento. Solución: hub USB activo, mejor fuente de alimentación, refrigeración, watchdog con script de reinicio.
  • Problema: mmcli no encuentra el módem después de reiniciar. Razón: secuencia de inicialización. Solución: agregar dependencia After=ModemManager.service y espera en cell-up.service, verificar reglas de udev.
  • Problema: La rotación no da nueva IP. Razón: política del operador. Solución: aumentar la pausa entre disconnect/connect, cambiar la ubicación, al usar HiLink hacer un re-registro completo del módem.
  • Problema: Los logs llenan la microSD. Razón: logging demasiado detallado. Solución: reducir la cantidad de detalles, activar rotación y auto-limpieza, mover los logs a /var/log con rotación.
  • Problema: Velocidad baja en módem 5G. Razón: uso de USB 2.0 o cable débil. Solución: conectarlo a USB 3.0, usar un cable corto apantallado, hub activo, actualizar el firmware del módem si es posible.
  • Problema: Conflicto de puertos. Razón: otros servicios ya están escuchando en esos puertos. Solución: cambiar puertos en 3proxy y UFW, verificar ss -tulpen.

Funciones adicionales

Configuraciones avanzadas

  • Configuración multi-módem. Conecta de 2 a 4 módems a través de un hub activo. Crea instancias separadas de 3proxy con puertos únicos y credenciales para cada módem. Asocia la interfaz saliente mediante ip rule y ip route (enrutamiento político), si es necesario segmentar el tráfico explícitamente.
  • API para rotación. Lanza un servicio HTTP ligero a través de socat o un servidor web pequeño, que al recibir una solicitud GET llame a cell-rotate.sh. Añade autorización básica y restricción por IP.
  • Vinculación a la interfaz. En la configuración de 3proxy usa la opción -e para la IP/interfaz saliente, si tienes múltiples canales activos y necesitas forzar el tráfico a través de un módem específico.

Optimización

  • Estabilidad del sistema de archivos. Activa zram o mueve logs intensivos a /tmp o a un SSD externo, si la carga es alta.
  • Reducir latencias. Coloca el módem más cerca de la ventana, usa antenas de calidad, desactiva demonios innecesarios en el sistema.
  • Actualizaciones de firmware. Actualiza el módem a la última versión estable a través del software oficial del fabricante según sea necesario. Siempre haz copias de seguridad y no interrumpas la actualización.

Qué más se puede hacer

  • Integración con el panel de control. Implementa una página HTML simple con botones de "conectar", "desconectar", "rotar" y mostrar el estado.
  • Balanceo de clientes. Con varios módems puedes distribuir manualmente los usuarios a través de los puertos de las distintas instancias de 3proxy para una carga uniforme.
  • Comparación con soluciones listas. Si necesitas escalabilidad, automatización de facturación, API flexibles, evalúa servicios especializados como mobileproxy.space como un ejemplo de funcionalidades que se pueden adaptar a tu solución local. Esto ayudará a comprender cómo avanzar.

Consejo: Guarda todos los scripts en /usr/local/bin y márcalos con versión y fecha. Esto facilitará el mantenimiento.

Consejo: Añade marcadores internos en las secciones de la guía y tus documentos. Por ejemplo, "Ver Paso 4 para la configuración de 3proxy".

FAQ

  1. ¿Cuántos módems se pueden conectar a un mini-PC? Dependiendo de la alimentación y el hub — normalmente 2-4 sin problemas. Asegúrate de que cada módem reciba suficiente corriente y usa un hub activo.
  2. ¿Funcionará sin Ethernet, solo por Wi‑Fi? Sí. Conecta el mini-PC a Wi‑Fi y asegúrate de que el router vea el dispositivo. El proxy estará disponible a través de la IP del Wi‑Fi.
  3. ¿Se puede usar solo SOCKS5? Sí, deja en 3proxy solo la línea de socks y quita el proxy HTTP. Esto simplificará la configuración.
  4. ¿Necesito una IP estática blanca de entrada? No, si el acceso es solo desde tu red local. Si necesitas acceso desde internet, configura el redireccionamiento de puertos en tu router y limita el acceso por IP y contraseña. Ten en cuenta las reglas del proveedor.
  5. ¿Con qué frecuencia se puede rotar la IP? De forma segura, no más de unas pocas veces por hora. La rotación excesiva reduce la estabilidad y puede violar la política del operador.
  6. ¿Se puede desplegar en un viejo Raspberry Pi 2? Técnicamente, sí, pero el rendimiento será limitado. Se recomienda Pi 3B+ o más reciente.
  7. ¿Qué hacer si 3proxy no está en el repositorio? Usa compilación desde el código fuente o alternativas como tinyproxy (HTTP) y dante-server (SOCKS). La configuración es conceptualmente similar.
  8. ¿Cómo saber el nivel de señal? Para Quectel: envía AT+CSQ al puerto principal del módem, interpretación: 15-20 promedio, 20+ bien. Para HiLink – revisa el estado en la interfaz web del módem.
  9. ¿Cómo protegerse del sobrecalentamiento? Instala disipadores y un ventilador, monitorea la temperatura vcgencmd measure_temp en Raspberry Pi, mantenla por debajo de 70-75°C bajo carga.
  10. ¿Se pueden reutilizar los scripts en otra placa? Sí. Mueve los archivos de /usr/local/bin y los unit de systemd, ajusta las rutas al módem y el APN.

Conclusión

Has ensamblado una completa nodo proxy móvil en Raspberry Pi o Orange Pi: elegiste la placa, módem y alimentación, instalaste el SO, activaste ModemManager, levantaste la conexión, configuraste 3proxy con autenticación y firewall, aseguraste el autoarranque, la rotación de IP y un monitoreo básico. Ahora tienes experiencia práctica y una herramienta funcional para probar tráfico móvil, integrarte con sistemas internos y objetivos educativos. A partir de aquí puedes desarrollar la solución: agregar múltiples módems, crear un panel de control, integrar una API de rotación, optimizar el hardware y la lógica de tolerancia a fallos. Para entender las mejores prácticas y funcionalidades listas, es conveniente orientarse en servicios como mobileproxy.space, comparando sus capacidades con tu entorno local. Si necesitas escalar rápidamente, puedes combinar tus propios nodos con soluciones administradas.

⚠️ Atención: Siempre respeta la legislación y el contrato con tu operador de telefonía. No utilices el proxy para tareas ilegales ni trates de eludir restricciones. Mantén el dispositivo en buenas condiciones, controla la alimentación y la temperatura.

Consejo: Guarda una copia de seguridad de la tarjeta microSD después de la configuración completa. Esto permitirá restaurarte rápidamente en caso de fallas del almacenamiento o cambios experimentales.