Для регистрации трафика, заблокированного firewalld
, у меня сработал следующий подход с rsyslogd
:
Отредактируйте /etc/sysconfig/firewalld
и обновите значение для LogDenied
доall
(или при необходимости)
LogDenied=all
перезапустить брандмауэр
sudo systemctl restart firewalld
Это обычно добавляет правила ведения журнала непосредственно перед правилами отклонения/удаления в брандмауэре, что-то вроде:
LOG all -- anywhere anywhere LOG level warning prefix "IN_drop_DROP: "
LOG all -- anywhere anywhere LOG level warning prefix "FINAL_REJECT: "
Создайте файл с именем/etc/rsyslog.d/custom_iptables.conf
(note extension is.conf )и добавьте в него следующие операторы:
:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop
перезапустить rsyslog
sudo systemctl restart rsyslog
Теперь отброшенные и отклоненные пакеты будут регистрироваться в/var/log/iptables.log
[A-Z]*
равно нулю или более вхождений [A-Z]
. В ##2
нет вхождений [A-Z]
, поэтому строка совпадает. Вероятно, вам нужен один или несколько(\{1,\}
(или \+
с GNU grep
, или совместимый ), или +
с опцией -E
, включающей ERE ), или просто ##[A-Z]
, как если бы это соответствовало ##[A-Z]
, он также соответствует ##[A-Z]+
и наоборот -.
Также обратите внимание, что за исключением локали C
/ POSIX
, то, что соответствует [A-Z]
, не указано, а список символов (или даже, возможно, элементы сопоставления, состоящие из нескольких символов ), которым он соответствует, различается. с локалью и операционной системой. В системах GNU это, как правило, только символы латинского алфавита (, включая такие вещи, как Dž
или É
), часто только прописные, но иногда и строчные, включая английские буквы a -z (, как в Тайская локаль для Таиланда в Ubuntu 18.04 по крайней мере ). В некоторых системах, отличных от -GNU, таких как Solaris, вы получаете гораздо более экзотические списки. Для соответствия только ABCDEFGHIJKLMNOPQRSTUVWXYZ используйте [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
.