Автоматизация управления сетевыми интерфейсами через Ansible

На список статей
Blog image

Защитите свои сайты с My-Sites-Guard.com!
Сервис обеспечивает надежную защиту ваших веб-ресурсов: мониторинг доступности сайта, контроль валидности сертификатов, а также возможность собирать и анализировать логи работы сервера. My-Sites-Guard.com — всё для сохранности вашего сайта и спокойствия в работе!

Как это работает?

Всё завязано на так называемых плейбуках (playbooks) – текстовых файлах в формате YAML. Именно в них ты описываешь, что именно хочешь настроить. Ansible обрабатывает их и применяет изменения на целевых устройствах. Это не только ускоряет процесс, но и снижает риск ошибок.

Создание базового плейбука

Первый шаг – создать плейбук, который будет управлять сетевыми интерфейсами. Здесь начинается самое интересное.

Шаг 1: Настройка инвентаря
В Ansible тебе нужно указать, какие устройства ты собираешься настраивать. Это делается в файле инвентаря. Пример файла:

[routers]
router1 ansible_host=192.168.1.1 ansible_user=admin ansible_password=secret
router2 ansible_host=192.168.1.2 ansible_user=admin ansible_password=secret

Этот файл говорит Ansible, что у тебя есть два устройства – router1 и router2. У каждого указан IP-адрес, имя пользователя и пароль для доступа.

Шаг 2: Пишем плейбук
Теперь создаём плейбук. Допустим, ты хочешь настроить интерфейс на router1. Вот пример:

- name: Настройка сетевых интерфейсов
 hosts: routers
 tasks:
   - name: Настроить интерфейс GigabitEthernet0/1
     ios_config:
       lines:
         - interface GigabitEthernet0/1
         - description Configured by Ansible
         - ip address 192.168.100.1 255.255.255.0
         - no shutdown

Этот плейбук говорит Ansible:

  1. Подключись к группе устройств routers.
  2. Выполни команду настройки интерфейса с описанием и IP-адресом.
Более сложные сценарии

Когда базовая настройка освоена, можно переходить к более сложным задачам.

Вариант 1: Добавление VLAN
Если нужно добавить VLAN, это делается почти так же просто:

- name: Добавление VLAN
 hosts: routers
 tasks:
   - name: Создать VLAN 10
     ios_config:
       lines:
         - vlan 10
         - name Management

Этот пример покажет, как создать VLAN с ID 10 и именем Management.

Вариант 2: Проверка состояния интерфейсов
Чтобы убедиться, что всё работает, можно использовать модуль ios_command для выполнения проверок:

- name: Проверка интерфейсов
 hosts: routers
 tasks:
   - name: Получить статус интерфейсов
     ios_command:
       commands:
         - show ip interface brief

Результат команды будет сохранён, и ты сможешь легко проанализировать его.

Вариант 3: Массовое изменение конфигурации
Если требуется внести изменения на всех устройствах, просто добавь больше команд в свой плейбук. Ansible сам позаботится о том, чтобы изменения применились повсеместно.

Комментарии

Пока нет комментариев

Добавить комментарий