Ir al contenido
GProxy
Registro
Гайды 7 min de lectura 33 vistas

3proxy

Domina la instalación y configuración de 3proxy. Esta guía detalla la configuración de un servidor proxy ligero, mejorando el control de red y la privacidad.

3proxy

3proxy es una suite de servidor proxy ligera y de alto rendimiento que se puede instalar y configurar para proporcionar servicios de proxy HTTP, HTTPS, SOCKSv4/4.5/5 y FTP, así como mapeo de puertos TCP y redirección de tráfico, principalmente a través de la compilación desde el código fuente en sistemas tipo Unix o utilizando binarios precompilados en Windows.

3proxy es un servidor proxy compacto y versátil diseñado para entornos que requieren un consumo mínimo de recursos y una alta configurabilidad. Su tamaño reducido y eficiencia lo hacen adecuado para sistemas embebidos, uso personal o escenarios donde un proxy con todas las funciones como Squid es excesivo.

Requisitos Previos

Antes de instalar 3proxy, asegúrese de que el sistema de destino cumpla con los siguientes requisitos:

  • Sistema Operativo: Un sistema tipo Unix (Linux, FreeBSD, macOS) para la compilación, o Windows para la distribución binaria. Esta guía se centra en Linux.
  • Compilador: GCC o Clang (para la compilación desde el código fuente).
  • Herramientas de Construcción: Utilidad make.
  • Acceso a la Red: Capacidad para descargar archivos fuente.
  • Privilegios de Usuario: Acceso root o sudo para la instalación y configuración del servicio del sistema.

Instalación

La instalación de 3proxy generalmente implica descargar el código fuente, compilarlo y luego colocar los binarios y archivos de configuración en las ubicaciones apropiadas.

Descargar Código Fuente

Siempre descargue la última versión estable del sitio web oficial de 3proxy o de su repositorio de GitHub.

# Navegar a un directorio temporal
cd /tmp

# Descargar la última versión estable (reemplace con la versión actual si es diferente)
# Consulte https://3proxy.ru/ o https://github.com/3proxy/3proxy para el último enlace
wget https://3proxy.ru/0.9.4/3proxy-0.9.4.tar.gz

# Extraer el archivo
tar -xzf 3proxy-0.9.4.tar.gz

# Cambiar al directorio extraído
cd 3proxy-0.9.4

Compilar e Instalar

3proxy utiliza un Makefile simple. La compilación es sencilla.

# Compilar 3proxy
make -f Makefile.Linux

# Crear directorios de instalación
mkdir -p /usr/local/3proxy/bin
mkdir -p /usr/local/3proxy/etc
mkdir -p /usr/local/3proxy/logs

# Instalar el binario compilado y la configuración de ejemplo
cp src/3proxy /usr/local/3proxy/bin/
cp 3proxy.cfg.sample /usr/local/3proxy/etc/3proxy.cfg

# Establecer permisos apropiados (opcional, pero buena práctica)
chmod 755 /usr/local/3proxy/bin/3proxy
chmod 640 /usr/local/3proxy/etc/3proxy.cfg

Para sistemas que requieren características específicas (por ejemplo, autenticación NTLM, soporte IPv6), consulte src/Makefile.Linux para las banderas de compilación. Por ejemplo, para habilitar NTLM: make -f Makefile.Linux NTLM.

Configuración Básica

El archivo de configuración principal para 3proxy es 3proxy.cfg. Define los puertos de escucha, tipos de proxy, métodos de autenticación y reglas de acceso. La ubicación predeterminada es /usr/local/3proxy/etc/3proxy.cfg.

Directivas Principales

Un 3proxy.cfg mínimo incluye:

  • nserver: Especifica los servidores DNS para la resolución de nombres de host.
  • timeouts: Establece varios tiempos de espera de conexión.
  • log: Define la ruta y el formato del archivo de registro.
  • users: Declara usuarios para la autenticación.
  • auth: Especifica el método de autenticación.
  • proxy, socks, tcppm: Define los servicios de proxy.

