Автоматизация настройки BRAS с использованием Ansible

21 апреля 2025
BRAS
Автоматизация настройки BRAS с использованием Ansible
В последние годы автоматизация стала неотъемлемой частью эффективного управления сетевой инфраструктурой. Одним из ключевых элементов такой инфраструктуры является BRAS (Broadband Remote Access Server), который отвечает за управление подключениями абонентов, маршрутизацию трафика и другие ключевые функции. Однако настройка и обслуживание BRAS может быть сложным и трудозатратным процессом, особенно при управлении масштабируемыми или постоянно изменяющимися сетями.

Мы внедрили автоматическую настройку BRAS с использованием Ansible, что существенно упрощает этот процесс. В этой статье мы расскажем, как этот инструмент помогает оптимизировать настройку и управление BRAS, повышая эффективность, снижая количество ошибок и ускоряя развертывание. Также продемонстрируем, как с помощью Ansible можно быстро и безошибочно развернуть BRAS.

Какие функции выполняет BRAS?

BRAS/BNG — это ключевой компонент в любой сети, обеспечивающей широкополосный доступ. Он выполняет несколько ключевых функций: управление подключениями абонентов, маршрутизацию трафика, авторизацию пользователей, биллинг и многое другое. В крупных сетях, где требуется поддержка большого числа абонентов, настройка и управление BRAS могут быть крайне сложными и времязатратными процессами, особенно если все операции выполняются вручную.

BRAS обычно интегрируется с другими компонентами сетевой инфраструктуры, такими как устройства коммутаторных и маршрутизирующих систем, что требует постоянного обновления конфигурации и настройки для каждого устройства. Это может создавать сложности для сетевых администраторов, которые должны отслеживать множество параметров, что увеличивает вероятность ошибок и замедляет процессы.

Зачем использовать Ansible для автоматизации настройки BRAS?

Ansible — это инструмент с открытым исходным кодом, предназначенный для автоматизации множества задач, включая управление конфигурациями, развертывание приложений и настройку инфраструктуры. В отличие от многих других инструментов автоматизации, Ansible не требует установки агентов на удалённых хостах, что упрощает его использование и внедрение в уже существующие системы.

Одной из главных причин использования Ansible для автоматизации настройки BRAS является возможность сокращения времени, необходимого для выполнения рутинных задач, и минимизация человеческого фактора, который часто становится причиной ошибок. Кроме того, Ansible помогает обеспечивать унифицированную и повторяемую настройку, что критично для крупных и динамичных сетевых инфраструктур.

Преимущества использования Ansible 

  1. Экономия времени. Ansible позволяет автоматизировать процессы, которые иначе занимали бы много времени при ручной настройке.
  2. Минимизация ошибок конфигурации. Использование сценариев в Ansible помогает избежать ошибок, связанных с человеческим фактором.
  3. Упрощение масштабирования. Ansible позволяет легко масштабировать конфигурации, добавляя новые устройства или абонентов в сеть без необходимости вручную настраивать каждое устройство.
  4. Гибкость и масштабируемость. Ansible поддерживает управление множеством устройств одновременно, что делает его идеальным решением для масштабируемых и меняющихся сетевых инфраструктур.
  5. Бесплатный и с открытым исходным кодом. Ansible — это инструмент с открытым исходным кодом, что означает отсутствие затрат на лицензирование. Это также позволяет использовать и модифицировать программу в соответствии с собственными потребностями.
  6. Простота использования. Для работы с Ansible не требуется специальных знаний программирования. Даже без опыта в разработке можно создавать и использовать playbooks, что делает процесс автоматизации доступным для широкого круга пользователей.

Принципы автоматизации настройки BRAS с использованием Ansible

Автоматизация настройки BRAS с помощью Ansible состоит из нескольких ключевых этапов, которые позволяют быстро и эффективно настроить сеть и ее компоненты.

1. Установка и развертывание Ansible

