Конфигурационный файл

В файле допустимы пустые строки. Весь остаток строки, идущий после символа # считается комментарием и игнорируется.

Синтаксис строк:

<слово> <значение>

Если пропущено значение или неправильно написано ключевое слово, демон выдаст при старте предупреждение, которое не попадёт в журнал. Ошибки в конфигурационном файле не приведут к сбою в старте демона, и ndsad запустится.

«Семьей» устройств называются сетевые устройства, отличающиеся только индексом. Например, в семью eth входят устройства: eth0, eth1, eth12 и т. д.

Значением параметра может быть одно неразрывное слово (кроме параметров heap и hash). Если имеется несколько значений параметра (например, нужно обрабатывать несколько устройств), то параметр должен задаваться несколько раз:

force rl0

force fxp0

Ключевые слова

ip

Адрес назначения. По этому адресу (и порту) будет происходить отсылка статистики по трафику. Значение по умолчанию: ip 127.0.0.1.

Пример: ip 10.0.0.1.

port

Порт назначения. См также ip. Значение по умолчанию: port 9996.

Пример: port 10001.

force

Указанные здесь устройства будут обрабатываться в любом случае. Кроме тех, которые не поддерживаются. Это ключевое слово имеет больший приоритет, чем ignore и dummy. В конце главы приведён список поддерживаемых устройств.

Пример: force eth0.

force_family

Указанная здесь семья устройств будет обрабатываться в любом случае. Кроме тех, которые не поддерживаются. Это ключевое слово имеет больший приоритет, чем ignore и dummy. В конце главы приведён список поддерживаемых устройств.

Пример: force_family ppp

nf_lifetime

Время жизни сессии в секундах. В случае если длительность сессии превышает указанное значение, то генерируется NetFlow запись с информацией о прокачанном трафике. После окончания сессии будет сгенерирована еще одна запись. Значение по умолчанию 1800 сек.

ignore

Строка указывает на то, что указанное устройство не будет обрабатываться. См. также ключевое слово force.

Пример: ignore eth0.

На платформе Win32 в опциях force и ignore вместо имён интерфейсов возможно задание любого из IP-адресов, на которые это устройство настроено.

Пример для платформы Win32:

force \Device\NPF_{A07050FE-62B3-40AF-B6D2-658701A56089}

ignore 192.168.1.1

force 192.168.0.1

dummy

Строка указывает на то, что все устройства из этой семьи не будут обрабатываться. См. также force. Указание в качестве семьи ключевого слова all приведёт к тому, что все устройства, не помеченные, как force, будут игнорироваться.

Пример: dummy eth.

promisc

Строка указывает на то, что устройство должно быть помещено в режим прослушивания всех пакетов, проходящих по сети. Отсутствие этой строки не гарантирует, что устройство не будет находиться этом режиме.

Пример: promisc ex0.

filter

Фильтр для ограничения количества обрабатываемых пакетов. Формат фильтра аналогичен формату фильтров для tcpdump (man tcpdump).

Пример: filter fxp0 not port 135

Пример: filter fxp0 net 10.0.0.0/24 and not port 135

hash

Размер хеша для семьи устройств. Это значение должно быть степенью двойки. Иначе использование памяти будет очень неэффективным. Значение по умолчанию: hash all 128.

Пример: hash lo 64.

heap

Размер буфера хранения. Такой максимальный объём памяти в байтах может быть занят, но не обязательно использован. В случае необходимости память берётся из этой кучи, а не у системы. Разумные размеры увеличивают быстродействие. Значение по умолчанию: heap 16384.

Пример: heap 65536.

dump

Насколько часто будет происходить запись информации о загрузке разных частей демона в журнал. Измеряется в секундах. Указание значения 0 приведёт к тому, что записи не будут происходить. Статистику можно получить, послав программе сигнал SIGHUP. Значение по умолчанию: dump 0.

Пример: dump 5.

log

Файл, в который будет записываться журнал работы демона. Если значение не указано, то будет использован stderr (стандартный вывод для ошибок, обычно прямо на терминал). Значение по умолчанию: /netup/utm5/log/ndsad.log.

Пример: log /var/log/ndsad.log.

config

Изменить конфигурационный файл. Текущий файл после такой директивы не используется. Проверок на циклы нет, поэтому неправильное указание следующего файла может привести к тому, что программа зависнет. Значение по умолчанию: config /netup/utm/ndsad.cfg.

Пример: config /usr/local/etc/ndsad.cfg.

Список поддерживаемых семей устройств

Для ОС семейства BSD: vlan, bfe, tun, ng, nv, lo, dc, fxp, pcn, rl, sf, sis, ste, tl, tx, vr, wb, xl, de, txp, vx, bge, em, gx, lge, nge, sk, ti, wx, cx, ed, el, ep, ie, is, le, ex, lnc, my, wi, an.

Для ОС семейства Linux: lo, eth, ppp.

На платформе Win32 в стандартной поставке поддерживаются только устройства Ethernet, которые объединены в семейство eth.

При необходимости обсчитывать VPN-соединения необходимо скачать и установить более новую версию пакета Winpcap (http://winpcap.polito.it). На данный момент в версии 3.1beta3 присутствует экспериментальная поддержка PPP-интерфейсов.