bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward

Linux VPS: sing-box y Xray como proxy del sistema

calendar_month 22 de agosto de 2026 schedule 26 min de lectura visibility 24 vistas
person
Valebyte Team
Linux VPS: sing-box y Xray como proxy del sistema
summarize

TL;DR

  • Instala sing-box (v1.8.0+) o Xray (v1.8.0+) en tu VPS Linux como proxy del sistema.
  • Un proxy VPS propio sortea restricciones, mejora el anonimato y da control total del tráfico.
  • Configura una unidad systemd para autoarranque y consumo mínimo de recursos (<50 MB RAM).
  • sing-box y Xray soportan múltiples protocolos (VLESS, Reality) y reglas de enrutamiento avanzadas.

Para configurar sing-box o Xray como proxy de sistema en un escritorio Linux usando tu VPS, basta con instalar uno de estos clientes (como sing-box versión 1.8.0+ o Xray-core 1.8.0+) y crear una unidad systemd para el autoarranque, lo que garantizará la ruta de todo el tráfico a través de un túnel seguro con un consumo mínimo de recursos (menos de 50 MB de RAM).

¿Por qué configurar tu propio proxy en Linux con un VPS?

En un panorama digital en constante evolución, donde la privacidad, la seguridad y el acceso a la información son cada vez más críticos, utilizar tu propio servidor proxy a través de un VPS (Virtual Private Server) es una de las soluciones más fiables. Esto no solo permite sortear las restricciones regionales y la censura, sino también aumentar significativamente el anonimato y la protección de tu conexión a internet. A diferencia de los servicios VPN públicos, que pueden registrar datos o tener limitaciones de ancho de banda, un proxy propio en un VPS te otorga control total sobre tu tráfico.

Para los usuarios de escritorios Linux, como Ubuntu, Debian o Arch Linux, existe un conjunto de herramientas potente y flexible para lograr esta tarea. Clientes proxy modernos como sing-box y Xray ofrecen una amplia gama de protocolos (VLESS, Reality, Hysteria y otros), modos de operación (proxy de sistema, modo TUN) y una configuración detallada de reglas de enrutamiento. Esto permite adaptar el proxy a cualquier necesidad: desde la protección global de todo el tráfico hasta su uso solo para aplicaciones específicas. Además, gracias a la optimización, las aplicaciones cliente consumen un mínimo de recursos del sistema, lo que las convierte en una opción ideal incluso para dispositivos de baja potencia.

Crear tu propio servidor VPN en un VPS es una inversión en tu libertad y seguridad digital. Si aún no has desplegado la parte del servidor, te recomendamos consultar la guía completa para crear una VPN en tu propio VPS, donde se describen detalladamente todos los pasos, desde la elección del plan hasta la configuración de un protocolo moderno.

Comparativa de clientes proxy: ¿sing-box o Xray?

Cuando se trata de configurar un proxy en Linux a través de un VPS, la elección entre sing-box y Xray-core es clave. Ambas herramientas son plataformas de alto rendimiento y multifuncionales para el proxy de tráfico, pero tienen sus propias características.

sing-box: El cliente proxy versátil para cualquier necesidad

sing-box es un proyecto relativamente nuevo, pero que está ganando popularidad rápidamente, posicionado como un cliente y servidor proxy universal. Sus ventajas clave son:

  • Soporte para múltiples protocolos: VLESS, Reality, Hysteria2, TUIC, Shadowsocks, VMess, Trojan, WireGuard, OpenConnect y muchos otros. Esto convierte a sing-box en una solución extremadamente flexible.
  • Capacidades de enrutamiento avanzadas: Configuración detallada de reglas por dominios, direcciones IP, redes CIDR, GeoIP/GeoSite, y proceso propietario.
  • Modo TUN: Soporte integrado para crear una interfaz de red virtual (TUN), lo que permite funcionar como una VPN completa para todo el tráfico del sistema sin necesidad de configurar manualmente el proxy en cada aplicación.
  • Excelente rendimiento: Código optimizado y arquitectura asíncrona que garantizan alta velocidad y baja latencia.
  • Desarrollo activo: El proyecto se actualiza constantemente, añadiendo nuevas funciones y protocolos.

Xray-core: Estabilidad y rendimiento probados para tu proxy

