Большинство сетевых политик обрастает десятками правил, но какие из них реально срабатывают, а какие просто мертвый груз? Разберемся и составим набор команд.
1️⃣ Статистика хитов iptables.
iptables хранит счетчики прямо в правилах:
iptables -L INPUT -v -n
Поле
pkts/bytes - это наши хиты.Мини-скрипт для выборки топ-работающих правил:
iptables -L INPUT -v -n \
| awk '/ACCEPT|DROP/ {printf "%10s %s\n", $1, $0}' \
| sort -nr
Покажет самые горячие правила.
2️⃣ nftables: счетчики + export
nft list ruleset | grep -A1 'counter'
Bash-анализ:
nft list ruleset \
| awk '/counter/ {print $2, $3}' \
| sort -nr
3️⃣ Агрегация логов, какие действия реально происходят. Многие правила пишут в syslog (
LOG prefix "iptables-"). Вытащим статистику по префиксам:
grep "iptables-" /var/log/syslog \
| awk '{print $NF}' \
| sort | uniq -c | sort -nr
Покажет, что именно чаще всего логирует firewall.
4️⃣ Комбинированный отчет
echo "[HIT COUNTERS]"
iptables -L INPUT -v -n | awk '/ACCEPT|DROP/ {print $1, $0}' | sort -nr | head
echo "[LOG EVENTS]"
grep "iptables-" /var/log/syslog | awk '{print $NF}' \
| sort | uniq -c | sort -nr | head
Такой небольшой пакет дает:
топ реальных срабатываний правил,
статистику нагрузочных цепочек,
понимание, что стоит оптимизировать или удалить.
BashTex 📱 #bash #utils