Функция IP-учета позволяет ядру собирать и анализировать информацию об использовании сети. Ядро собирает данные о количестве пакетов и количестве байт, переданных по сети с момента последнего сброса этих данных. Вы можете задать различные правила для того, чтобы классифицировать эти данные. В ядре версии 2.1.102 эта возможность была временно изъята, так как старая программа настройки файрволла ipfwadm, которая используется и для настройки IP-учета, была заменена на ``ipfwchains''.
Опции компиляции ядра:
Networking options --->
[*] IP: accounting
После того, как Вы откомпилировали и установили ядро с поддержкой IP-учета, используйте программу ipfwadm для его настройки. Вам может потребоваться разбивать учетную информацию по многим признакам. Ниже приведен простой, но достаточно полезный пример, за более детальной информацией обратитесь к man-странице программы ipfwadm.
Сценарий: У Вас есть ethernet-сеть, подключенная к интернету через PPP-соединение. На одной из машин в сети запущено большое количество сервисов и Вы хотели бы знать какой объем данных передается сервисами telnet, rlogin, ftp и http.
Вы можете использовать следующий скрипт:
#!/bin/sh # # Сброс правил учета ipfwadm -A -f # # Правила для локальной сети ipfwadm -A in -a -P tcp -D 44.136.8.96/29 20 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 20 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 23 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 23 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 80 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 80 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 513 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 513 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 ipfwadm -A out -a -P tcp -D 44.136.8.96/29 ipfwadm -A in -a -P udp -D 44.136.8.96/29 ipfwadm -A out -a -P udp -D 44.136.8.96/29 ipfwadm -A in -a -P icmp -D 44.136.8.96/29 ipfwadm -A out -a -P icmp -D 44.136.8.96/29 # # Правила по умолчанию ipfwadm -A in -a -P tcp -D 0/0 20 ipfwadm -A out -a -P tcp -S 0/0 20 ipfwadm -A in -a -P tcp -D 0/0 23 ipfwadm -A out -a -P tcp -S 0/0 23 ipfwadm -A in -a -P tcp -D 0/0 80 ipfwadm -A out -a -P tcp -S 0/0 80 ipfwadm -A in -a -P tcp -D 0/0 513 ipfwadm -A out -a -P tcp -S 0/0 513 ipfwadm -A in -a -P tcp -D 0/0 ipfwadm -A out -a -P tcp -D 0/0 ipfwadm -A in -a -P udp -D 0/0 ipfwadm -A out -a -P udp -D 0/0 ipfwadm -A in -a -P icmp -D 0/0 ipfwadm -A out -a -P icmp -D 0/0 # # Распечатать список правил ipfwadm -A -l -n #