Ник Пост Дата
0ka(0ka)

нужно заблокировать QUIC на роутере, но при этом оставить udp port 443 рабочим для других протоколов, пока ничего лучше
iptables -A FORWARD -p udp --dport 443 -m string --hex-string "|0000000108|" --algo kmp -j REJECT
не придумал

решено: Iptables QUIC filter - #9 by ValdikSS

2024-10-07T03:26:20.022Z
bolvan

по любому придется использовать ту или иную форму payload expressions
в iptables лучше u32, тк string ищет по всему пакету
надо сечь quic initial
там в лонг хедере характерный маркер с версией 1
и можно ограничить по ctstate new
тк инитиалы идут в начале
и если их дропать, коннтрак запись не создастся
тут надо это тщательней проверить
может рубить на раннем хуке, чтобы это было так

так можно сделать фильтр не жрущим проц

2024-10-07T05:22:17.131Z
Tyman

если не секрет, для чего хотите заблокировать? не для того, чтобы приложения ютуба не использовали QUIC через ру хостинги?

2024-10-07T11:26:03.209Z
zzr

может он на ркн работат :sweat_smile:

2024-10-07T14:58:45.216Z
0ka(0ka)

QUIC через TCP vpn/proxy работает медленно

2024-10-07T15:24:38.053Z
Tyman

А не проверял, если QUIC заблокировать, оф приложение ютуба будет пробовать подключаться без его использования или нет?

2024-10-07T17:41:24.737Z
0ka(0ka)

если заблокировать QUIC то будет подключаться по TCP

2024-10-07T18:49:41.888Z
Tyman

спасибо, если поймешь как заблокировать то напиши

2024-10-07T19:09:36.996Z
ValdikSS

Нужно использовать u32.

В GoodbyeDPI это делается так:

#define FILTER_PASSIVE_BLOCK_QUIC "outbound and !impostor and !loopback and udp " \
        "and udp.DstPort == 443 and udp.PayloadLength >= 1200 " \
        "and udp.Payload[0] >= 0xC0 and udp.Payload32[1b] == 0x01"

Соответственно u32 будет примерно такой:

iptables -A FORWARD -p udp --dport 443 -m connbytes --connbytes 0:20 --connbytes-dir original --connbytes-mode packets -m u32 --u32 '25 & 0xF0 = 0xC0 && 29 = 0x00000001' -j DROP
ip6tables -A FORWARD -p udp --dport 443 -m connbytes --connbytes 0:20 --connbytes-dir original --connbytes-mode packets -m u32 --u32 '45 & 0xF0 = 0xC0 && 49 = 0x00000001' -j DROP
2024-10-08T20:42:39.418Z