Назад | Перейти на главную страницу

iptables не распознает --log-prefix

У меня возникают проблемы с записью iptables в журнал. Вот соответствующие команды:

/usr/sbin/iptables -N LOG_DROP
/usr/sbin/iptables -A LOG_DROP -m limit --limit 2/min -j LOG --log-prefix "iptables drop: " --log-level 7
/usr/sbin/iptables -A LOG_DROP -j DROP

Ввод этих команд приводит к:

iptables v1.4.21: неизвестная опция "--log-prefix"

Я считаю, что следующие модули важны, поэтому они активны в моем ядре:

`nf_log_common
 nf_log_ipv4
 nf_log_ipv6`

Есть предложения по решению этой проблемы?

В Centos 7 вы можете использовать следующие команды

iptables -N SIPDOS

mkdir -p /var/log/firewall/

touch /var/log/firewall/iptables.log

chmod 600 /var/log/firewall/iptables.log

chown root:adm /var/log/firewall/iptables.log

touch /etc/rsyslog.d/firewall.conf

echo -e ":msg, contains, «iptables: » -/var/log/firewall/iptables.log\n& ~ " >>/etc/rsyslog.d/firewall.conf

touch /etc/logrotate.d/firewall

echo -e "/var/log/firewall/iptables.log\n{\nrotate 7\ndaily\nsize 10M\ndateext\nmissingok\ncreate 600 root adm\nnotifempty\ncompress\ndelaycompress\npostrotate\ninvoke-rc.d rsyslog reload > /dev/null\nendscript\n} " >>/etc/logrotate.d/firewall

service rsyslog restart

iptables -A SIPDOS -j LOG --log-prefix "firewall-sipdos:" --log-level 6

Мне пришлось запускать все команды с правами root (sudo). Очевидно, команда iptables, выполняемая пользователем, не знала о канале, созданном пользователем root.

Вы пропустили модуль ядра:

modprobe nfnetlink_log