Как проверить iptables?

Рейтинг: 1Ответов: 1Опубликовано: 07.04.2023

У меня в iptables есть такое правило:

root@72db6c4e8b15:/# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  0.0.0.0/0            0.0.0.0/0

которое по замыслу должно дискардить весть входящий трафик. Как мне это проверить? tcpdump и tshark, на сколько я понимаю, ловят пакеты до применения iptables, соответственно я их увижу.

Я понимаю что это правило я могу пигом проверить, но мне нужно проверять более сложные правила, это только как пример.

Ответы

▲ 1Принят

Добавьте логирующее правило после вашего запрещающего

-A INPUT -j LOG

Если какой-либо из пакетов до него дойдет, то во-первых, будет расти счетчик пакетов

$ sudo /sbin/iptables-save -c
# Generated by iptables-save v1.8.7 on Fri Apr  7 18:47:25 2023
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2274:315028]
...
[87:20892] -A INPUT -j DROP
[0:0] -A INPUT -j LOG
# ^ вот здесь
$ sudo /sbin/iptables -L -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
...
   87 20892 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4
#   ^ или здесь

А во-вторых, этот пакет будет залогирован, а на лог можно будет посмотреть, например, с помощью /bin/dmesg