> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/clore.ai/clore.ai-eng-es/para-hosts/installing-clore-hosting/network-requirements.md).

# Requisitos de red

Para alojar con éxito servidores GPU en Clore.ai, su red debe cumplir estos requisitos.

## Requisitos mínimos

| Parámetro             | Requisito                                  |
| --------------------- | ------------------------------------------ |
| Velocidad de descarga | 100 Mbps mínimo                            |
| Velocidad de subida   | 100 Mbps mínimo                            |
| Latencia              | < 100 ms a las principales regiones        |
| Tipo de IP            | Estática o dinámica (se prefiere estática) |

> **Nota:** Un mayor ancho de banda resulta en mejores calificaciones del servidor y más alquileres.

## Puertos requeridos

Los siguientes puertos deben ser accesibles desde Internet:

| Puerto        | Protocolo | Propósito                                        |
| ------------- | --------- | ------------------------------------------------ |
| 22            | TCP       | Acceso SSH (o puerto SSH personalizado)          |
| 8080          | TCP       | Jupyter Notebook (si está habilitado)            |
| 3000-4000     | TCP       | Puertos de la aplicación (configurables)         |
| Personalizado | TCP/UDP   | Según se define en la configuración del servidor |

## Configuración del firewall

### UFW (Ubuntu)

```bash
# Permitir SSH
sudo ufw allow 22/tcp

# Permitir Jupyter
sudo ufw allow 8080/tcp

# Permitir rango de puertos para aplicaciones
sudo ufw allow 3000:4000/tcp

# Habilitar firewall
sudo ufw enable
```

### iptables

```bash
# Permitir SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Permitir Jupyter
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# Permitir rango de puertos
iptables -A INPUT -p tcp --dport 3000:4000 -j ACCEPT

# Guardar reglas
iptables-save > /etc/iptables/rules.v4
```

## NAT / Reenvío de puertos

Si su servidor está detrás de un router:

1. **Acceda al panel de administración del router** (normalmente 192.168.1.1)
2. **Encuentre la sección de reenvío de puertos**
3. **Reenvíe los puertos requeridos** a la IP interna de su servidor
4. **Establezca una IP interna estática** para su servidor

### Ejemplos de reglas de reenvío de puertos

| Puerto externo | IP interna    | Puerto interno | Protocolo |
| -------------- | ------------- | -------------- | --------- |
| 22022          | 192.168.1.100 | 22             | TCP       |
| 8080           | 192.168.1.100 | 8080           | TCP       |

## IP estática vs dinámica

### IP estática (recomendada)

* Conexión consistente para los arrendatarios
* Mejor para DNS y marcadores
* Mayor calificación de confiabilidad del servidor

### IP dinámica

* Funciona, pero requiere un servicio DDNS
* Los cambios de IP pueden interrumpir brevemente los alquileres
* Configure un cliente DDNS en su servidor:

```bash
# Ejemplo con ddclient
sudo apt install ddclient
sudo nano /etc/ddclient.conf
```

## Consideraciones sobre el ancho de banda

### Impacto en las ganancias

| Velocidad | Impacto                                                        |
| --------- | -------------------------------------------------------------- |
| 100 Mbps  | Mínimo: alquileres básicos                                     |
| 500 Mbps  | Bueno: adecuado para la mayoría de las cargas de trabajo de ML |
| 1 Gbps+   | Excelente: atrae a arrendatarios premium                       |

### Monitoreo del ancho de banda

```bash
# Instalar herramienta de monitoreo
sudo apt install iftop

# Monitorear en tiempo real
sudo iftop -i eth0
```

## Pruebas de red

### Prueba de velocidad

```bash
# Instalar speedtest
sudo apt install speedtest-cli

# Ejecutar prueba
speedtest-cli
```

### Prueba de latencia

```bash
# Probar hacia regiones comunes
ping -c 10 8.8.8.8        # Google DNS
ping -c 10 1.1.1.1        # Cloudflare
```

### Prueba de accesibilidad de puertos

Desde fuera de su red, verifique que los puertos estén abiertos:

```bash
# Usando nmap desde otra máquina
nmap -p 22,8080 YOUR_PUBLIC_IP

# O use un comprobador de puertos en línea
# https://www.yougetsignal.com/tools/open-ports/
```

## Solución de problemas

### Los puertos no son accesibles

1. Compruebe las reglas del firewall en el servidor
2. Verifique el reenvío de puertos del router
3. Contacte a su ISP: algunos bloquean el alojamiento
4. Pruebe números de puerto diferentes

### Conexión lenta

1. Ejecute una prueba de velocidad
2. Compruebe si hay limitación de ancho de banda
3. Considere actualizar su plan de Internet
4. Optimice la configuración de red del servidor:

```bash
# Aumentar los tamaños del búfer de red
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
```

### Caídas de conexión

1. Compruebe si hay cambios en la dirección IP
2. Verifique la estabilidad del router
3. Supervise los registros del sistema: `dmesg | grep -i network`
4. Considere usar Ethernet en lugar de WiFi


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-es/para-hosts/installing-clore-hosting/network-requirements.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
