> 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-ru/dlya-khostov/installing-clore-hosting/network-requirements.md).

# Требования к сети

Чтобы успешно размещать GPU-серверы на Clore.ai, ваша сеть должна соответствовать этим требованиям.

## Минимальные требования

| Параметр          | Требование                                                |
| ----------------- | --------------------------------------------------------- |
| Скорость загрузки | Минимум 100 Мбит/с                                        |
| Скорость отдачи   | Минимум 100 Мбит/с                                        |
| Задержка          | < 100 мс до основных регионов                             |
| Тип IP-адреса     | Статический или динамический (предпочтителен статический) |

> **Примечание:** Более высокая пропускная способность приводит к лучшим оценкам сервера и большему числу аренд.

## Необходимые порты

Следующие порты должны быть доступны из интернета:

| Порт             | Протокол | Назначение                                    |
| ---------------- | -------- | --------------------------------------------- |
| 22               | TCP      | Доступ по SSH (или пользовательский SSH-порт) |
| 8080             | TCP      | Jupyter Notebook (если включён)               |
| 3000-4000        | TCP      | Порты приложений (настраиваемые)              |
| Пользовательский | TCP/UDP  | Как указано в настройках сервера              |

## Настройка брандмауэра

### UFW (Ubuntu)

```bash
# Разрешить SSH
sudo ufw allow 22/tcp

# Разрешить Jupyter
sudo ufw allow 8080/tcp

# Разрешить диапазон портов для приложений
sudo ufw allow 3000:4000/tcp

# Включить брандмауэр
sudo ufw enable
```

### iptables

```bash
# Разрешить SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Разрешить Jupyter
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# Разрешить диапазон портов
iptables -A INPUT -p tcp --dport 3000:4000 -j ACCEPT

# Сохранить правила
iptables-save > /etc/iptables/rules.v4
```

## NAT / проброс портов

Если ваш сервер находится за роутером:

1. **Откройте панель администратора роутера** (обычно 192.168.1.1)
2. **Найдите раздел проброса портов**
3. **Пробросьте необходимые порты** на внутренний IP-адрес вашего сервера
4. **Назначьте статический внутренний IP** для вашего сервера

### Пример правил проброса портов

| Внешний порт | Внутренний IP | Внутренний порт | Протокол |
| ------------ | ------------- | --------------- | -------- |
| 22022        | 192.168.1.100 | 22              | TCP      |
| 8080         | 192.168.1.100 | 8080            | TCP      |

## Статический IP и динамический IP

### Статический IP (рекомендуется)

* Стабильное подключение для арендаторов
* Лучше подходит для DNS и закладок
* Более высокий рейтинг надёжности сервера

### Динамический IP

* Работает, но требует службы DDNS
* Изменение IP может на короткое время прерывать аренды
* Настройте DDNS-клиент на вашем сервере:

```bash
# Пример с ddclient
sudo apt install ddclient
sudo nano /etc/ddclient.conf
```

## Соображения по пропускной способности

### Влияние на доход

| Скорость   | Влияние                                       |
| ---------- | --------------------------------------------- |
| 100 Мбит/с | Минимум — базовые аренды                      |
| 500 Мбит/с | Хорошо — подходит для большинства ML-нагрузок |
| 1 Гбит/с+  | Отлично — привлекает премиальных арендаторов  |

### Мониторинг пропускной способности

```bash
# Установить инструмент мониторинга
sudo apt install iftop

# Мониторинг в реальном времени
sudo iftop -i eth0
```

## Тестирование сети

### Тест скорости

```bash
# Установить speedtest
sudo apt install speedtest-cli

# Запустить тест
speedtest-cli
```

### Тест задержки

```bash
# Проверить до распространённых регионов
ping -c 10 8.8.8.8        # Google DNS
ping -c 10 1.1.1.1        # Cloudflare
```

### Тест доступности портов

Из-за пределов вашей сети проверьте, что порты открыты:

```bash
# Используя nmap с другого компьютера
nmap -p 22,8080 YOUR_PUBLIC_IP

# Или используйте онлайн-проверку портов
# https://www.yougetsignal.com/tools/open-ports/
```

## Устранение неполадок

### Порты недоступны

1. Проверьте правила брандмауэра на сервере
2. Проверьте проброс портов на роутере
3. Свяжитесь с провайдером — некоторые блокируют хостинг
4. Попробуйте другие номера портов

### Медленное соединение

1. Запустите тест скорости
2. Проверьте наличие ограничения пропускной способности
3. Рассмотрите возможность перехода на более выгодный тариф интернета
4. Оптимизируйте сетевые настройки сервера:

```bash
# Увеличить размеры сетевых буферов
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
```

### Обрывы соединения

1. Проверьте изменение IP-адреса
2. Проверьте стабильность роутера
3. Следите за системными журналами: `dmesg | grep -i network`
4. Рассмотрите использование Ethernet вместо Wi‑Fi


---

# 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-ru/dlya-khostov/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.