Для начала необходимо установить Ansible на управляющий сервер. Установка Ansible не требует сложных настроек, и процесс можно выполнить за несколько минут с помощью командной строки на Linux или Windows-системах.

Anssible доступен для установки через pip. Для установки Ansible можно использовать следующий сценарий:

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible-with-pip

После установки, необходимо настроить inventory — файл, который описывает хосты, которые будут управляться с помощью Ansible. В случае с BRAS от VAS Experts данный файл содержит данные для подключения к каждому инстансу fastdpi и fastpcrf,  которые сгруппированы попарно.

2. Пример сценария для настройки BRAS

Для автоматизации настройки BRAS с помощью Ansible используется файл, называемый playbook. Это текстовый файл, написанный в формате YAML, который описывает последовательность задач, которые необходимо выполнить на удалённых устройствах, который также включает в себя роли, логически разделенные блоки сценариев

Пример простого сценария для настройки BRAS:

 yaml
---
- hosts: fdservers
  become: true
  become_method: sudo
  any_errors_fatal: true
  pre_tasks:
    - name: Checking version of OS distribution
      fail:
        msg: "{{ansible_distribution_version}} of {{ansible_distribution}} is no supported"
      when: ansible_distribution_version is version_compare(os_minimum_versions[ansible_distribution], '<')
  roles:
    - system
    - fd_node
- hosts: fpservers
  become: true
  become_method: sudo
  any_errors_fatal: true
  pre_tasks:
    - name: Checking version of OS distribution
      fail:
        msg: "{{ansible_distribution_version}} of {{ansible_distribution}} is no supported"
      when: ansible_distribution_version is version_compare(os_minimum_versions[ansible_distribution], '<')
  roles:
    - system
    - fp_node
- hosts: all
  become: true
  become_method: sudo
  roles:
    - backup
  tags:
    - never

Этот пример сценария описывает процесс установки необходимого ПО, запуск ролей system, fp_node, fd_node при указании соответствующего тега.

3. Загрузка и применение пользовательских настроек

С помощью команды ansible-playbook можно инициировать выполнение всего набора задач на устройствах:

ansible-playbook -i inventory_file deploy_bng.yml

Для удобства использования, контроля выполнения и выбора режимов  BRAS, которые требуется настроить используются теги, которыми помечаются те задачи, которые будут выполняться при указании соответствующего(-их) тега(-ов). Например:

ansible-playbook -i inventory deploy_bng.yml -t system,proxy,pool4,router4 

Результаты автоматизации настройки BRAS

Автоматизация настройки BRAS с помощью Ansible позволяет значительно сократить время на развертывание и настройку. Если раньше каждый этап конфигурации требовал ручного вмешательства и проверки, то теперь все задачи выполняются автоматически, что освобождает время для других задач.

Автоматизация исключает человеческий фактор, который является основной причиной ошибок при ручной настройке. Использование заранее подготовленных сценариев позволяет избежать большинства типичных ошибок, таких как опечатки в конфигурации или забытые параметры, а использование тегов позволяет гибко управлять состоянием, к которому будет приведена конечная система.

Когда необходимо добавить новые устройства или изменить конфигурацию существующих, Ansible позволяет это сделать с минимальными усилиями. Вместо того, чтобы настраивать каждый BRAS вручную, достаточно просто внести изменения в play и/или переменные для конкретной группы серверов и/или отдельного сервера и применить их ко всем устройствам. Учитывая идемпотентность подготовленного сценария, можно быть уверенным, что при внесении изменений, последние будут применены только на тех серверах, на которых они требуются.

Заключение

Использование Ansible для автоматизации настройки BRAS значительно упрощает управление сетевой инфраструктурой. Автоматизация позволяет не только сэкономить время и снизить количество ошибок, но и обеспечить возможность быстрого масштабирования и изменения конфигурации.

Мы используем файлы cookies для оптимизации функциональности сайта и улучшения качества услуг. Нажимая «Принять», вы даете согласие на работу с этими файлами. Чтобы узнать больше, пожалуйста, прочтите нашу Политику конфиденциальности.