it-swarm.it

C'è un modo per trovare quale regola iptables è stata responsabile del rilascio di un pacchetto?

Ho un sistema fornito con un firewall già in atto. Il firewall è costituito da oltre 1000 regole di iptables. Una di queste regole consiste nel far cadere pacchetti che non voglio far cadere. (Lo so perché ho fatto iptables-save seguito da iptables -F e l'applicazione ha iniziato a funzionare.) Esistono troppe regole per ordinare manualmente. Posso fare qualcosa per mostrarmi quale regola sta facendo cadere i pacchetti?

35
Shawn J. Goff

È possibile aggiungere una regola TRACE all'inizio della catena per registrare ogni regola attraversata dal pacchetto.

Vorrei prendere in considerazione l'utilizzo di iptables -L -v -n | less per permetterti di cercare le regole. Vorrei guardare porto; indirizzo; e regole di interfaccia applicabili. Dato che hai così tante regole, probabilmente stai eseguendo un firewall per lo più chiuso e manca una regola di autorizzazione per il traffico.

Come viene costruito il firewall? Potrebbe essere più semplice guardare le regole del builder che le regole costruite.

21
BillThor

Da iptables -L -v -n ha dei contatori che puoi fare come segue.

iptables -L -v -n > Sample1
#Cause the packet that you suspect is being dropped by iptables
iptables -L -v -n > Sample2
diff Sample1 Sample2

In questo modo vedrai solo le regole incrementate.

15
Kyle Brandt

Correre iptables -L -v -n per vedere i contatori di pacchetti e byte per ogni tabella e per ogni regola.

14
ninjalj

Nella mia azienda utilizziamo watch -n 2 -d iptables -nvL, mostra i cambiamenti tra le richieste

9
Marcelo Salazar
watch -n1 -d "iptables -vnxL | grep -v -e pkts -e Chain | sort -nk1 | tac | column -t"

Tieni presente che questo mostrerà solo elementi per la tabella filtro.

Inserisci -t nat (o qualunque tabella usi oltre al filtro) per la tua chiamata iptables, per controllare le regole lì.

5
sjas