Xray-core es un fork de V2Ray y se ha establecido desde hace tiempo como una solución fiable y de alto rendimiento. También es compatible con una amplia gama de protocolos y funciones:

  • Protocolos: VLESS, VMess, Trojan, Shadowsocks, Socks, HTTP. Es especialmente potente en la implementación de VLESS con Reality, ofreciendo funciones de sigilo para sortear bloqueos.
  • Enrutamiento avanzado: Capacidades similares a sing-box para gestionar el tráfico basándose en diversas reglas.
  • Estabilidad: El proyecto tiene una larga historia y se considera muy estable, lo cual es importante para tareas críticas.
  • Modo TUN: Se implementa a través del protocolo inbound dokodemo-door con configuraciones especiales para capturar el tráfico.

¿Cuál elegir?

Si necesitas una herramienta lo más universal posible con soporte para los protocolos más recientes y un desarrollo activo, sing-box será una excelente opción para el despliegue de sing-box en un VPS y su uso como cliente. Si valoras la estabilidad probada y una potente implementación de VLESS/Reality, Xray-core es una opción fiable. Para la mayoría de los usuarios de escritorios Linux, sing-box ofrece una configuración del modo TUN un poco más sencilla e integrada, así como soporte para Hysteria2 y TUIC "de fábrica" sin envoltorios adicionales.

¿Buscas un servidor fiable para tus proyectos?

VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.

Ver ofertas →
Característica sing-box Xray-core
Principales protocolos VLESS, Reality, Hysteria2, TUIC, Shadowsocks, WireGuard, OpenConnect, VMess, Trojan VLESS, Reality, VMess, Trojan, Shadowsocks, Socks, HTTP
Modo TUN Integrado, nativo A través de inbound dokodemo-door
Flexibilidad de enrutamiento Alta, reglas detalladas (dominios, IP, GeoIP, procesos) Alta, reglas detalladas (dominios, IP, GeoIP)
Rendimiento Excelente, arquitectura asíncrona Excelente, código optimizado
Actualidad de protocolos Soporte para los protocolos más recientes (Hysteria2, TUIC) Protocolos actuales, enfoque en VLESS/Reality
Facilidad de configuración Configuración en un solo JSON, secciones intuitivas Configuración en un solo JSON, requiere comprensión de la arquitectura V2Ray/Xray
Consumo de recursos Bajo (a menudo menos de 30-50 MB de RAM) Bajo (a menudo menos de 30-50 MB de RAM)

Preparación del VPS y obtención de la configuración del cliente

Antes de proceder con la configuración del cliente en tu escritorio Linux, es necesario asegurarse de que tu VPS esté listo y que la parte del servidor proxy funcione correctamente. Valebyte.com ofrece servidores dedicados Linux y VPS potentes y fiables, ideales para estos fines. Los requisitos mínimos para un VPS para uno o dos usuarios son 1 vCPU, 512 MB de RAM y un disco NVMe de 10 GB, lo que garantizará un funcionamiento estable del servidor con un ancho de banda de hasta 100-200 Mbps.

Configuración del servidor proxy en tu VPS

Se asume que ya has desplegado el servidor sing-box o Xray en tu VPS. Si no es así, puedes consultar nuestras guías detalladas:

  • Para sing-box: sing-box en un VPS: servidor universal para VLESS, Reality e Hysteria.
  • Para Xray (con VLESS Reality): Tu propia VPN en un VPS: VLESS Reality + Xray-core en 10 minutos.
  • Para gestionar varios usuarios de Xray: Marzban en un VPS: instalación del panel Xray y multiusuario.

Asegúrate de que la parte del servidor esté configurada, los puertos abiertos en el firewall (por ejemplo, ufw en Ubuntu) y el servicio en sí esté iniciado y funcionando (`systemctl status sing-box` o `systemctl status xray`).

Cómo obtener la configuración del cliente sing-box o Xray

