Отладка правил в Iptables [дубликат]

Как я могу узнать, сколько пакетов было отброшено моими правилами iptables ??

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

32
задан 28 September 2015 в 13:44
3 ответа

Другой метод отладки Ваших правил должен добавить идентичное правило к тому, которое Вы интересуетесь, но устанавливаете действие на то, чтобы быть:

-j LOG --log-prefix "rule description"

Каждый раз Ваши соответствия правила, Вы получите строку в системном журнале с большой полезной информацией о пакете.

16
ответ дан 28 November 2019 в 19:55
  • 1
    +1 согласованный..., например, it' s общее (и часто хороший) практика для входа некоторых или всех отброшенных пакетов. –  David Z 26 October 2009 в 08:49

Выполненный iptables -L -v (добавьте -t nat для правил NAT), и Вы будете видеть пакет и счетчики байта рядом с каждым из Ваших правил. Это покажет Вам, какое из Ваших правил было причиной конкретного пакета того, чтобы быть, принял/отклонил (какой бы ни увеличенный счетчик является причиной).

13
ответ дан 28 November 2019 в 19:55
  • 1
    Eventhough, если я перезапускаю машину, я могу все еще видеть пакет и счетчики байта не набор к 0. Цепочечный PREROUTING (политика ПРИНИМАЮТ 1 824 пакета, 312K байты), Как я могу сбросить эти значения к ПУСТОМУ УКАЗАТЕЛЮ при запуске?? –  codingfreak 26 October 2009 в 09:36
  • 2
    От iptables ( 8 ):-Z, - нулевой [цепочечный] Нуль пакет и байт противостоит во всех цепочках. –  womble♦ 26 October 2009 в 12:25

Если у Вас есть достаточно недавнее ядро и версия iptables, можно использовать цель ТРАССИРОВКИ (Кажется, встроен, по крайней мере, на Debian 5.0). Необходимо установить условия трассировки, чтобы быть максимально конкретными и отключить любые правила ТРАССИРОВКИ, когда Вы не отлаживаете, потому что она действительно извергает большую информацию к журналам.

ТРАССИРОВКА
Эта цель отмечает пакеты так, чтобы ядро зарегистрировало каждое правило, которые соответствуют пакетам, поскольку они пересекают таблицы, цепочки, правила. (ipt_LOG или ip6t_LOG модуль требуются для входа.) Пакеты зарегистрированы со строковым префиксом: "ТРАССИРОВКА: tablename:chainname:type:rulenum", где тип может быть "правилом" для простого правила, "возвратитесь" для неявного правила в конце определяемой пользователем цепочки и "политики" для политики созданного в цепочках. Это может только использоваться в необработанной таблице.

Если Вы добавили правила как это

iptables -t raw -A PREROUTING -p tcp --destination 192.168.0.0/24 --dport 80 -j TRACE
iptables -t raw -A OUTPUT -p tcp --destination 192.168.0.0/24 --dport 80 -j TRACE

Вы будете предоставлены выводом, который похож на это.

# cat /var/log/kern.log | grep 'TRACE:'
Mar 24 22:41:52 enterprise kernel: [885386.325658] TRACE: raw:PREROUTING:policy:2 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.12.152 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=80 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325689] TRACE: mangle:PREROUTING:policy:1 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.12.152 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=80 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325713] TRACE: nat:PREROUTING:rule:1 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.12.152 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=80 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: nat:nat.1:rule:1 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.12.152 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=80 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: mangle:INPUT:policy:1 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: filter:INPUT:rule:2 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: filter:in_world:rule:1 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: filter:in_world_all_c1:return:2 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: filter:in_world:rule:2 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Mar 24 22:41:52 enterprise kernel: [885386.325731] TRACE: filter:in_world_irc_c2:return:2 IN=eth0 OUT= MAC=00:1d:7d:aa:e3:4e:00:04:4b:05:b4:dc:08:00 SRC=192.168.32.18 DST=192.168.32.10 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=30561 DF PROTO=TCP SPT=53054 DPT=3128 SEQ=3653700382 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
31
ответ дан 28 November 2019 в 19:55

Теги

Похожие вопросы