Маршрутизаторы серии ESR поддерживают автоматическое обновление и применение конфигурации, полученных по DHCP посредством полей и опций заголовка BOOTP:
- Bootfile name
- 66 - TFTP Server Name
- 67 - Bootfile Name
Алгоритм обработки автоматических процессов:
- В DHCP DISCOVER маршрутизатор запрашивает поддерживаемые опции
- В DCHP ACK сервер предоставляет набор запрашиваемых устройством ранее опций (IP-адрес TFTP-сервера, путь к файлу ПО на этом TFTP-сервере, путь к файлу конфигурации на этом TFTP-сервере)
- Сперва маршрутизатор загружает файл образа основного ПО, выставляет флаг для его последующей загрузки и перезагружается.
- Затем маршрутизатор повторяет процесс DORA, получая таким образом файл candidate-конфигурации от TFTP-сервера. Конфигурация проверяется на корректность, применяется и сохраняется на устройстве
Настройка ESR
Для возможности автоматического обновления и применения конфигурации, переданных через сеть посредством DHCP, на ESR необходимо:
- Подключить ESR к сети с заведомо настроенными DHCP и TFTP серверами
- Включить dhcp-client на подключенном к сети интерфейсе
- Включить загрузку конфигурации маршрутизатора при помощи протокола DHCP - boot host auto-config
- Включить загрузку загрузку ПО маршрутизатора при помощи протокола DHCP - boot host auto-update
hostname esr boot host auto-config boot host auto-update interface gigabitethernet 1/0/1 ip address dhcp exi
Примечание
Команды будут работать только после следующей перезагрузки устройства.
Пример настройки компьютера на базе OS Linux для tftp и dhcp-серверов
Задача: Настроить компьютер для выдачи конфигурации ESR по сети
Настройка адресации
ip add add 192.168.2.0/24 dev eth0
где eth0 - сетевая карта компьютера, которая подключена в сеть с ESR
Настройка dhcp-сервера
dhcp-сервер вместе с сетевыми реквизитами дополнительно отдает опций "tftp-server-name", "bootfile-name", с целью сообщить ЕСР параметры подключения к tftp-серверу и имя файла конфигурации, который необходимо загрузить и применить
В примерах для связи ESR и компьютера (под управлением ОС на базе Linux) использована подсеть 192.168.2.0/24, где сервисы tftp-сервер и dhcp-сервер запущены на компьютере с IP адресом 192.168.2.1, а ESR получает IP-адрес из диапозона: 192.168.2.10-192.168.2.50
Установка dhcp-сервера:
sudo apt install -y isc-dhcp-server
Правка файла-конфигурации:
nano /etc/dhcp/dhcpd.conf
subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.10 10.0.0.200; filename "/FW/esr200-1.23.6-build9.firmware"; #указываем путь к файлу с ПО option tftp-server-name "10.0.0.1"; #указываем адрес TFTP-сервера option bootfile-name "/Configs/esr-200.cfg"; #указываем путь к конфигурационному файлу }
Запуск сервиса:
sudo systemctl enable isc-dhcp-server sudo systemctl restart isc-dhcp-server
Настройка tftp-сервера
Установка сервиса tftp-сервер
sudo apt install tftpd-hpa -y
Внесение изменения в файл настройки tftp-сервера
sudo nano /etc/default/tftpd-hpa
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--ipv4 --secure --create"
Создание папки из которой tftp-сервер будет отдавать файлы по протоколу tftp
sudo mkdir /srv/tftp sudo chown tftp:tftp /srv/tftp
Перезапуск сервиса для применения настроек
/etc/init.d/tftpd-hpa restart
Положить в папку для отдачи файлов по tftp-протоколу файл "autoboot.conf" с конфигурацией, которая будет передаваться для применения на ESR
Проверка, что файл лежит в папке:
cat /srv/tftp/autoboot.conf #!/usr/bin/clish #232 #1.23.6 #27/05/2024 #19:20:10 hostname esr-boot-usb interface gigabitethernet 1/0/1 ip address 192.168.0.1/24