# Agents ## Short install (рекомендуется) В UI `/agents` → **Добавить агента**: 1. Создаётся агент со статусом **Invited** (сразу виден в таблице) + install-ссылка. 2. Скопируйте one-liner (колонка Install или Sheet): **Linux:** ```bash curl -fsSL https:///agent-install/ | bash ``` **MikroTik:** ``` /tool fetch url="https:///agent-install/" dst-path=evofw-install.rsc; /import file-name=evofw-install.rsc ``` 3. После enroll статус станет **Pending** — одобрите агента (Approve). 4. **Approved** — агент синхронизирует политику. API (auth): `POST /api/v1/install-links` `{ "name": "web-01", "platform": "linux" | "mikrotik" }`. ## Linux (legacy one-liner) ```bash curl -fsSL https:///v1/agent/install.sh | \ EVOFW_CP_URL=https:// \ EVOFW_SEED= \ EVOFW_CLIENT_NAME="web-01" \ bash ``` Создаёт нового агента со статусом Pending (без Invited). Файлы: `/etc/evofw/agent.conf`, `/usr/local/sbin/evofw-firewall.sh`, timer `evofw-firewall.timer` (default 1min). Backend auto-detect: nft → ipset → iptables. Whitelist: nft chain policy drop + allow set. Blacklist: policy accept + deny set. ## MikroTik (RouterOS 7.21+) В UI `/agents` → **Добавить агента** → platform **MikroTik**. Скопируйте one-liner: ``` /tool fetch url="https:///agent-install/" dst-path=evofw-install.rsc; /import file-name=evofw-install.rsc ``` Или короткий slug: `https:///`. Install RSC: 1. Enroll (с `install_link_id` → агент Invited → Pending). 2. Создаёт filter-правила `evofw-*` и address-list `EVOFW_DENY` / `EVOFW_ALLOW`. 3. Scheduler `evofw-sync` каждую минуту: `GET /v1/agent/policy.rsc` → `/import` (списки + режим). **Режим фильтра** задаётся на **наборе правил** (`/rules`), не на агенте: - **blacklist** — по умолчанию ACCEPT; deny-CIDR блокируются - **whitelist** — по умолчанию DROP (forward); только allow-CIDR Все наборы, назначенные агенту, должны иметь один режим. ## Force sync ```bash sudo rm -f /var/lib/evofw/last_hash sudo /usr/local/sbin/evofw-firewall.sh ```