Skip to content

eskievv/vk_cloud_interface_manager

Repository files navigation

VK Cloud Network Interface Manager

Управление сетевыми интерфейсами VK Cloud для поиска IP-адресов в определённых диапазонах

📋 Описание

Этот проект автоматизирует процесс создания и управления сетевыми интерфейсами на одной существующей виртуальной машине в VK Cloud. Скрипт создаёт 5 сетевых портов, подключает их к ВМ, проверяет полученные IP-адреса на соответствие заданным диапазонам, и удаляет лишние интерфейсы при нахождении нужного IP.

🎯 Основные особенности

  • ✅ Создание 5 сетевых интерфейсов параллельно
  • ✅ Автоматическое подключение/отключение портов
  • ✅ Проверка IP по диапазонам:
    • 95.163.248.10 - 251.250
    • 217.16.24.1 - 27.253
  • ✅ Telegram-уведомления (опционально)
  • ✅ Graceful shutdown (Ctrl+C)
  • ✅ Подробное логирование процесса

📦 Требования

  • Python 3.8+
  • Ubuntu/Linux сервер
  • Токен API VK Cloud
  • ID существующей ВМ
  • ID внешней сети (ext-net)

🚀 Быстрый старт

1. Клонирование/загрузка проекта

git clone https://github.com/eskievv/vk_cloud_interface_manager.git
cd vk_cloud_interface_manager

2. Установка зависимостей

pip install -r requirements.txt

3. Настройка переменных окружения

cp env.example .env
# Отредактируйте .env с вашими значениями

4. Проверка подключения

python3 test_connection.py

5. Запуск скрипта

Вариант 1: Прямой запуск

python3 vk_cloud_interface_manager.py

Вариант 2: Через скрипт запуска

chmod +x run.sh
./run.sh

🔧 Конфигурация (.env)

# Обязательные параметры
VK_CLOUD_AUTH_TOKEN=your_api_token_here
VK_CLOUD_PROJECT_ID=your_project_id
VK_CLOUD_REGION=RegionOne

VM_ID=vm-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
EXTERNAL_NETWORK_ID=ext-net-id-or-name

# Опциональные параметры (Telegram)
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id

# Параметры поиска IP
IP_RANGE_1_START=95.163.248.10
IP_RANGE_1_END=95.163.251.250
IP_RANGE_2_START=217.16.24.1
IP_RANGE_2_END=217.16.27.253

📊 Логирование

Скрипт создаёт файл vk_cloud_manager.log со всеми операциями:

[2025-11-09 15:30:45] INFO: Начало работы...
[2025-11-09 15:30:46] INFO: Подключение к VK Cloud API
[2025-11-09 15:30:47] INFO: Создание 5 сетевых портов...
[2025-11-09 15:30:55] INFO: IP 95.163.248.150 найден в диапазоне!

🔌 API Endpoints

Скрипт использует:

  • Nova API - управление ВМ и их интерфейсами
  • Neutron API - управление сетевыми портами

📞 Поддержка

При возникновении ошибок:

  1. Проверьте файл .env (все параметры заполнены?)
  2. Запустите python3 test_connection.py
  3. Проверьте логи в vk_cloud_manager.log
  4. Убедитесь, что ВМ находится в состоянии ACTIVE

⚙️ Технические детали

  • Язык: Python 3
  • SDK: OpenStack SDK
  • Архитектура: Асинхронные батчи запросов
  • Оптимизация: Создание портов параллельно, проверка последовательно

📝 Лицензия

MIT License


Автор: VK Cloud Infrastructure Manager Версия: 1.0.0 Последнее обновление: 2025-11-09

About

vk_cloud_interface_manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors