readme: UDP stream notes

This commit is contained in:
bol-van 2022-01-29 17:41:42 +03:00
parent f05195f202
commit b10e5fb0c1
2 changed files with 10 additions and 4 deletions

View File

@ -323,6 +323,9 @@ It can be fed with unidirectional or bidirectional packets.
A SYN or SYN,ACK packet creates an entry in the conntrack table.
First seen UDP packet creates UDP stream. It defines the stream direction. Then all packets with the same
src_ip,src_port,dst_ip,dst_port are considered to belong to the same UDP stream. UDP stream exists till timeout.
That's why iptables redirection must start with the first packet although can be cut later using connbytes filter.
A connection is deleted from the table as soon as it's no more required to satisfy nfqws needs or when a timeout happens.

View File

@ -368,11 +368,14 @@ CONNTRACK
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack).
Он включается для реализации некоторых методов противодействия DPI.
На текущий момент это параметры --wssize и --dpi-desync-cutoff.
conntrack способен следить за фазой соединения : SYN,ESTABLISHED,FIN , количеством пакетов в каждую сторону, sequence numbers.
conntrack способен "кормиться" пакетами в обе или только в одну сторону.
conntrack способен следить за фазой соединения : SYN,ESTABLISHED,FIN , количеством пакетов в каждую сторону,
sequence numbers. conntrack способен "кормиться" пакетами в обе или только в одну сторону.
Соединение попадает в таблицу при обнаружении пакетов с выставленными флагами SYN или SYN,ACK.
Поэтому если необходим conntrack, в правилах перенаправления iptables соединение должно идти на nfqws с самого первого пакета,
хотя затем может обрываться по фильтру connbytes.
Для UDP инициатором попадания в таблицу является первый UDP пакет. Он же и определяет направление потока.
Считается, что первый UDP пакет исходит от клиента к серверу. Далее все пакеты с совпадающими
src_ip,src_port,dst_ip,dst_port считаются принадлежащими этому потоку до истечения времени неактивности.
Поэтому если необходим conntrack, в правилах перенаправления iptables соединение должно идти на nfqws с самого первого
пакета, хотя затем может обрываться по фильтру connbytes.
conntrack - простенький, он не писался с учетом всевозможных атак на соединение, он не проверяет
пакеты на валидность sequence numbers или чексумму. Его задача - лишь обслуживание нужд nfqws, он обычно
кормится только исходящим трафиком, потому нечувствителен к подменам со стороны внешней сети.