Después de configurar el servidor con éxito, necesitarás la configuración del cliente. Generalmente, se proporciona en forma de:

  1. Archivo JSON: Un archivo JSON completo que se puede usar directamente en el cliente.
  2. Enlace URL: Un enlace especial (por ejemplo, vless://..., sb://..., ss://...) que algunos clientes admiten para la importación automática.
  3. Parámetros individuales: Dirección IP del servidor, puerto, UUID, contraseña, método de cifrado, protocolo.

Guarda este archivo de configuración o los parámetros en tu escritorio Linux. Para sing-box y Xray, el formato JSON es el más utilizado, ya que ofrece la máxima flexibilidad y control.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Cómo instalar sing-box en tu escritorio Linux

El proceso de instalación de sing-box en un escritorio Linux es bastante sencillo y se puede realizar de varias maneras. Cubriremos las más comunes para las distribuciones Ubuntu, Debian y Arch Linux.

Instalación automática de sing-box en Ubuntu, Debian y Arch Linux

El script de instalación oficial de sing-box simplifica el proceso, detectando automáticamente tu sistema e instalando los archivos necesarios.

Abre una terminal y ejecuta el siguiente comando:

sudo bash -c "$(curl -L https://sing-box.app/install.sh)"

Este script descargará la última versión estable de sing-box, la desempaquetará e instalará los ejecutables en /usr/local/bin/sing-box, además de crear los directorios necesarios para la configuración. Después de ejecutar el script, sing-box estará disponible desde cualquier lugar en la terminal.

Instalación manual de sing-box en Linux

Si prefieres un control manual o quieres instalar una versión específica, sigue estos pasos:

  1. Descarga el archivo binario: Ve a la página de lanzamientos de sing-box en GitHub (https://github.com/SagerNet/sing-box/releases) y descarga el archivo comprimido correspondiente a tu arquitectura (por ejemplo, sing-box-*-linux-amd64.tar.gz para sistemas de 64 bits).
  2. Descomprime el archivo:
    wget https://github.com/SagerNet/sing-box/releases/download/v1.8.0/sing-box-1.8.0-linux-amd64.tar.gz
    tar -xzvf sing-box-1.8.0-linux-amd64.tar.gz
    (Reemplaza v1.8.0 por la versión actual)
  3. Mueve el archivo ejecutable:
    sudo mv sing-box-*/sing-box /usr/local/bin/
  4. Crea directorios para la configuración y los logs:
    sudo mkdir -p /etc/sing-box
    sudo mkdir -p /var/log/sing-box
    sudo chown -R $USER:$USER /var/log/sing-box

Verificación de la instalación de sing-box

Después de la instalación por cualquiera de los métodos, verifica que sing-box esté disponible y muestre la versión:

sing-box version

La salida debería ser similar a esta:

sing-box 1.8.0 (go1.21.6 linux/amd64)

Configuración básica de sing-box como proxy de sistema

La configuración de sing-box se realiza a través de un archivo JSON. Este archivo define cómo sing-box aceptará las conexiones entrantes (inbounds), dónde las enviará (outbounds) y cómo enrutará el tráfico (routing). Coloca tu archivo de configuración (por ejemplo, config.json) en el directorio /etc/sing-box/.

Ejemplo de archivo de configuración JSON para sing-box

A continuación, se presenta un ejemplo de configuración universal que incluye varios inbounds (SOCKS5, HTTP, TUN) y un outbound (VLESS con Reality), así como reglas de enrutamiento básicas. Reemplaza los marcadores de posición YOUR_VPS_IP, YOUR_VLESS_PORT, YOUR_UUID, YOUR_REALITY_SNI con los datos actuales de tu VPS.

{
  "log": {
    "level": "info",
    "timestamp": true,
    "output": "/var/log/sing-box/sing-box.log"
  },
  "dns": {
    "servers": [
      {
        "address": "1.1.1.1",
        "detour": "proxy"
      },
      {
        "address": "8.8.8.8",
        "detour": "proxy"
      },
      {
        "address": "prefer_proxy",
        "strategy": "prefer_ipv4",
        "detour": "proxy"
      }
    ],
    "rules": [
      {
        "outbound": "direct",
        "domain_suffix": [
          ".local",
          "localhost"
        ]
      },
      {
        "outbound": "block",
        "domain_suffix": [
          "evil.com"
        ]
      }
    ],
    "strategy": "prefer_ipv4",
    "disable_cache": false,
    "disable_expire": false,
    "independent_cache": false
  },
  "inbounds": [
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "sb-tun0",
      "inet4_address": "172.19.0.1/30",
      "mtu": 9000,
      "auto_route": true,
      "strict_route": true,
      "endpoint_independent_nat": true,
      "stack": "system",
      "sniff": true,
      "sniff_override_destination": true,
      "domain_strategy": "prefer_ipv4"
    },
    {
      "type": "socks",
      "tag": "socks-in",
      "listen": "127.0.0.1",
      "listen_port": 1080,
      "sniff": true,
      "sniff_override_destination": true
    },
    {
      "type": "http",
      "tag": "http-in",
      "listen": "127.0.0.1",
      "listen_port": 1081,
      "sniff": true,
      "sniff_override_destination": true
    }
  ],
  "outbounds": [
    {
      "type": "vless",
      "tag": "proxy",
      "server": "YOUR_VPS_IP",
      "server_port": YOUR_VLESS_PORT,
      "uuid": "YOUR_UUID",
      "flow": "xtls-rprx-vision",
      "tls": {
        "enabled": true,
        "server_name": "YOUR_REALITY_SNI",
        "insecure": false,
        "utls": {
          "enabled": true,
          "fingerprint": "chrome"
        },
        "reality": {
          "enabled": true,
          "public_key": "YOUR_REALITY_PUBLIC_KEY",
          "short_id": "YOUR_REALITY_SHORT_ID"
        }
      }
    },
    {
      "type": "direct",
      "tag": "direct"
    },
    {
      "type": "block",
      "tag": "block"
    }
  ],
  "route": {
    "rules": [
      {
        "outbound": "block",
        "domain_suffix": [
          "evil.com"
        ]
      },
      {
        "outbound": "direct",
        "ip_is_private": true
      },
      {
        "outbound": "direct",
        "domain_suffix": [
          "valebyte.com",
          "yandex.ru",
          "google.com"
        ]
      },
      {
        "outbound": "proxy",
        "domain_strategy": "prefer_ipv4",
        "rule_set": [
          "geosite-cn"
        ],
        "domain_suffix": [
          "cn"
        ]
      },
      {
        "outbound": "proxy",
        "protocol": [
          "udp",
          "tcp"
        ],
        "rule_set": [
          "geoip-cn",
          "geoip-ru"
        ]
      },
      {
        "outbound": "proxy"
      }
    ],
    "rule_set": [
      {
        "type": "remote",
        "tag": "geosite-cn",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geosite/cn.srsr",
        "format": "srsr",
        "update_interval": "24h"
      },
      {
        "type": "remote",
        "tag": "geoip-cn",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geoip/cn.srsr",
        "format": "srsr",
        "update_interval": "24h"
      },
      {
        "type": "remote",
        "tag": "geoip-ru",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geoip/ru.srsr",
        "format": "srsr",
        "update_interval": "24h"
      }
    ],
    "default_outbound": "proxy",
    "domain_strategy": "prefer_ipv4"
  }
}

Modo TUN en sing-box: Un túnel VPN global para Linux

El modo TUN ("type": "tun" en inbounds) es la forma más conveniente de usar sing-box como proxy de sistema, convirtiéndolo de hecho en un cliente VPN completo. Crea una interfaz de red virtual (sb-tun0 en el ejemplo), a través de la cual se enruta todo o parte del tráfico del sistema. Esto elimina la necesidad de configurar el proxy en cada aplicación.

  • "interface_name": "sb-tun0": Nombre de la interfaz TUN creada.
  • "inet4_address": "172.19.0.1/30": Dirección IP local para la interfaz TUN. Asegúrate de que esta subred no entre en conflicto con tu red local.
  • "auto_route": true: Agrega automáticamente rutas para redirigir el tráfico a la interfaz TUN.
  • "strict_route": true: Garantiza que todo el tráfico pase por TUN.
  • "stack": "system": Utiliza la pila de red del sistema, lo que proporciona una mejor compatibilidad.

Para un funcionamiento correcto de DNS en modo TUN, sing-box puede interceptar las solicitudes y dirigirlas a través del proxy. En la sección "dns", puedes especificar servidores DNS remotos (por ejemplo, 1.1.1.1, 8.8.8.8) con "detour": "proxy" para evitar fugas de DNS.

Proxy de sistema: Configuración SOCKS5 y HTTP con sing-box

Si el modo TUN no es adecuado por alguna razón (por ejemplo, necesitas proxy solo para aplicaciones individuales o usas una configuración de red específica), sing-box puede funcionar como un proxy SOCKS5 o HTTP tradicional.

  • "type": "socks": Abre un proxy SOCKS5 en 127.0.0.1:1080.
  • "type": "http": Abre un proxy HTTP en 127.0.0.1:1081.

Estos puertos se pueden usar para configurar el proxy en la configuración del sistema (para GNOME/KDE) o para aplicaciones individuales a través de variables de entorno:

export http_proxy="http://127.0.0.1:1081"
export https_proxy="http://127.0.0.1:1081"
export all_proxy="socks5://127.0.0.1:1080"
your_application

Reglas de enrutamiento en sing-box: Flexibilidad y control del tráfico

La sección "route" permite configurar con precisión qué tráfico debe ir a través del proxy ("proxy"), cuál directamente ("direct") y cuál debe bloquearse ("block"). Esto es fundamental para el rendimiento y la seguridad.

  • "ip_is_private": true: Todas las solicitudes a direcciones IP locales (192.168.x.x, 10.x.x.x, etc.) irán directamente. Esto evita que el tráfico local se envíe a través del VPS.
  • "domain_suffix": ["valebyte.com"]: El tráfico a los dominios especificados irá directamente. Útil para recursos que no requieren proxy.
  • "rule_set": Permite usar listas de reglas remotas (por ejemplo, GeoIP/GeoSite) para un enrutamiento más complejo. En el ejemplo, se utilizan geosite-cn y geoip-cn/geoip-ru para enrutar el tráfico hacia/desde estos países a través del proxy.
  • "default_outbound": "proxy": Si ninguna regla se aplica, el tráfico irá a través de "proxy". Esto asegura que todo el tráfico no identificado esté protegido.

Una configuración cuidadosa de las reglas de enrutamiento puede mejorar significativamente la velocidad (al no proxyar tráfico innecesario) y aumentar la seguridad.

Cómo iniciar y configurar el autoarranque de sing-box con systemd

Para un funcionamiento estable y fiable de sing-box en tu escritorio Linux, se recomienda configurarlo para que se inicie como un servicio del sistema utilizando systemd. Esto garantizará el inicio automático al arrancar el sistema, el reinicio en caso de fallos y una gestión conveniente.

Creación del archivo de unidad systemd para sing-box

Crea el archivo /etc/systemd/system/sing-box.service con el siguiente contenido:

[Unit]
Description=sing-box proxy service
Documentation=https://sing-box.app
After=network.target nss-lookup.target systemd-resolved.service

[Service]
Type=simple
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json
Restart=on-failure
RestartSec=10
LimitNPROC=500
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Explicaciones del archivo de unidad:

  • Description: Descripción del servicio.
  • After=network.target nss-lookup.target systemd-resolved.service: Garantiza que sing-box se inicie después de que la red esté inicializada y los servicios DNS estén disponibles.
  • Type=simple: Tipo de servicio simple.
  • User=root: sing-box, especialmente en modo TUN, requiere privilegios de root para crear interfaces de red y modificar rutas.
  • CapabilityBoundingSet y AmbientCapabilities: Limitan los privilegios de root solo a las operaciones de red necesarias (CAP_NET_ADMIN para TUN, CAP_NET_RAW para algunos protocolos, CAP_NET_BIND_SERVICE para abrir puertos por debajo de 1024).
  • ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json: Comando para iniciar sing-box especificando la ruta al archivo de configuración.
  • Restart=on-failure: Reinicia automáticamente el servicio si finaliza con un error.
  • RestartSec=10: Retraso de 10 segundos antes de intentar reiniciar.
  • LimitNPROC, LimitNOFILE: Aumentan los límites en el número de procesos y archivos abiertos, lo que puede ser útil con un gran número de conexiones.
  • WantedBy=multi-user.target: El servicio se iniciará cuando el sistema entre en modo multiusuario (modo estándar para la mayoría de los escritorios Linux).

Gestión del servicio sing-box y autoarranque en Linux

Después de crear el archivo de unidad, ejecuta los siguientes comandos en la terminal:

  1. Recarga el demonio systemd:
    sudo systemctl daemon-reload
  2. Habilita el autoarranque de sing-box al iniciar el sistema:
    sudo systemctl enable sing-box
  3. Inicia el servicio sing-box:
    sudo systemctl start sing-box
  4. Verifica el estado del servicio:
    sudo systemctl status sing-box

    La salida debe mostrar que el servicio está activo y en ejecución (Active: active (running)).

  5. Detén el servicio (si es necesario):
    sudo systemctl stop sing-box
  6. Consulta los logs:
    sudo journalctl -u sing-box -f

Ahora sing-box se iniciará automáticamente al arrancar tu sistema, proporcionando un proxy de tráfico constante.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Cómo instalar y configurar Xray-core en tu escritorio Linux

Xray-core, al igual que sing-box, puede instalarse y configurarse como un potente cliente Xray para Linux. El proceso de instalación es similar, y la configuración también se realiza a través de un archivo JSON.

Instalación de Xray-core en Linux

Para instalar Xray-core en Ubuntu/Debian/Arch Linux, puedes usar el script oficial:

bash -c "$(curl -L https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh)" @ install

Este script instalará Xray-core en /usr/local/bin/xray y creará un archivo de configuración predeterminado /usr/local/etc/xray/config.json. También se configurará un servicio systemd para el autoarranque.

Después de la instalación, verifica la versión:

xray version

Configuración básica de Xray-core (JSON)

La configuración de Xray también es un archivo JSON. A continuación, se muestra un ejemplo para VLESS con Reality, que incluye inbounds para SOCKS, HTTP y modo TUN (a través de dokodemo-door), así como reglas de enrutamiento básicas. Reemplaza los marcadores de posición con los datos de tu servidor.

{
  "log": {
    "loglevel": "info",
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log"
  },
  "dns": {
    "servers": [
      "1.1.1.1",
      "8.8.8.8",
      {
        "address": "1.1.1.1",
        "domains": [
          "geosite:cn"
        ],
        "expectIP": [
          "geoip:cn"
        ]
      }
    ]
  },
  "inbounds": [
    {
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "tag": "socks-in"
    },
    {
      "port": 1081,
      "listen": "127.0.0.1",
      "protocol": "http",
      "settings": {
        "udp": true
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "tag": "http-in"
    },
    {
      "port": 12345,
      "listen": "127.0.0.1",
      "protocol": "dokodemo-door",
      "settings": {
        "network": "tcp,udp",
        "address": "1.1.1.1",
        "port": 53
      },
      "tag": "tun-in"
    }
  ],
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "YOUR_VPS_IP",
            "port": YOUR_VLESS_PORT,
            "users": [
              {
                "id": "YOUR_UUID",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "dest": "YOUR_REALITY_SNI:443",
          "fingerprint": "chrome",
          "serverNames": [
            "YOUR_REALITY_SNI"
          ],
          "publicKey": "YOUR_REALITY_PUBLIC_KEY",
          "shortId": "YOUR_REALITY_SHORT_ID"
        }
      },
      "tag": "proxy"
    },
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ],
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "valebyte.com",
          "yandex.ru"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "ip": [
          "geoip:cn",
          "geoip:ru"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "inboundTag": [
          "tun-in"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "outboundTag": "proxy"
      }
    ]
  }
}

