2.3 KiB
2.3 KiB
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-ботом