VSA-атрибуты для DHCP опций
Начиная с версии СКАТ 7.4 для задания в Access-Accept практически любой DHCP-опции определены следующие VSA-атрибуты (vendor-id = 43823):
ATTRIBUTE VasExperts-DHCP-Option-IP 45 string # IPv4 option: "opt:192.168.6.90", for example: "42:192.168.6.90" ATTRIBUTE VasExperts-DHCP-Option-Num 46 string # Numeric option: "opt:1500", for example: "58:3600" ATTRIBUTE VasExperts-DHCP-Option-String 47 string # String option: "opt:text", for example: "56:Hello from DHCP!" ATTRIBUTE VasExperts-DHCP-Option-Bin 48 string # Binary option in hex form: "opt:xxxxxxxx", for example: "58:100E"
Все эти атрибуты имеют строковый тип и единый формат задания: "номер_DHCP_опции:строка-значение"
Полный список всех возможных DHCP-опций можно посмотреть на сайте iana.org
Также поддерживается задание значений BOOTP-полей File и SName через VSA-атрибуты:
ATTRIBUTE VasExperts-BOOTP-SName 43 string # BOOTP SName ATTRIBUTE VasExperts-BOOTP-File 44 string # BOOTP File
VasExperts-DHCP-Option-IP
Атрибут предназначен для задания IP-адреса. Например, DHCP opt42 (NTP Server Addresses) задается так:
&VasExperts-DHCP-Option-IP += "42:213.108.248.178"
Многие DHCP-опции могут содержать не один IP-адрес, а список IP-адресов, обычно в порядке предпочтения. Список IP-адресов для одной опции задаются множеством Radius-атрибутов - в каждом атрибуте один IP-адрес, например:
&VasExperts-DHCP-Option-IP += "42:213.108.248.178" &VasExperts-DHCP-Option-IP += "42:148.251.68.100"
задает список NTP-серверов (opt42) со значением "213.108.248.178, 148.251.68.100". Порядок перечисления атрибутов для одной и той же опции задает порядок в списке.
VasExperts-DHCP-Option-Num
Атрибут предназначен для задания числовых DHCP-опций. Поддерживаются int32, int16 и int8 опции.
СКАТ контролирует тип опции и в случае переполнения (overflow) значения не даст задать такую опцию и
выругается в fastpcrf-лог.
Примеры:
# opt35 (int32) - ARP Cache Timeout = 600 секунд &VasExperts-DHCP-Option-Num += "35:600" # opt22 (int16) - Max Datagram Reassembly Size &VasExperts-DHCP-Option-Num += "22:16000" # opt23 (int8) - Default IP Time to Live &VasExperts-DHCP-Option-Num += "23:64" # а на такое значение opt23 СКАТ выругается - переполнение int8 &VasExperts-DHCP-Option-Num += "23:1024" # opt19 (bool - 0 или 1) - Enable/Disable IP Forwarding &VasExperts-DHCP-Option-Num += "19:1"
VasExperts-DHCP-Option-String
Атрибут предназначен для задания строковых DHCP-опций.
Пример:
# opt15 - DNS domain name of the client &VasExperts-DHCP-Option-String += "15:example.com"
VasExperts-DHCP-Option-Bin
Атрибут предназначен для задания значения опции в виде hex-строки.
Используется для DHCP-опций, не подпадающих ни под одну из вышеперечисленных категорий.
Обычно так задаются vendor-specific DHCP-опции.
Каждый байт значения опции задается двумя hex-цифрами, поэтому длина hex-строки должна быть четной.
При задании следует учитывать, что все числовые значения должны задаваться в network byte order.
Пример:
# Задание IP-адреса 10.11.12.13 в виде hex-строки &VasExperts-DHCP-Option-Bin += "7:0a0b0c0d" # Задание bool-опции в виде hex-строки &VasExperts-DHCP-Option-Bin += "19:01" # Задание int16-опции в виде hex-строки (число 16000) &VasExperts-DHCP-Option-Bin += "22:3e80" # Задание int32-опции в виде hex-строки (число 600) &VasExperts-DHCP-Option-Bin += "35:00000258"