VSA-атрибуты для DHCP опций [Документация VAS Experts]

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"