[Tip] iptables diff

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
heisenberg
Beiträge: 3542
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

[Tip] iptables diff

Beitrag von heisenberg » 29.11.2017 11:53:11

Wenn an den iptables-Regeln etwas verändert wurde möchte man manchmal klar sehen was.
Dieses kleine Script zeigt den Unterschied zwischen einer abgespeicherten Version von iptables-save
und den aktuellen Regeln an:

Code: Alles auswählen

#!/bin/bash

#       iptables-diff
#
#       compare saved iptables file with current active ipv4 rules
#
#       Usage:  iptables-diff [file-with-iptables-save-output]
#

readonly        IPT_SAVE=/sbin/iptables-save
readonly        IPT_FILE=/etc/iptables/rules.v4

export IPT_SAVE IPT_FILE

decomment()                     { grep -vE "^[[:space:]]*#"                     ; }
zero_counters()                 { sed -r -e 's/\[[0-9]+:[0-9]+\]/[0:0]/g'       ; }
filter_f2b()                    { grep -vE "(f2b|fail2ban)"                     ; }
filter()                        { decomment | zero_counters | filter_f2b        ; }
get_clean_iptables_dump()       { $IPT_SAVE | filter                            ; }
get_clean_ipt_dump_from_file()  { [ -f "$1" ] && filter <"$1"                   ; }

diff -Nru <(get_clean_ipt_dump_from_file "${1:-$IPT_FILE}") <(get_clean_iptables_dump) 
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Antworten