Автоматическое создание юнитов
Зачастую бывает проблематично или неудобно вручную создавать весь список юнитов для большой сети. Для решения этой проблемы в netams-3.1(2000.204) была введена функциональность
auto-units, или возможность автоматического создания юнитов при появлении IP-трафика на заданные адреса. Для этого необходимо:
- Необходимо создать специальную запись в конфигурации сервиса processor, с именем auto-units и уникальным номером, и описать ее поведение
- Создать юнит типа сеть (net) и указать параметр "auto-units N" для него.
- Опционально создать для каждого использующегося ip-адреса запись в обратной зоне DNS.
Например:
service processor
auto-units 1 type host naming by-dns
auto-units 2 type user naming prefix1 ip-
auto-units 3 type user naming prefix2 user_
unit net name OFFICE ip 192.168.0.0 mask 255.255.255.0 auto-units 1
unit net name CLIENTS ip 192.168.100.0 mask 255.255.255.0 auto-units 2
unit net name USERS ip 172.16.0.0 mask 255.255.0.0 auto-units 3
Допустим, что для подсети 192.168.0.0 у вас уже настроена обратная зона DNS (например, для работы DHCP, или через Dynamic DHS от Windows2000). В этом случае возможно обратное преобразование IP-адреса в FQDN, т.е. команда
host 192.168.0.123
выдает что-то вроде
pupkin.office.domain.ru
Допустим также, что у вас настроен и работает сервис
data-source, и трафик для подсетей 192.168.0 и 172.16 попадает через этот сервис в NeTAMS.
Что должно происходить, когда пакет с адресом DST=192.168.0.123 попадает на обработку. Если соответствующий сервис имеет тип ip-traffic, то, поскольку юнита для данного IP еще не существует, прохождение или блокировка этого пакета будет определяться значением параметра restrict сервиса processor, наличием no-local-pass, sys-policy, fw-policy на юнит OFFICE. Если сервис data-source не осуществляет фильтрацию, пакет проходит. В любом случае, из-за действия механизма потоков информация о трафике на IP-адрес 192.168.0.123 рано или поздно попадет на обработку s_datasource и связана с юнитом типа "сеть" с именем OFFICE. Если для него установлено значение параметра auto-units, то:
- Будет установлено, что адрес 192.168.0.123 принадлежит искомой сети 192.168.0.0/24
- Юнита с адресом 192.168.0.123 пока еще не существует, и его надо создать
- Поскольку для записи auto-units 1 установлен type==host, будет создан юнит типа host
- Для определения имени для этого юнита будет использован DNS (т.к. параметр naming==by-dns), который преобразует IP-адрес 192.168.0.123 в имя pupkin.office.domain.ru. В качестве имени будет выбрано "pupkin". На совести администратора обеспечить уникальность имен в подсети.
Если в качестве типа юнита установлено type==user, будет применен этот тип.
Если в качестве параметра присвоения имени (naming) указано prefix1 или prefix2, то для выбора имени будет использоваться указанная затем подстрока в сочетании с последним (prefix1) или двумя последними (prefix2) октетами рассматриваемого IP-адреса. Таким образом, для проходящих пакетов с адресами 192.168.100.123 и 172.16.0.23 будут созданы юниты:
unit user name ip-123 ip 192.168.100.123
unit user name user_0.23 ip 172.16.0.23
Учтите также, что процесс преобразования IP-адресов в имена хостов может занимать время, и основан на механизме, описанном в man resolver. Это может сказаться на времени реакции системы и производительности NeTAMS.
Автоматически созданные юниты будут расположены в конфигурационном файле "в памяти" и иметь уникальные автоматически присвоенные значения OID. Вы должны время от времени сохранять "растущий" конфигурационный файл на место, чтобы новые юниты и их статистика не потерялась. Эту операцию можно автоматизировать:
schedule time 1hour action save
После того как все IP-адреса "присвоены" новым юнитам, рекомендуется отключить описанный здесь механизм auto-units, путем удаления параметра auto-units с юнита типа "сеть":
service processor
unit net name OFFICE auto-units 0