Где я могу найти файл журнала iptables и как я могу изменить его местоположение?

48

У меня есть это правило в моих iptables:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Мой вопрос:

Где находится файл журнала iptables и как я могу это изменить?

pylover
источник

Ответы:

62

Эти журналы генерируются ядром, поэтому они идут в файл , который получает журналы ядра: /var/log/kern.log.

Если вы хотите перенаправить эти журналы в другой файл, это невозможно сделать с помощью iptables. Это можно сделать в конфигурации программы, которая отправляет журналы: rsyslog. В правиле iptables добавьте префикс, который не используется ни одним другим журналом ядра:

iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '

В соответствии с примером, заданным пользователем 20-ufw.conf, создайте файл, /etc/rsyslog.d/my_iptables.confсодержащий

:msg,contains,"[netfilter] " /var/log/iptables.log
Жиль "ТАК - перестань быть злым"
источник
я не установил UFW, поэтому я не могу найти журналы в системном журнале, kern.log или iptables.log
pylover
3
@pylover UFW был просто примером. Я знаю, что у вас нет iptables.log, смысл моего ответа в том, чтобы показать вам, как его создать. У вас может не быть, /var/log/kern.logесли вы работаете с другой версией Ubuntu (я думаю, что последние версии больше не используют этот файл и /var/log/syslogвместо этого помещают журналы ядра ), но это не имеет значения. Да, но если вы используете старую версию Ubuntu, вам может потребоваться установить rsyslogпакет.
Жиль "ТАК - перестань быть злым"
Чтобы это работало 12.10, мне пришлось настроить файл rsyslog.d так, чтобы он имел следующий дополнительный символ: ": msg, содержит" [netfilter] "- / var / log / iptables.log"
Даниэль
2
еще одна вещь, мне нужно было назвать файл как 00-my_iptables.conf, иначе iptables все еще входил в kern.log
Валентин Кантор
2
Может быть, вы могли бы также упомянуть & stopкоманду. Таким образом вы избегаете дубликатов в kern.logфайле, дубликатов, которые могут помешать вам видеть другие важные журналы ядра.
Алексис Уилк
12

Я знаю, что слишком поздно, и ответ уже помечен как принятый. Я просто хочу дать новую информацию.

Файл журнала LOGдействия находится в /var/log/syslog(Ubuntu и аналогичных ОС) или /var/log/messages(CentOS и аналогичных ОС).

джокер
источник
5

Если вы не можете найти нужный файл, попробуйте выполнить следующее:

find /var/log -mmin 1

Это найдет любой файл, измененный за последние 1 минуту внутри /var/logи ниже. Вы можете узнать, что -j LOGможет обновлять не только один файл.

Например, в Ubuntu 18 /var/log/kern.logи /var/log/syslognetfilter регистрируются как и.

прости
источник