Características de la configuración de Xray:

  • "protocol": "vless": Utiliza el protocolo VLESS, que es uno de los más eficientes.
  • "security": "reality": Activa la ofuscación Reality para máxima discreción.
  • Modo TUN en Xray: Se implementa a través del inbound dokodemo-door. Para su funcionamiento, es necesario configurar adicionalmente el enrutamiento en el sistema (por ejemplo, con iptables) para redirigir todo el tráfico a 127.0.0.1:12345 (puerto dokodemo-door). Esta es una configuración más compleja en comparación con el TUN nativo en sing-box. Un ejemplo de configuración de enrutamiento para el modo TUN de Xray podría ser:
    sudo iptables -t nat -A OUTPUT -p tcp -d 0.0.0.0/0 -j REDIRECT --to-ports 12345
    sudo iptables -t nat -A OUTPUT -p udp -d 0.0.0.0/0 -j REDIRECT --to-ports 12345
    # Excepciones para redes locales
    sudo iptables -t nat -I OUTPUT -p tcp -d 192.168.0.0/16 -j RETURN
    sudo iptables -t nat -I OUTPUT -p udp -d 192.168.0.0/16 -j RETURN
    # ... y así sucesivamente para otros rangos de IP privados
    Esto complica significativamente la configuración y requiere atención.
  • "routing": Las reglas de enrutamiento son similares a sing-box, pero pueden tener una sintaxis ligeramente diferente.

