mikrotik-bot/instructions/cloudflare_tunnel.md

58 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cloudflare Tunnel: безопасный доступ к вашему серверу для fetch-уведомлений MikroTik
## 1. Регистрация и подготовка
- Зарегистрируйтесь на https://cloudflare.com (если ещё нет аккаунта)
- Добавьте свой домен в Cloudflare (следуйте инструкциям, смените NS-записи у регистратора)
## 2. Установка cloudflared
- На сервере (где работает бот/FastAPI):
```
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
# или через brew install cloudflared (macOS)
```
## 3. Авторизация и запуск туннеля
- Введите:
```
cloudflared tunnel login
```
- Откроется браузер, авторизуйтесь через Cloudflare.
- Создайте туннель:
```
cloudflared tunnel create mikrotik-bot
cloudflared tunnel route dns mikrotik-bot bot.example.com
```
- Запустите туннель:
```
cloudflared tunnel run mikrotik-bot
```
- Теперь ваш сервер доступен по адресу https://bot.example.com (через Cloudflare, без проброса портов!)
## 4. Настройка fetch-скрипта на MikroTik
- Используйте URL вида:
```
/tool fetch url="https://bot.example.com/event?type=wifi_connect&mac=$mac&ip=$ip" http-method=get
```
## 5. Безопасность
- Cloudflare Tunnel скрывает реальный IP сервера
- Можно ограничить доступ по IP/стране через Cloudflare Firewall
- Рекомендуется добавить секрет в URL (?secret=...) и проверять его на сервере
## 6. Автозапуск (systemd)
- Для автозапуска создайте сервис:
```
sudo cloudflared service install
```
- Проверьте статус:
```
sudo systemctl status cloudflared
```
---
## Преимущества
- Не нужно открывать порты на роутере/сервере
- Бесплатно для большинства задач
- Простая интеграция с MikroTik и Telegram-ботом