it-swarm-eu.dev

Existuje způsob, jak zjistit, které pravidlo iptables bylo zodpovědné za vyřazení paketu?

Mám systém, který je dodáván s firewallem již na místě. Firewall obsahuje více než 1000 pravidel iptables. Jedním z těchto pravidel je vyřazování paketů, které nechci vyhodit. (Vím to, protože jsem to udělal iptables-save následován iptables -F a aplikace začala fungovat.) Existuje příliš mnoho pravidel, která je možné třídit ručně. Mohu něco udělat, abych ukázal, které pravidlo vyhodí pakety?

35
Shawn J. Goff

Mohli byste přidat pravidlo TRACE na začátku řetězce a zaznamenat každé pravidlo, které paket prochází.

Zvážil bych použití iptables -L -v -n | less vám umožní prohledávat pravidla. Vypadal bych port; adresa; a platná pravidla rozhraní. Vzhledem k tomu, že máte tolik pravidel, pravděpodobně provozujete většinou uzavřený firewall a chybí mu pravidlo povolení provozu.

Jak je postaven firewall? Může být snazší podívat se na pravidla tvůrce než na zabudovaná pravidla.

21
BillThor

Od té doby iptables -L -v -n obsahuje čítače, které byste mohli udělat následovně.

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

Tímto způsobem uvidíte pouze pravidla, která se zvýšila.

15
Kyle Brandt

Spustit iptables -L -v -n pro zobrazení čítačů paketů a bajtů pro každou tabulku a pro každé pravidlo.

14
ninjalj

V mé společnosti používáme watch -n 2 -d iptables -nvL, ukazuje změny mezi požadavky

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

Nezapomeňte, že se zobrazí pouze položky pro tabulku filtr.

Přidat -t nat (nebo kteroukoli tabulku, kterou používáte kromě filtru) k volání iptables, abyste zkontrolovali pravidla tam.

5
sjas