Ir al contenido

Instalación

cs-routeros-bouncer se distribuye como imagen de contenedor multiarquitectura, binarios de Linux precompilados con instalador para systemd y código fuente Go compilable. Usa Docker Compose si ya ejecutas CrowdSec en contenedores; usa el instalador de systemd (cs-routeros-bouncer setup) en un host Linux sin contenedores; compila desde el código fuente solo si necesitas una plataforma sin release o quieres modificar el código.

Ideal si ya ejecutas CrowdSec en Docker.

services:
cs-routeros-bouncer:
image: ghcr.io/jmrplens/cs-routeros-bouncer:latest
container_name: cs-routeros-bouncer
restart: unless-stopped
ports:
- "2112:2112" # Métricas de Prometheus (opcional)
environment:
CROWDSEC_URL: "http://crowdsec:8080/"
CROWDSEC_BOUNCER_API_KEY: "your-bouncer-api-key"
MIKROTIK_HOST: "192.168.0.1:8728"
MIKROTIK_USER: "crowdsec"
MIKROTIK_PASS: "your-password"

La imagen de Docker puede funcionar solo con variables de entorno. Si prefieres un archivo YAML, móntalo en /etc/cs-routeros-bouncer/config.yaml; el bouncer carga ese archivo automáticamente cuando existe:

services:
cs-routeros-bouncer:
image: ghcr.io/jmrplens/cs-routeros-bouncer:latest
container_name: cs-routeros-bouncer
restart: unless-stopped
ports:
- "2112:2112"
volumes:
- ./config.yaml:/etc/cs-routeros-bouncer/config.yaml

Inicia el servicio:

Ventana de terminal
docker compose up -d

Tras instalar con cualquiera de los métodos, verifica que el bouncer se ejecuta correctamente:

  1. Comprueba el estado del servicio

    Ventana de terminal
    # Instalación con binario
    sudo systemctl status cs-routeros-bouncer
    # Docker Compose
    docker compose ps cs-routeros-bouncer
  2. Comprueba el endpoint de salud

    Ventana de terminal
    curl http://localhost:2112/health
    # {"status":"ok","routeros_connected":true,"version":"vX.Y.Z"}
  3. Comprueba los logs

    Ventana de terminal
    # Instalación con binario
    sudo journalctl -u cs-routeros-bouncer -f
    # Docker Compose
    docker compose logs -f cs-routeros-bouncer
  4. Verifica las reglas en el router

    /ip/firewall/filter/print where comment~"crowdsec"
    /ip/firewall/raw/print where comment~"crowdsec"
    /ip/firewall/address-list/print where list=crowdsec-banned