Ejemplo: Proxy HTTP/HTTPS Simple

Esta configuración establece un proxy HTTP/HTTPS en el puerto 3128, requiriendo autenticación básica para un usuario llamado testuser con la contraseña password123.

# /usr/local/3proxy/etc/3proxy.cfg

# Configuración global
nserver 8.8.8.8 # Google Public DNS
nserver 8.8.4.4

# Tiempos de espera en segundos
timeouts 1 5 30 60 180 1800 15 60

# Configuración de registro
# log /usr/local/3proxy/logs/3proxy.log D # Rotación diaria
log /usr/local/3proxy/logs/3proxy.log
logformat "- +_L%t.%. %N.%O %I %E %U %C:%c %R:%r %O %h %T"

# Usuarios para autenticación: usuario:contraseña
users testuser:CL:password123

# Método de autenticación
# CL: Contraseña en texto claro (no recomendado para producción)
# LM: Hash de LAN Manager
# NT: Hash NTLM
# P: Contraseña cifrada (formato interno de 3proxy, use `3proxy -e` para generar)
auth strong # Usar autenticación fuerte (requiere LM/NT o P)
# Para contraseñas CL simples, use 'auth iponly,basic'

# Permitir acceso para usuarios autenticados
allow testuser

# Definir el servicio de proxy HTTP/HTTPS
# -p 3128: Escucha en el puerto 3128
# -n: Deshabilita la autenticación NTLM para este servicio (si NTLM global está habilitado)
# -a: Habilita la autenticación básica
proxy -p3128

Para generar una contraseña cifrada usando 3proxy -e:

/usr/local/3proxy/bin/3proxy -e password123

La salida (por ejemplo, _E_01000000010000000000000000000000) se puede usar luego en la directiva users con el prefijo _E_: users testuser:_E_01000000010000000000000000000000.

Ejecutando 3proxy

Después de configurar 3proxy.cfg, inicie el servidor:

/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg

Para ejecutarlo en segundo plano como un demonio:

/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg -d

Temas de Configuración Avanzada

Métodos de Autenticación

3proxy soporta varios métodos de autenticación:

  • iponly: Autenticación basada únicamente en la dirección IP del cliente (sin nombre de usuario/contraseña).
  • basic: Autenticación Básica HTTP (envía credenciales en texto claro).
  • digest: Autenticación Digest HTTP.
  • ntlm: Autenticación NTLM (requiere compilación con soporte NTLM).
  • strong: Selecciona automáticamente el método más fuerte disponible.

Ejemplo con auth iponly:

# /usr/local/3proxy/etc/3proxy.cfg
auth iponly
allow 192.168.1.0/24 # Permitir todos los clientes de esta subred sin autenticación de usuario explícita
proxy -p3128

Control de Acceso

Las directivas allow y deny controlan el acceso del cliente basándose en varios criterios. Las reglas se procesan en orden. La primera regla que coincide se aplica.

# /usr/local/3proxy/etc/3proxy.cfg

# Denegar direcciones IP específicas
deny 192.168.1.10

# Permitir un usuario específico
allow myuser

# Permitir una subred específica para HTTP/HTTPS
allow * 192.168.1.0/24 * * HTTP HTTPS

# Denegar acceso a dominios de destino específicos
deny * * .example.com

La sintaxis para allow/deny es allow [usuario] [ip_origen] [ip_destino] [puerto_destino] [protocolo]. * actúa como un comodín.

Encadenamiento de Proxies (Proxies Padre)

3proxy puede reenviar solicitudes a otro servidor proxy utilizando la directiva parent.

# /usr/local/3proxy/etc/3proxy.cfg

# Encadenar a un proxy HTTP ascendente
parent 1000 http 192.168.1.100 8080 myuser:mypass

# Encadenar a un proxy SOCKS5 ascendente
parent 1000 socks5 192.168.1.101 1080

El primer argumento 1000 es un tiempo de espera en milisegundos.

Proxy SOCKS

Para configurar un proxy SOCKS (v4, v4.5, v5), use la directiva socks.

