Коммутаторы SNR имеют возможность автоматической конфигурации и обновления ПО средствами DHCP, так называемая технология Auto Provisioning или ZTP (Zero-touch provisioning).
Если на коммутаторе отсутствует стартовая конфигурация, то после загрузки NOS будет активирован DHCP-клиент, ожидающий от DHCP-сервера, помимо сетевых реквизитов, указания дополнительных полей.
В зависимости от выбора полей разделяют два варианта реализации ZTP:
- Стандартные поля DHCP: next-server, server-name и filename
- DHCP опции 66 и 67
На моделях, у которых есть MGMT-порт (интерфейс Ethernet0), коммутатор сначала пытается выполнить ZTP на нём, даже если интерфейс имеет статус DOWN.
В случае, если эта попытка закончится неудачно, ZTP запустится на интерфейсе VLAN 1 (т.е. через все Ethernet-порты). Этот переход может составить до 1 минуты ожидания.
ZTP через стандартные поля DHCP
Список актуальных линеек на Апрель 2026, поддерживающих этот метод:
- SNR-S225Gi-8T-POE
- SNR-S2962
- SNR-S2965
- SNR-S2982
- SNR-S2985
- SNR-S2989
- SNR-S2995
- SNR-S3850
- SNR-S400X
- SNR-S4350X
- SNR-S5xxx
Как уже было сказано, ZTP может использовать 3 стандартных поля DHCP:
- next-server – адрес сервера подгрузки (TFTP-сервер, FTP-сервер или др.)
- server-name – указываем протокол файловой передачи (TFTP, FTP или др.) и учетные данные для протоколов, требующих авторизации. Для TFTP – "tftp://", для FTP – "ftp://login:password@"
- filename – перечисление файлов подгрузки с разделением через ":". Пример: "nos.img:startup.cfg";
В поле filename могут быть переданы имена файлов с расширениями .rom/.img/.cfg (загрузчик/ОС/конфигурация).
В случае получения необходимой информации коммутатор попытается загрузить указанные файлы с файлового сервера, применить их и, при успешном завершении процесса, перезагрузиться.
Пример конфигурации isc-dhcp-server:
subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.100 192.168.12.200;
option subnet-mask 255.255.255.0;
option routers 192.168.12.1;
next-server 192.168.12.1;
server-name "tftp://";
filename = "boot.rom:nos.img:startup.cfg"; # передаем имена всех трех файлов для обновления ПО и конфигурации
}
subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.100 192.168.12.200;
option subnet-mask 255.255.255.0;
option routers 192.168.12.1;
next-server 192.168.12.1;
server-name "ftp://login:password@";
filename = "boot.rom:nos.img:startup.cfg"; # передаем имена всех трех файлов для обновления ПО и конфигурации
}
При необходимости передавать уникальные файлы стартовой конфигурации каждому коммутатору можно задавать им имена, соответствующие мак-адресу коммутатора:
filename = concat(binary-to-ascii(16, 8, "-", substring (hardware, 1, 6)), ".cfg");
ZTP через DHCP опции 66 и 67
Список актуальных линеек на Апрель 2026, поддерживающих этот метод:
- SNR-S225Gi-8T-POE
- SNR-S2962
- SNR-S2965
- SNR-S2982
- SNR-S2985
- SNR-S2989
- SNR-S2995
- SNR-S3850
- SNR-S2990X
- SNR-S300X
- SNR-S400X
- SNR-S4350X
- SNR-S5xxx
Информацию, передаваемую в 3-х стандартных опциях DHCP, можно передать в двух опциях – 66 и 67:
- Опция 66 – передаёт одновременно адрес сервера подгрузки, протокол передачи данных, и учётные данные для авторизации на сервере подгрузки. Другими словами, эта опция включает в себя ту же информацию, что стандартные опции "next-server" и "server-name". Формат опции: "{server-type}[<user>[:<password>]@]<ip>", где server-type может принимать значения: ”tftp://”, ”ftp://” и другие в зависимости от индивидуальной поддержки модели (SCP, SFTP). Пример для TFTP: "tftp://172.31.254.23"; для FTP: "ftp://login:password@192.168.12.1"
- Опция 67 – перечисление файлов подгрузки с разделением через ":". Пример: "nos.img:startup.cfg". Полная аналогия стандартной опции "filename"
В поле опции 67 могут быть переданы имена файлов с расширениями .rom/.img/.cfg (загрузчик/ОС/конфигурация).
В случае получения необходимой информации коммутатор попытается загрузить указанные файлы с файлового сервера, применить их и, при успешном завершении процесса, перезагрузиться.
Пример конфигурации isc-dhcp-server:
subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.100 192.168.12.200;
option subnet-mask 255.255.255.0;
option routers 192.168.12.1;
option tftp-server-name "tftp://192.168.12.1/";
option bootfile-name "boot.rom:nos.img:startup.cfg"; # передаем имена всех трех файлов для обновления ПО и конфигурации
}
subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.100 192.168.12.200;
option subnet-mask 255.255.255.0;
option routers 192.168.12.1;
option tftp-server-name "ftp://login:password@192.168.12.1";
option bootfile-name "boot.rom:nos.img:startup.cfg"; # передаем имена всех трех файлов для обновления ПО и конфигурации
}
При необходимости передавать уникальные файлы стартовой конфигурации каждому коммутатору можно задавать им имена, соответствующие мак-адресу коммутатора:
option bootfile-name = concat(binary-to-ascii(16, 8, "-", substring (hardware, 1, 6)), ".cfg");