Autoarranque de Xray-core mediante systemd

El script de instalación oficial de Xray ya configurará el servicio systemd xray.service. Solo tendrás que asegurarte de que esté habilitado y en ejecución:

sudo systemctl enable xray
sudo systemctl start xray
sudo systemctl status xray

Si instalaste Xray manualmente, crea un archivo /etc/systemd/system/xray.service (similar a sing-box, pero con ExecStart=/usr/local/bin/xray run -c /usr/local/etc/xray/config.json) y ejecuta daemon-reload, enable, start.

Optimización y verificación: Evitar fugas de DNS y mejorar el rendimiento

Después de configurar el cliente, es fundamental asegurarse de su correcto funcionamiento, la ausencia de fugas y un rendimiento óptimo.

Cómo verificar y prevenir fugas de DNS (DNS leaks)

Las fugas de DNS son una situación en la que las solicitudes DNS no se envían a través del túnel proxy, sino directamente a tu proveedor, revelando tu actividad. Esto socava el propósito de usar un proxy.

  1. Abre un navegador (preferiblemente en modo privado para evitar el almacenamiento en caché).
  2. Ve a un sitio web para verificar fugas de DNS:
  3. Ejecuta la prueba estándar o extendida.

Resultado esperado: Debes ver las direcciones IP de los servidores DNS que se especifican en tu configuración de sing-box/Xray (por ejemplo, 1.1.1.1, 8.8.8.8) o los servidores DNS de tu proveedor de VPS, pero en ningún caso los servidores DNS de tu proveedor de internet doméstico.

