
Python-клиент для Batfish — инструмента анализа конфигураций сети, который проверяет безопасность, надёжность и соответствие требованиям, моделируя поведение сети на основе конфигураций устройств до развёртывания.
Есть вопросы, отзывы или предложения? Присоединяйтесь к нашему сообществу в Slack!
Pybatfish — это Python-клиент для Batfish.
Batfish — это инструмент для проверки сетей, который обеспечивает гарантии корректности в области безопасности, надежности и соответствия требованиям, анализируя конфигурации сетевых устройств. Он строит полные модели поведения сети на основе конфигураций устройств и находит нарушения сетевых политик (встроенных, заданных пользователем и лучших практик).
Основной сценарий использования Batfish — проверка корректности изменений конфигурации до их развертывания (хотя его можно использовать и для проверки уже развернутых конфигураций). Деплойментная проверка является критическим пробелом в существующих рабочих процессах автоматизации сети. С помощью Batfish в автоматизированных рабочих процессах сетевые инженеры могут закрыть этот пробел и гарантировать, что развертываются только корректные изменения.
Batfish НЕ требует прямого доступа к сетевым устройствам. Для основного анализа требуются только конфигурации сетевых устройств. Этот анализ может быть расширен с помощью дополнительной информации из сети, такой как:
Смотрите www.batfish.org для технической информации о том, как это работает.
Канал Batfish на YouTube (на который можно подписаться для получения нового контента) иллюстрирует многие типы проверок. Эти проверки охватывают ряд сетевых поведений и атрибутов конфигурации устройств.
Если вы еще не установили Batfish, следуйте инструкциям, приведенным в репозитории batfish на GitHub.
Мы настоятельно рекомендуем устанавливать Pybatfish в виртуальную среду Python 3. Подробности о том, как ее настроить, можно найти здесь. После настройки и активации виртуальной среды обновите pip, а затем установите pybatfish.
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pybatfish
Теперь вы готовы оценить свою сеть с помощью Batfish. Мы рекомендуем использовать Jupyter notebooks в качестве отправной точки, но вы можете использовать и другие методы, с которыми вам удобно работать, например, IDE вроде PyCharm или интерактивную оболочку Python. Если вы решите использовать Jupyter notebooks в качестве отправной точки, вам нужно установить Jupyter в вашу виртуальную среду. Документация Jupyter доступна здесь — но приведенные ниже команды помогут вам начать.
python3 -m pip install jupyter
jupyter notebook
Наши notebooks предоставляют краткое руководство для различных сценариев использования. Кроме того, полная документация доступна на readthedocs.
Полная документация по API pybatfish находится здесь.