Linux:- Перед правилом блокировки нужно вставить "log" правило:
iptables -A FORWARD -p tcp -m tcp -s 192.168.0.0/16 --dport 25 \
-j LOG --log-level debug --log-prefix "outgoing mail"
iptables -A FORWARD -p tcp -m tcp -s 192.168.0.0/16 --dport 25 -j DROP- Проверить запущены ли в системе klogd и syslogd.
- Настроить /etc/syslog.conf на прием kern.debug логов:
kern.=debug -/var/log/kernel/infoFreeBSD:
Добавить ключ log в ipfw, например:
ipfw add 1000 deny log tcp from any to 192.168.10.10 22 via fxp0
ipfw add 1000 deny log logamount 0 tcp from any to 192.168.10.10 80 via fxp0Для ведения логов ядро должно быть собрано с IPFIREWALL_VERBOSE или нужно выставить "sysctl -w net.inet.ip.fw.verbose=1".
Далее проверить чтобы в /etc/syslog.conf было упоминание LOG_SECURITY:
security.* /var/log/securityЧерез параметр logamount передается число записей которые будет записано в лог,
после превышения записи перестанут появляться в логе, до тех пор пока не будет вызвана команда
"ipfw resetlog". Максимальное число сообщений можно также установить
через sysctl net.inet.ip.fw.verbose_limit.
Для отмены лимитирования на число записей, нужно установить атрибут в 0.
URL:
Обсуждается: http://www.opennet.me/tips/info/951.shtml
а как это сделать с PF?
Гы man pf.conf все очень просто и подробно расписано :)
По поводу iptables - лучше так:iptables -A FORWARD -p tcp -m tcp -s 192.168.0.0/16 --dport 25 -m limit --limit 3/minute -j LOG --log-level debug --log-prefix "outgoing mail"
Иначе логи при интенсивном трафике, особенно из внешней сети, будут расти катастрофически быстро, что чревато заполнением файловой системы и отказом в обслуживании.
А для правил для внутренней сетки, как в этом конкретном случае, пойдет.
Есть небольшой вопрос.При использовании действия LOG (--log-level debug, прошу заметить) лог блокировок начинает флудиться в активную консоль (tty). Причем начинается это не сразу а после нескольких суток работы без перезагрузки.
/etc/syslog.conf проверял, вроде ничего подозрительного. Пробовал комментить строку с emerg и даже заменять * на /dev/null (потом естественно killall -SIGHUP syslogd). Не помогает. Видимо лог-левел все-таки определяется правильно. Только по-прежнему непонятно что он делает в моей консоли.
Ось Mandriva 2008 (kernel 2.6.22.9-desktop-1mdv).