2 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"