Cómo corregir las fugas de DNS:

  • Verifica la sección "dns" en tu configuración de sing-box/Xray: Asegúrate de que todos los servidores DNS estén dirigidos a través de "detour": "proxy" (para sing-box) o estén en "outbounds" que pasen por el proxy (para Xray).
  • Usa systemd-resolved: Si estás utilizando el modo TUN, asegúrate de que tu /etc/resolv.conf apunte a 127.0.0.53, y que systemd-resolved esté configurado para usar los servidores DNS proporcionados por sing-box/Xray a través de la interfaz TUN. En algunos casos, puede ser necesario deshabilitar systemd-resolved y usar un /etc/resolv.conf estático con DNS públicos.
  • Uso forzado de DNS a través del proxy: En algunas configuraciones, se puede usar un inbound dokodemo-door en Xray o un inbound dns en sing-box para interceptar todas las solicitudes DNS y redirigirlas a través del proxy.

Rendimiento del proxy sing-box o Xray en tu VPS

El rendimiento depende tanto del cliente como de la parte del servidor VPS. En el lado del cliente, sing-box y Xray consumen recursos mínimos (generalmente 20-50 MB de RAM y una cantidad insignificante de CPU), sin afectar significativamente el rendimiento general del sistema.

Para evaluar el rendimiento:

  • Speedtest: Utiliza servicios en línea como speedtest.net, o herramientas de línea de comandos (por ejemplo, speedtest-cli) para medir la velocidad de descarga/subida y el ping.
  • Ping: Verifica el ping a servidores remotos para evaluar la latencia.

