Řešení 1:
Zdá se, že problém souvisí s chybou, jak je uvedeno v komentáři. Nicméně pro ty, kteří mají stále potíže se získáním protokolování paketů odmítnutí firewallu, se mi osvědčil následující přístup:
Následující fungovalo s firewalld
+ rsyslogd
Upravit /etc/sysconfig/firewalld
a aktualizujte hodnotu pro LogDenied
až all
(nebo podle potřeby)
LogDenied=all
restartujte firewalld
sudo systemctl restart firewalld
Alternativně lze pomocí příkazového řádku provést následující příkaz:
sudo firewall-cmd --set-log-denied all
To obvykle přidává pravidla protokolování těsně před pravidla odmítnutí/vypuštění ve firewallu, něco jako:
LOG all -- anywhere anywhere LOG level warning prefix "IN_drop_DROP: "
LOG all -- anywhere anywhere LOG level warning prefix "FINAL_REJECT: "
Vytvořte soubor s názvem /etc/rsyslog.d/custom_iptables.conf
a přidejte k němu následující příkazy:
:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop
restartujte rsyslog
sudo systemctl restart rsyslog
Nyní budou zahozené a odmítnuté pakety zaznamenány do /var/log/iptables.log
Řešení 2:
Skvělá práce, pomohlo mi to jít správnou cestou, oceňuji tento příspěvek.
Jediná věc, kterou jsem si všiml, je, že se domnívám, že umístění pro LogDenied=all
by mělo být /etc/firewalld/firewalld.conf
od /etc/sysconfig/firewalld
je pro možnosti spouštění příkazového řádku. Navíc soubor pro rsyslog může být lépe pojmenován s .conf, někdy výchozí příkazy include nemusí hledat soubor .log.
Opravdu dobrá práce VanagaS!
ref:https://firewalld.org/documentation/man-pages/firewalld.conf.html