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

Dante

Guía detallada sobre cómo configurar un servidor proxy SOCKS5 Dante en Linux. Cubre la instalación, configuración y pruebas para un acceso seguro a la red.

SOCKS5
Dante

Configurar un servidor proxy SOCKS5 en Linux usando Dante implica instalar el paquete dante-server, configurar /etc/danted.conf para definir interfaces de red, métodos de autenticación y reglas de acceso, y luego iniciar el servicio danted. Dante funciona como un servidor SOCKS, enrutando el tráfico de red entre clientes y destinos, mejorando la seguridad de la red y permitiendo el acceso a recursos restringidos.

Prerrequisitos

Antes de continuar, asegúrese de lo siguiente:

  • Un servidor Linux (por ejemplo, Debian, Ubuntu, CentOS, RHEL, Fedora) con privilegios de root o sudo.
  • Conocimientos básicos de la interfaz de línea de comandos de Linux y conceptos de redes.
  • Una interfaz de red disponible para que el proxy escuche (interna) y una interfaz para conexiones salientes (externa). Estas pueden ser la misma.

Instalación

Instale el paquete del servidor Dante específico para su distribución de Linux.

Debian/Ubuntu

sudo apt update
sudo apt install dante-server

RHEL/CentOS/Fedora

sudo dnf install dante-server # Para Fedora/RHEL 8+
# O para CentOS/RHEL 7 más antiguos:
sudo yum install dante-server

Configuración

El archivo de configuración principal para Dante es /etc/danted.conf. El archivo predeterminado puede contener configuraciones de ejemplo; a menudo es mejor hacer una copia de seguridad del original y comenzar con una configuración mínima y limpia.

sudo mv /etc/danted.conf /etc/danted.conf.bak
sudo nano /etc/danted.conf

Estructura de Configuración Básica

Un danted.conf mínimo define la interfaz de escucha (internal), la interfaz de salida (external) y reglas de acceso básicas.

logoutput: /var/log/danted.log
internal: 0.0.0.0 port=1080
external: eth0 # Reemplace eth0 con la interfaz de red externa de su servidor

socksmethod: none
user.privileged: root
user.notprivileged: nobody

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
}

Explicación de las directivas:

  • logoutput: Especifica la ruta del archivo de registro.
  • internal: Define la interfaz de red y el puerto en el que Dante escucha las conexiones de clientes entrantes.
    • 0.0.0.0 se enlaza a todas las interfaces de red disponibles.
    • port=1080 es el puerto SOCKS estándar.
    • Puede especificar una dirección IP específica (por ejemplo, internal: 192.168.1.10 port=1080).
  • external: Define la interfaz de red que Dante utiliza para las conexiones salientes a los destinos. Reemplace eth0 con la interfaz pública o de salida real de su servidor (por ejemplo, ens3, enp0s3).
  • socksmethod: Especifica los métodos de autenticación que los clientes SOCKS pueden usar. none significa sin autenticación.
  • user.privileged: El usuario con el que se ejecuta Dante al realizar operaciones privilegiadas (por ejemplo, enlazar a puertos bajos).
  • user.notprivileged: El usuario al que Dante cambia para operaciones no privilegiadas después de la inicialización.
  • Reglas client pass: Controlan qué clientes tienen permitido conectarse al servidor Dante.
    • from: 0.0.0.0/0 permite conexiones desde cualquier dirección IP. Restrinja esto por seguridad.
    • to: 0.0.0.0/0 especifica el destino para las conexiones de clientes (siempre el propio proxy en este contexto).
  • Reglas socks pass: Controlan a qué destinos se permite que los clientes SOCKS lleguen a través del proxy.
    • from: 0.0.0.0/0 se refiere a clientes que se han autenticado con éxito o han pasado las reglas de cliente.
    • to: 0.0.0.0/0 permite conexiones a cualquier destino. Restrinja esto por seguridad.
    • log: error connect disconnect habilita el registro de eventos de conexión.

Métodos de Autenticación

Dante admite varios métodos de autenticación. Los más comunes son none (sin autenticación) y username (nombre de usuario/contraseña).

1. Sin Autenticación (Anónimo)

Este método es adecuado para redes privadas de confianza donde todos los clientes son conocidos y están autorizados a usar el proxy sin credenciales explícitas. No se recomienda para proxies de cara al público.

# ... (resto de la configuración básica)
socksmethod: none

client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Restringir a una subred específica
    log: error connect disconnect
}

socks pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Los clientes de esta subred pueden acceder a cualquier cosa
    log: error connect disconnect
}

2. Autenticación por Nombre de Usuario/Contraseña

Este es el método más común y recomendado para proxies SOCKS5, especialmente cuando los clientes son externos o no confiables. Dante utiliza usuarios del sistema para la autenticación.