Los factores que afectan el rendimiento del VPS se tratan en detalle en el artículo NVMe, RAM o red: lo que realmente importa para un VPS de proxy y VPN. Para un proxy eficiente, son clave un puerto de red de alta velocidad (1 Gbps o superior) y una baja latencia al VPS.

Para 50 usuarios simultáneos que utilizan activamente el proxy para navegar por la web y hacer streaming, son suficientes 4 vCPU, 8 GB de RAM y un disco NVMe de 80 GB.

Usuarios vCPU RAM Disco Puerto Precio (estimado)
1-5 (navegación ligera) 1 512 MB 20 GB SSD 100 Mbps $3-5/mes
5-15 (navegación activa, streaming ligero) 2 1 GB 40 GB NVMe 500 Mbps $7-10/mes
15-50 (navegación activa, streaming HD) 2-4 2-4 GB 80 GB NVMe 1 Gbps $15-25/mes
50-100 (tráfico intenso, streaming 4K) 4-6 8-16 GB 160 GB NVMe 1-10 Gbps $30-60/mes

Integración del proxy con el entorno de escritorio: GNOME y KDE

Después de configurar sing-box o Xray como proxy de sistema, es importante integrarlo correctamente con tu escritorio Linux para que las aplicaciones utilicen automáticamente el proxy o la interfaz TUN.

Configuración del proxy de sistema (SOCKS5/HTTP) en GNOME y KDE

Si utilizas un inbound SOCKS5 o HTTP, debes especificar la configuración del proxy del sistema.

Configuración del proxy en GNOME (Ubuntu, Fedora, Debian)

  1. Abre Configuración (Settings).
  2. Ve a la sección Red (Network).
  3. Busca el apartado Proxy de red (Network Proxy) y haz clic en el icono de la rueda dentada.
  4. Selecciona el modo Manual.
  5. Especifica:
    • Host SOCKS: 127.0.0.1, Puerto: 1080
    • Proxy HTTP: 127.0.0.1, Puerto: 1081
    • Proxy HTTPS: 127.0.0.1, Puerto: 1081
  6. Haz clic en Aplicar.

Después de esto, la mayoría de las aplicaciones que utilizan la configuración de proxy del sistema (navegadores web, gestores de paquetes como apt) funcionarán a través de tu cliente sing-box/Xray.

Configuración del proxy en KDE Plasma (Kubuntu, Manjaro KDE, Neon)

  1. Abre Preferencias del sistema (System Settings).
  2. Ve a la sección Conexiones.
  3. Selecciona Proxy.
  4. Elige el modo Especificar manualmente la configuración del proxy.
  5. Especifica:
    • Host SOCKS: 127.0.0.1, Puerto: 1080
    • Proxy HTTP: 127.0.0.1, Puerto: 1081
    • Proxy HTTPS: 127.0.0.1, Puerto: 1081
  6. Haz clic en Aplicar.

Cómo configurar excepciones para el proxy

En la configuración del proxy, tanto en GNOME como en KDE, hay un campo para excepciones (por ejemplo, "No usar proxy para"). Aquí puedes añadir redes locales (localhost, 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) y dominios que deben omitir el proxy. Esto complementa las reglas de enrutamiento en sing-box/Xray y aumenta la flexibilidad.

Uso del proxy solo para aplicaciones específicas en Linux

