Wie kann ich Firewall-Regeln und -Einstellungen über die Befehlszeile in Linux finden?

Wie kann ich Firewall-Regeln und -Einstellungen über die Befehlszeile in Linux finden?

Ich schreibe ein Skript, um alle Firewall-Details, Routing-Informationen und wichtige Netzwerkinformationen über die Befehlszeile zu finden. Die Firewall-Konfiguration kann ich mit abrufen iptables -nvL, aber beim Rest bin ich mir nicht sicher. Welche Befehle soll ich verwenden, um alles andere abzurufen?

Antwort1

Den Schnittstellenstatus können Sie wie folgt abrufen:

ifconfig

Oder noch besser: Verwenden Sie den Befehl „ip“, zum Beispiel:

ip addr

Um Routeninformationen zu erhalten, verwenden Sie eines dieser Verfahren:

route
route -n #no ptr resolving
ip route

Verwenden Sie für Firewall-Regeln:

iptables -L # you can add -n to prevent name resolving

Für IPv6 können Sie den „ip“-Befehlen „-6“ hinzufügen:

ip -6 addr
ip -6 route
...

Sie können auch „ethtool“ überprüfen, um den Verbindungsstatus und die Geschwindigkeit/Duplex abzurufen:

ethtool eth0 

Antwort2

routel

Listet viele Informationen auf, wenn auch in einer nicht wirklich lesbaren Form, aber es ist ein vollständiger Dump aller Routing-Tabellen des Hosts und bietet genügend Informationen, um die IP-Konfiguration auf dem Host wiederherzustellen. Diese Informationen sind nicht vollständig genug, um das Policy-Routing wiederherzustellen. Wenn Sie das verwenden, benötigen Sie auch ip rule. Als Beispiel für IPv4 (auch wenn IPv6 ebenfalls aufgeführt ist):

# list all interfaces addresses (unicast/broadcast/anycast)
routel | grep "local"
# list all (except ipv6 link-local) addresses of interfaces
routel | grep "local" | grep "host"
# list all broadcast addresses of interfaces
routel | grep "local" | grep "link"
# list all routing entries
routel | grep -v "local" | grep -v "unspec"
# list all on-link routing entries
routel | grep -v "local" | grep -v "unspec" | grep "link"
# list all on-link routing entries that are added by the kernel, 
# (which also matches the netmask of the IP addresses).
routel | grep -v "local" | grep -v "unspec" | grep "link" | grep "kernel"
# list non-on-link routes (aka gatewayed or routed)
routel | grep -v "local" | grep -v "unspec" | grep -v "link" 

Im Gegensatz zu ip routeoder den von 1999 routelistet Routel alle Routing-Tabellen auf, während die anderen nur die mainTabelle auflisten. Wenn jemand Policy-Routing verwendet, erhalten Sie bei der Verwendung keine Hinweise ip route, während Routel Ihnen den Namen der Routing-Tabellen buchstabiert.

Außerdem möchten Sie vielleicht die Sysctl-Knöpfe dumpen, um zu wissen, ob jemand Weiterleitung, ARP-Proxying oder andere abgefahrene Dinge aktiviert hat. Dumpen Sie einfachsysctl -a

Wenn Sie ausführlichere Flags oder Schnittstelleninformationen wünschen, geben Sie auch dump ein ip addr. Wirklich spezielle Konfigurationen benötigen möglicherweise mehr, wie ip linkoder ip tunnel.

Was die Firewall-Konfiguration betrifft, gibt es iptables-saveZähler iptables-save -c, falls Sie diese wünschen. Dadurch werden alle Tabellen aufgelistet (und nicht nur filterwie bei iptables -L oder iptables -S). Sie können sogar iptables-restoredie Ausgabe von iptables-save verwenden und die Konfiguration wiederherstellen.

Antwort3

Der Befehl zum Drucken vorhandener iptables-Regeln lautet wie folgt:

iptables -L

Antwort4

Sie können sehen, ob die CSF-Firewall installiert ist.

/etc/csf/csf.conf

verwandte Informationen