# /usr/local/3proxy/etc/3proxy.cfg

# Definir el servicio de proxy SOCKS en el puerto 1080
socks -p1080

Mapeo de Puertos TCP (TCPPM)

La directiva tcppm permite reenviar conexiones TCP desde un puerto local a un host y puerto remotos.

# /usr/local/3proxy/etc/3proxy.cfg

# Reenviar conexiones del puerto local 2222 a remotehost:22 (SSH)
tcppm -p2222 remotehost.example.com 22

Configuración de Registro

La directiva log especifica el archivo de registro. logformat define la estructura de salida. rotate configura la rotación de registros.

# /usr/local/3proxy/etc/3proxy.cfg

# Registrar en /usr/local/3proxy/logs/access.log
log /usr/local/3proxy/logs/access.log

# Formato de registro personalizado
logformat "- +_L%t.%. %N.%O %I %E %U %C:%c %R:%r %O %h %T"

# Rotar registros diariamente (D), semanalmente (W), mensualmente (M) o por tamaño (S<bytes>)
rotate D /usr/local/3proxy/logs/archive

Integración con el Sistema (Servicio systemd)

Para una operación robusta, ejecute 3proxy como un servicio systemd.

  1. Crear un archivo de servicio: /etc/systemd/system/3proxy.service

    ```ini
    [Unit]
    Description=3proxy Lightweight Proxy Server
    After=network.target

    [Service]
    Type=forking
    ExecStart=/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg -d
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    User=nobody # O un usuario dedicado sin privilegios como '3proxy'
    Group=nogroup # O un grupo dedicado

    [Install]
    WantedBy=multi-user.target
    `` *Nota*: Cree el usuario/grupo3proxysi lo desea:sudo useradd -r -s /sbin/nologin 3proxy. Ajuste la propiedad de los archivos para/usr/local/3proxy/logs`.

  2. Recargar systemd, habilitar e iniciar el servicio:

    bash sudo systemctl daemon-reload sudo systemctl enable 3proxy.service sudo systemctl start 3proxy.service sudo systemctl status 3proxy.service

Consejos para la Resolución de Problemas

  • Verificar Registros: Siempre consulte el archivo de registro de 3proxy (/usr/local/3proxy/logs/3proxy.log por defecto) para ver mensajes de error o problemas de acceso.
  • Reglas de Firewall: Asegúrese de que el firewall (por ejemplo, ufw, firewalld, iptables) permita las conexiones entrantes a los puertos de escucha de 3proxy (por ejemplo, 3128, 1080).
    bash # Ejemplo para ufw sudo ufw allow 3128/tcp
  • Sintaxis de Configuración: Verifique 3proxy.cfg en busca de errores de sintaxis. 3proxy es particular con su formato de configuración.
  • Permisos: Asegúrese de que el binario de 3proxy tenga permisos de ejecución y que el directorio de registro sea escribible por el usuario que ejecuta el servicio.
  • Reiniciar Servicio: Después de cualquier cambio de configuración, recargue o reinicie el servicio 3proxy (sudo systemctl restart 3proxy).

3proxy vs. Squid

Característica 3proxy Squid
Uso de Recursos Mínimo (bajo CPU, RAM) Moderado a alto (depende de la carga/características)
Complejidad Relativamente simple, configuración basada en texto Complejo, amplias opciones de configuración
Tipos de Proxy HTTP, HTTPS, SOCKS, FTP, TCPPM HTTP, HTTPS, FTP, ICP, ESI
Caché Sin caché nativo Caché robusto y altamente configurable
Intercepción SSL Limitada/básica Avanzada, basada en certificados
Autenticación Básica, Digest, NTLM, basada en IP Completa (LDAP, Kerberos, RADIUS)
Caso de Uso Ligero, personal, embebido Empresarial, alto tráfico, filtrado de contenido
Desarrollo Activo, desarrollador único Activo, impulsado por la comunidad
Actualizado: 04.03.2026
Volver a la categoría

Pruebe nuestros proxies

20,000+ proxies en 100+ países del mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.