Si no necesitas un proxy de sistema, sino solo para aplicaciones individuales, hay varios enfoques:

  1. Variables de entorno: Para aplicaciones de línea de comandos o programas que admiten las variables http_proxy, https_proxy, all_proxy, puedes ejecutarlos así:
    HTTP_PROXY="http://127.0.0.1:1081" HTTPS_PROXY="http://127.0.0.1:1081" firefox
  2. proxychains-ng: Es una utilidad que permite forzar a cualquier aplicación a usar un proxy SOCKS5 o HTTP. Instálala:
    sudo apt install proxychains4 # para Debian/Ubuntu
    sudo pacman -S proxychains-ng # para Arch

    Configura el archivo /etc/proxychains.conf o ~/.proxychains/proxychains.conf, añadiendo socks5 127.0.0.1 1080. Luego, ejecuta las aplicaciones:

    proxychains4 firefox
  3. Reglas de enrutamiento por procesos (sing-box): sing-box tiene la capacidad única de enrutar el tráfico basándose en el PID (ID de proceso) o el nombre del proceso. Agrega una regla de tipo "rule_set" con "process_name" o "process_path" en la sección "route". Este es el método más flexible, pero también el más complejo, ya que requiere privilegios de root para identificar los procesos.

Para la mayoría de los usuarios que utilizan sing-box, el modo TUN es la solución más sencilla y eficaz, ya que funciona a nivel de kernel y no requiere configuraciones adicionales en cada aplicación o escritorio.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Preguntas frecuentes sobre sing-box y Xray en Linux

Q: ¿Cuánta RAM consume sing-box o Xray en el cliente?

A: Tanto sing-box como Xray-core se caracterizan por un consumo de recursos muy bajo. Generalmente, ocupan entre 20 y 50 MB de RAM, dependiendo de la configuración y el número de conexiones activas. Esto los hace ideales para usar incluso en escritorios Linux antiguos o de baja potencia sin un impacto notable en el rendimiento del sistema.

Q: ¿Se puede usar sing-box/Xray para proxy solo en aplicaciones específicas?

A: Sí, es posible. Puedes configurar sing-box o Xray como proxy SOCKS5/HTTP y luego usar variables de entorno (http_proxy, all_proxy) o utilidades como proxychains-ng para ejecutar aplicaciones específicas a través de este proxy. sing-box también ofrece reglas de enrutamiento avanzadas por nombre de proceso, lo que proporciona aún mayor flexibilidad.

Q: ¿Cuál es la ventaja del modo TUN frente a un proxy de sistema tradicional?

A: El modo TUN crea una interfaz de red virtual a través de la cual se enruta todo el tráfico de red del sistema a nivel de kernel, similar a una VPN completa. Esto significa que todas las aplicaciones utilizan automáticamente el proxy sin necesidad de una configuración individual. Un proxy de sistema tradicional (SOCKS5/HTTP) requiere que cada aplicación admita y utilice explícitamente estas configuraciones, lo que no siempre está garantizado.

Q: ¿Cómo puedo verificar que mi proxy funciona y no hay fugas?

A: Después de iniciar el cliente, abre un navegador y visita sitios web para verificar tu dirección IP y las fugas de DNS, como dnsleaktest.com o ipleak.net. Tu dirección IP debe coincidir con la IP de tu VPS, y los servidores DNS deben ser remotos (por ejemplo, 1.1.1.1, 8.8.8.8) o pertenecer a tu proveedor de VPS, pero no a tu proveedor de internet local.

Q: ¿Qué distribuciones de Linux son compatibles con sing-box y Xray?

A: Ambos clientes funcionan perfectamente en la mayoría de las distribuciones Linux modernas de 64 bits, incluyendo Ubuntu, Debian, Arch Linux, Fedora, CentOS y otras. Los scripts de instalación oficiales suelen detectar automáticamente la distribución e instalar los componentes necesarios, lo que simplifica considerablemente el proceso para el usuario.

Conclusiones

Configurar sing-box o Xray como proxy de sistema en tu escritorio Linux utilizando tu propio VPS proporciona una solución fiable, flexible y segura para gestionar el tráfico de internet. La elección entre sing-box y Xray depende de tus preferencias en cuanto a protocolos y la facilidad de configuración del modo TUN, pero ambos ofrecen un alto rendimiento. Se recomienda utilizar sing-box en modo TUN con autoarranque a través de systemd para la máxima comodidad y protección global de todo el tráfico, garantizando al mismo tiempo un consumo mínimo de recursos del sistema y una protección fiable contra las fugas de DNS.

¿Listo para elegir un servidor?

VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.

Empezar ahora →

Compartir esta publicación:

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