mikrotik-bot/instructions/cloudflare_tunnel.md

2.3 KiB
Raw Permalink Blame History

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