Pasos:

  1. Cree un usuario del sistema para el proxy. No cree un directorio de inicio ni asigne un shell por seguridad.
    bash sudo useradd -r -s /bin/false proxyuser sudo passwd proxyuser # Introduzca y confirme una contraseña fuerte
    Repita para usuarios adicionales si es necesario.

  2. Modifique danted.conf:
    ```
    logoutput: /var/log/danted.log
    internal: 0.0.0.0 port=1080
    external: eth0

    socksmethod: username # Habilitar la autenticación por nombre de usuario/contraseña
    user.privileged: root
    user.notprivileged: nobody

    client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
    }

    socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    socksmethod: username # Requerir nombre de usuario/contraseña para conexiones SOCKS
    log: error connect disconnect
    }
    `` La directivasocksmethod: usernameen la reglasocks pass` asegura que solo los usuarios autenticados puedan usar el proxy.

3. Autenticación Basada en IP

Este método permite que direcciones IP o subredes específicas utilicen el proxy sin nombre de usuario/contraseña. Se puede combinar con la autenticación username.

# ... (resto de la configuración)
socksmethod: username # Permitir nombre de usuario/contraseña como opción

client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Permitir subred específica sin autenticación
    log: error connect disconnect
}

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0 # Permitir todos los demás clientes, pero requerir autenticación
    socksmethod: username
    log: error connect disconnect
}

socks pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Los clientes de esta subred pueden acceder a cualquier cosa (no se necesita autenticación)
    log: error connect disconnect
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0 # Los clientes autenticados pueden acceder a cualquier cosa
    socksmethod: username
    log: error connect disconnect
}

En esta configuración, los clientes de 192.168.1.0/24 no necesitan autenticación, mientras que todos los demás clientes deben proporcionar un nombre de usuario y una contraseña.

Configuración del Firewall

Después de configurar Dante, abra el puerto SOCKS (predeterminado 1080) en el firewall de su sistema para permitir conexiones entrantes.

Firewalld (CentOS/RHEL/Fedora)

sudo firewall-cmd --permanent --add-port=1080/tcp
sudo firewall-cmd --reload

UFW (Debian/Ubuntu)

sudo ufw allow 1080/tcp
sudo ufw enable # Si UFW no está habilitado

Gestión del Servicio

Después de la configuración y los ajustes del firewall, inicie y habilite el servicio Dante.

sudo systemctl start danted
sudo systemctl enable danted
sudo systemctl status danted

Verifique el estado del servicio para asegurarse de que se esté ejecutando sin errores. Revise /var/log/danted.log para detectar cualquier problema de configuración.

Prueba del Proxy

Utilice una máquina cliente para probar el proxy SOCKS5.

Usando curl (sin autenticación)

curl -x socks5://YOUR_SERVER_IP:1080 http://ifconfig.me/ip

La salida debería ser la dirección IP pública de su servidor, indicando que el tráfico se enruta a través del proxy.

Usando curl (con autenticación de nombre de usuario/contraseña)

curl -x socks5://proxyuser:your_password@YOUR_SERVER_IP:1080 http://ifconfig.me/ip

Reemplace proxyuser y your_password con las credenciales configuradas anteriormente.

Usando proxychains (utilidad cliente de Linux)

  1. Instale proxychains:
    bash sudo apt install proxychains4 # Debian/Ubuntu sudo dnf install proxychains-ng # RHEL/CentOS/Fedora

  2. Configure proxychains.conf:
    Edite /etc/proxychains.conf o ~/.proxychains/proxychains.conf.
    Comente strict_chain y descomente dynamic_chain.
    Al final del archivo, agregue los detalles de su servidor proxy:

    ```

    ... (otras configuraciones de proxychains)

    dynamic_chain

    strict_chain

    random_chain

    round_robin_chain

    dynamic_chain # Usar cadena dinámica para mayor flexibilidad

    [ProxyList]

    agregar proxy aquí ...

    socks5 127.0.0.1 9050

    socks5 YOUR_SERVER_IP 1080 proxyuser your_password # Con autenticación

    O, para sin autenticación:

    socks5 YOUR_SERVER_IP 1080

    ```

  3. Pruebe con proxychains:
    bash proxychains curl http://ifconfig.me/ip
    La salida debería mostrar la dirección IP de su servidor proxy.

Mejores Prácticas de Seguridad

  • Restringir el Acceso: Use las reglas client pass para limitar qué direcciones IP de clientes pueden conectarse a su proxy.
  • Contraseñas Fuertes: Para la autenticación de nombre de usuario/contraseña, asegúrese de que todos los usuarios del proxy tengan contraseñas fuertes y únicas.
  • Menor Privilegio: No otorgue privilegios innecesarios al usuario nobody o a los usuarios del proxy.
  • Actualizaciones Regulares: Mantenga su sistema operativo Linux y el paquete Dante actualizados para corregir vulnerabilidades de seguridad.
  • Registro y Monitoreo: Revise regularmente los registros de Dante (/var/log/danted.log) en busca de actividad sospechosa. Implemente soluciones de monitoreo de registros.
  • Reglas de Firewall: Configure su firewall para permitir solo conexiones al puerto SOCKS (1080) desde rangos de IP confiables.
  • Usuario Dedicado: Use un usuario del sistema dedicado para el acceso al proxy en lugar de cuentas de usuario existentes.
  • Deshabilitar Métodos No Usados: Habilite solo las opciones de socksmethod que sean estrictamente necesarias.
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.