LINUX.ORG.RU
ФорумAdmin

Suricata не правельно назначает марки

 , , , ,


2

1

Вот сенгтуры:

pass tcp any any -> any any (content: "TEST"; msg: "TEST was marked!"; nfq_set_mark:0x2/0xffffffff; sid:2455;)
pass tcp any any -> any any (content: "PASV"; msg: "TEST was marked!"; nfq_set_mark:0x3/0xffffffff; sid:2453;)

В iptables:

iptables -t mangle -A PREROUTING -m mark ! --mark 0x1/0x1 -j NFQUEUE --queue-num 0 --queue-bypass
iptables -t mangle -A PREROUTING -m mark --mark 0x2/0xfe
iptables -t mangle -A PREROUTING -m mark --mark 0x3/0xfe

Вот настройки nfq:

nfq:
  mode: repeat
# настройка маски для обработанных пакетов
  repeat-mark: 1
  repeat-mask: 1

Если смотреть правила, то почему-то срабатывает только и с 0x2, и с 0x3. Если попытаться сделать:

pass tcp any any -> any any (content: "TEST"; msg: "TEST was marked!"; nfq_set_mark:0x2/0x2; sid:2455;)
pass tcp any any -> any any (content: "PASV"; msg: "TEST was marked!"; nfq_set_mark:0x3/0x2; sid:2453;)
iptables -t mangle -A PREROUTING -m mark ! --mark 0x1/0x1 -j NFQUEUE --queue-num 0 --queue-bypass
iptables -t mangle -A PREROUTING -m mark --mark 0x2/0x2
iptables -t mangle -A PREROUTING -m mark --mark 0x3/0x3

Тоже самое. В чём ошибка?

cast vel, mky , Pinkbyte

★★★★★

Последнее исправление: ne-vlezay (всего исправлений: 2)

восклицалки убрать, и с айпивихи6 съехать..

anonymous
()
Ответ на: комментарий от ne-vlezay

Как используется маска и марка в nfq_set_mark ? (value & mask) | mark ? Или иначе?

iptables -t mangle -A PREROUTING -m mark --mark 0x2/0xfe
iptables -t mangle -A PREROUTING -m mark --mark 0x3/0xfe

0x2/0xfe будет срабатывать в двух случаях - если nfmark 2 или 3

0x3/0xfe IMHO никогда не сработает - nfmark & 0xfe никогда не будет равно трем

iptables -t mangle -A PREROUTING -m mark --mark 0x2/0x2
iptables -t mangle -A PREROUTING -m mark --mark 0x3/0x3

0x2/0x2 срабатывает для всех чисел с ненулевым первым битом.

0x3/0x3 для всех чисел у которых два младших бита ненулевые.

т.е. всё отличается!

vel ★★★★★
()
Ответ на: комментарий от vel

Итак, если вписывать в suricata марку вида:

 nfq_set_mark:0x2
То, suricata выводит ошибку.

Какой программай можно расчитать метки в netfilter

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

Какой программай можно расчитать метки в netfilter

ты про битовые операции типа AND и OR слышал что-нибудь ?

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.