π§― Π€ΠΈΠ»ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ Π² Zapret 2
Π ΡΡΠΌ Π·Π°ΠΌΠ΅ΡΠΊΠ°
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ Π² Zapret 2, ΠΊΠ°ΠΊ ΠΏΠΎ Π½ΠΈΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ: ΠΏΠΎ Π²Π΅ΡΡΠΈΠΈ IP, ΠΏΠΎΡΡΠ°ΠΌ, ICMP, Π½ΠΎΠΌΠ΅ΡΡ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, L7-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, ΡΠΏΠΈΡΠΊΠ°ΠΌ IP/Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠ΅
dir/payload. ΠΠ΅ ΠΏΡΡΠ°ΡΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ Π·Π°Ρ Π²Π°ΡΠ° nftables β ΡΠ΅ ΡΠ΅ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π²nfqws2, Π° ΡΡΠΈ β ΡΡΠΎ Ρ Π½ΠΈΠΌ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΠ΄Π΅ Π²ΡΠ±ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΡΠΎΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅, ΡΠΌ. ΡΡ Π΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊΠ°.
TL;DR
- ΠΡΠΎΡΠΈΠ»Ρ = Π½Π°Π±ΠΎΡ ΡΠΈΠ»ΡΡΡΠΎΠ² (ΠΊΠΎΠΌΡ ΠΎΠ½ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½) + Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (
--lua-desync). ΠΡΠΎΡΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ--new. - ΠΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΡΠΌ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·; ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ² Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ, ΠΏΠΎΠΈΡΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠ΅ ΠΏΠΎΠ΄ΠΎΡΡΠ» Π½ΠΈΠΊΡΠΎ β Π±Π΅ΡΡΡΡΡ ΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
no_action(Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ; ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β exclusions). - ΠΠ½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ Π²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π (ΠΏΠ°ΠΊΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΉΡΠΈ Π²ΡΠ΅).
- Π€ΠΈΠ»ΡΡΡΡ:
--filter-l3(Π²Π΅ΡΡΠΈΡ IP),--filter-tcp/--filter-udp(ΠΏΠΎΡΡΡ),--filter-icmp(ΡΠΈΠΏ/ΠΊΠΎΠ΄),--filter-ipp(Π½ΠΎΠΌΠ΅Ρ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°),--filter-l7(ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΡΠΎΠΊΠ°), ΠΏΠ»ΡΡ ΡΠΏΠΈΡΠΊΠΈ ipset ΠΈ hostlist. - ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π°
~ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ»ΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΡΠΎΡΠΈΠ»Ρ Π² Zapret 2 ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ
ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½: ΡΠΈΠ»ΡΡΡΡ β ΠΊΠΎΠΌΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½, ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (--lua-desync-ΠΈΠ½ΡΡΠ°Π½ΡΡ) β ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠ΄ΠΎΡΠ΅Π΄ΡΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π€ΠΈΠ»ΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ β ΠΌΠΎΠΉ?Β».
ΠΡΠΎ Π½Π΅ ΡΠΈΠ»ΡΡΡΡ Π·Π°Ρ Π²Π°ΡΠ° WinDivert/nftables
ΠΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠ²Π½Ρ ΠΎΡΠ±ΠΎΡΠ°. Π‘Π½Π°ΡΠ°Π»Π° ΡΠΈΠ»ΡΡΡ Π·Π°Ρ Π²Π°ΡΠ° (
--wf-*Π½Π° Windows, ΠΏΡΠ°Π²ΠΈΠ»Π° nftables/iptables Π½Π° Linux) ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Β«Π·Π°Π²Π΅ΡΠ½ΡΡΡΒ» ΠΈΠ· ΡΠ΄ΡΠ° Π²nfqws2β ΡΡΠΎ Π³ΡΡΠ±ΠΎΠ΅ ΡΠΈΡΠΎ ΡΠ°Π΄ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ. Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΡΠΈΠ»ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ (ΡΡΠ° Π·Π°ΠΌΠ΅ΡΠΊΠ°) Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΆΠ΅ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ. ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ ΠΏΡΠΎΡΡΠ» ΡΠΈΠ»ΡΡΡ Π·Π°Ρ Π²Π°ΡΠ°, Π΄ΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΎΠ½ Π΄Π°ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠΉΠ΄ΡΡ.
ΠΠ°ΠΊ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΡΠΎΡΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ --new. ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»Π΅Π½:
- ΠΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΡΠΌ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·, ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ.
- ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΆΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ, ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ.
- ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΎΡΡΠ» Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠΈΠ»Ρ β ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
no_action(ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 0): Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ°ΠΌ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅, Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Π½ΡΠΌ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π½ΡΠΌ β Π² Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ).
ΠΠ½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π: ΠΏΠ°ΠΊΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΠΈΡ
Π²ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, --filter-tcp=443 ΠΈ --filter-l7=tls). Π Π²ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ° β ΡΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΠΠ (--filter-tcp=80,443 β ΠΏΠΎΡΡ 80 ΠΈΠ»ΠΈ 443).
ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΡΡΠΈΡΡΠ΅ΡΡΡ
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ Π·Π°Π½ΠΎΠ²ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ,
nfqws2Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π²ΡΠ±ΠΎΡ Π² Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° (conntrack). ΠΠ΅ΡΠ΅ΡΠΌΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄Π²Π°ΠΆΠ΄Ρ Π·Π° ΠΏΠΎΡΠΎΠΊ β ΠΏΡΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠΈ L7-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΠΎΡΡΠ° (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β ΡΡ Π΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊΠ°).
Π€ΠΈΠ»ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΠΈΠΆΠ΅ β Π²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡ (~ ΠΏΠ΅ΡΠ΅Π΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ β Β«Π²ΡΡ, ΠΊΡΠΎΠΌΠ΅Β»), Π° * ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π»ΡΠ±ΠΎΠ΅Β».
| Π€ΠΈΠ»ΡΡΡ | Π§ΡΠΎ ΠΎΡΠ±ΠΈΡΠ°Π΅Ρ | Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ |
|---|---|---|
--filter-l3 | Π²Π΅ΡΡΠΈΡ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° | ipv4 ΠΈΠ»ΠΈ ipv6 (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π° ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ) |
--filter-tcp | ΠΏΠΎΡΡΡ TCP | [~]port[-port] ΠΈΠ»ΠΈ *, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ |
--filter-udp | ΠΏΠΎΡΡΡ UDP | [~]port[-port] ΠΈΠ»ΠΈ *, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ |
--filter-icmp | ΡΠΈΠΏ ΠΈ ΠΊΠΎΠ΄ ICMP | type[:code] ΠΈΠ»ΠΈ *, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ |
--filter-ipp | Π½ΠΎΠΌΠ΅Ρ Β«ΡΡΡΠΎΠ³ΠΎΒ» IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° | proto ΠΈΠ»ΠΈ *, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ |
--filter-l7 | ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΡΠΎΠΊΠ° (L6/L7) | proto[,proto,β¦] |
--filter-ssid | ΠΈΠΌΡ Wi-Fi-ΡΠ΅ΡΠΈ (Π½Π΅ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ ) | ssid[,ssid,β¦] |
--filter-l3 β Π²Π΅ΡΡΠΈΡ IP
ΠΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΈ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°.
--filter-l3=ipv4 # ΡΠΎΠ»ΡΠΊΠΎ IPv4
--filter-l3=ipv6 # ΡΠΎΠ»ΡΠΊΠΎ IPv6
--filter-l3=ipv4,ipv6 # ΠΎΠ±Π° (ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Β«Π½Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΈΒ»)--filter-tcp ΠΈ --filter-udp β ΠΏΠΎΡΡΡ
ΠΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠΎ TCP- ΠΈΠ»ΠΈ UDP-ΠΏΠΎΡΡΠ°ΠΌ. Π€ΠΈΠ»ΡΡΡΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, ΠΈ ΠΏΠΎΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ: ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΠΏΠΎΡΡ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ port1-port2, ΠΈΠ½Π²Π΅ΡΡΠΈΡ ~port, ΠΈ * (Π²ΡΠ΅ ΠΏΠΎΡΡΡ). ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ β ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ.
--filter-tcp=80,443 # ΠΏΠΎΡΡ 80 ΠΈΠ»ΠΈ 443
--filter-tcp=1000-2000 # Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 1000β2000
--filter-tcp=~443 # Π²ΡΠ΅ TCP-ΠΏΠΎΡΡΡ, ΠΠ ΠΠΠ 443
--filter-tcp=* # Π²ΡΠ΅ TCP-ΠΏΠΎΡΡΡ
--filter-udp=443 # QUIC (UDP/443)Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ TCP ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ UDP (ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ)
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ Π·Π°Π΄Π°Π½
--filter-tcp, Π½ΠΎ Π½Π΅Ρ--filter-udp, ΡΠΎ UDP ΡΡΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ²ΡΠ΅ (ΠΈ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ). Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°ΠΌΠΈ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΠ±Π° ΡΠΈΠ»ΡΡΡΠ° (ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Ρ*).
--filter-icmp β ΡΠΈΠΏ ΠΈ ΠΊΠΎΠ΄ ICMP
ΠΡΠ±ΠΈΡΠ°Π΅Ρ ICMP-ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ ΠΈ, ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ΄Ρ: ΡΠΎΡΠΌΠ°Ρ type[:code]. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ β ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ β ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, * β Π»ΡΠ±ΠΎΠΉ ICMP.
--filter-icmp=3 # ICMP type 3 (destination unreachable), Π»ΡΠ±ΠΎΠΉ code
--filter-icmp=3:4,11 # type 3 code 4, ΠΈΠ»ΠΈ type 11 (Π»ΡΠ±ΠΎΠΉ code)
--filter-icmp=* # Π»ΡΠ±ΠΎΠΉ ICMP--filter-ipp β Π½ΠΎΠΌΠ΅Ρ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° (raw IP)
ΠΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΡ IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π΄Π»Ρ Β«ΡΡΡΡΡ
Β» ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ TCP/UDP/ICMP (ΡΠΌ. ΠΏΡΠΎ raw IP Π² ΡΡΡΡΠΊΡΡΡΠ° desync ΠΈ Π΄ΠΈΡΡΠ΅ΠΊΡΠ°). ΠΠ½Π°ΡΠ΅Π½ΠΈΡ β Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΈΠ»ΠΈ *.
--filter-ipp=47 # GRE (ΠΏΡΠΎΡΠΎΠΊΠΎΠ» 47)
--filter-ipp=50,51 # ESP ΠΈ AH (IPsec)
--filter-ipp=* # Π»ΡΠ±ΠΎΠΉ raw IP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»--filter-l7 β ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΡΠΎΠΊΠ°
ΠΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΡΠΎΠΊΠ° β ΡΡΠ»ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ nfqws2 Π²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π² Π΅Π³ΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ½ΠΎ (http, tls, quic, wireguard, mtproto, dns, stun, discord, dht, xmpp, dtls, bt, utp_bt). ΠΠ»ΡΡ ΡΠΏΠ΅ΡΠ·Π½Π°ΡΠ΅Π½ΠΈΡ: all β Π»ΡΠ±ΠΎΠΉ, known β Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ (Π½Π΅ empty/unknown), unknown β Π½Π΅ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ.
--filter-l7=tls # ΡΠΎΠ»ΡΠΊΠΎ TLS/HTTPS
--filter-l7=tls,http # TLS ΠΈΠ»ΠΈ HTTP
--filter-l7=quic # ΡΠΎΠ»ΡΠΊΠΎ QUIC (HTTP/3)
--filter-l7=known # Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΡΠΎΠΊΠ° vs ΡΠΈΠΏ payload
--filter-l7ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π½Π° ΡΠΈΠΏ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Β«ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ°Β» ΠΈ Β«ΡΠΈΠΏΠΎΠΌ payload ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Β», ΠΏΠΎΠ»Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΎΡΠΎΠ±ΡΠ΅ ICMP-ΡΠΈΠΏΡ (ipv4/ipv6/icmp) ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π² payload β ΡΡΠΎΠ±Ρ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ, Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡ.
--filter-ssid β Wi-Fi-ΡΠ΅ΡΡ
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Wi-Fi-ΡΠ΅ΡΡΠΌΠΈ ΠΏΠΎ ΠΈΡ SSID (Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π΅ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ ). Π‘ΠΏΠΈΡΠΎΠΊ β ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ.
--filter-ssid=MyHomeWiFi,OfficeNetworkΠ‘ΠΏΠΈΡΠΊΠΈ IP ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
ΠΡΠΎΠΌΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΏΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ, ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² β ipset (ΡΠΏΠΈΡΠΊΠΈ IP) ΠΈ hostlist (ΡΠΏΠΈΡΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²). Π£ ΠΎΠ±ΠΎΠΈΡ
Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ --hostlist-exclude/--ipset-exclude (Β«ΠΏΡΠΎΡΠΈΠ»Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
, ΠΊΡΠΎΠΌΠ΅β¦Β») β ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΈΡ
ΡΡΡΠΎΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠ΅ΡΠ΅ΡΠ°Ρ
. ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π½ΠΈΠΆΠ΅.
ipset
π― Π€ΠΈΠ»ΡΡΡΡ ΠΏΠΎ IP Π°Π΄ΡΠ΅ΡΠ°ΠΌ
6.
--ipset- ΠΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ IP ΡΠΈΠ»ΡΡΡΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--ipset=<filename>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filename- ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Ρ IP Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ/ΠΏΠΎΠ΄ΡΠ΅ΡΡΠΌΠΈ- Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π°: ΠΎΠ΄ΠΈΠ½ IP/CIDR Π½Π° ΡΡΡΠΎΠΊΡ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IPv4 ΠΈ IPv6
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° gzip ΡΠΆΠ°ΡΠΈΡ
- ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·
Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π°:
192.168.1.0/24 10.0.0.1 2001:db8::/32ΠΡΠΈΠΌΠ΅ΡΡ:
--ipset=/path/to/iplist.txt --ipset=/path/to/list1.txt.gz --ipset=/path/to/list2.txt
7.
--ipset-ip- Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ IPΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--ipset-ip=<ip_list>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- Π‘ΠΏΠΈΡΠΎΠΊ IP/ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ
- ΠΠ΅Π· ΡΠ°ΠΉΠ»Π°, ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΡΠΈΠΌΠ΅ΡΡ:
--ipset-ip=192.168.1.0/24,10.0.0.1 --ipset-ip=8.8.8.8,1.1.1.1
8.
--ipset-exclude- ΠΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ IP ΡΠΈΠ»ΡΡΡΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--ipset-exclude=<filename>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
--ipset)
- Π€Π°ΠΉΠ» Ρ IP Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΡ:
--ipset-exclude=/path/to/exclude.txt
9.
--ipset-exclude-ip- Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--ipset-exclude-ip=<ip_list>ΠΡΠΈΠΌΠ΅ΡΡ:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» --ipset-exclude-ip=192.168.0.0/16,10.0.0.0/8
hostlist
π Π€ΠΈΠ»ΡΡΡΡ ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌ (hostlist)
--hostlist- ΠΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist=<filename>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filename- ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Ρ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ- Π€ΠΎΡΠΌΠ°Ρ: ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΌΠ΅Π½ Π½Π° ΡΡΡΠΎΠΊΡ
- ΠΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° gzip
- ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·
Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π°:
youtube.com google.com facebook.comΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
youtube.comΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρwww.youtube.com,m.youtube.comΠΈ Ρ.Π΄.ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist=/path/to/domains.txt --hostlist=/path/to/list1.txt --hostlist=/path/to/list2.txt.gz
--hostlist-domains- Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-domains=<domain_list>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-domains=youtube.com,google.com,facebook.com
--hostlist-exclude- ΠΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-exclude=<filename>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
--hostlist)
- ΠΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-exclude=/path/to/exclude_domains.txt
--hostlist-exclude-domains- Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-exclude-domains=<domain_list>ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-exclude-domains=local.domain,internal.net
π€ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ hostlist
--hostlist-auto- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-auto=<filename>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filename- ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ DPI Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΎΠΊ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-auto=/var/lib/zapret/auto.txt
--hostlist-auto-fail-threshold- ΠΠΎΡΠΎΠ³ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-auto-fail-threshold=<int>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π° Π² Π°Π²ΡΠΎΠ»ΠΈΡΡ
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-auto-fail-threshold=3
--hostlist-auto-fail-time- ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π½Π΅ΡΠ΄Π°ΡΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-auto-fail-time=<int>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- ΠΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠΈ
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-auto-fail-time=60 # Π²ΡΠ΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 60 ΡΠ΅ΠΊΡΠ½Π΄
--hostlist-auto-retrans-threshold- ΠΠΎΡΠΎΠ³ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΡΠΈΠΉΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-auto-retrans-threshold=<int>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅ΡΡ:
--hostlist-auto-retrans-threshold=2
--hostlist-auto-debug- ΠΡΠ»Π°Π΄ΠΊΠ° Π°Π²ΡΠΎΠ»ΠΈΡΡΠ° (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ)Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
--hostlist-auto-debug=<logfile>ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
ΠΡΠΈΠΌΠ΅ΡΡ:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» --hostlist-auto-debug=/var/log/zapret-auto.log
ΠΠ½ΡΡΡΠΈΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠ°: dir ΠΈ payload
ΠΡΠΎΠΌΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ² Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΡΠΈΠ»Ρ, Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ½ΠΊΠΈΠ΅ ΡΠΈΠ»ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ β ΠΎΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π½Π΅ Π²Π΅ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ, Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ --lua-desync-ΠΈΠ½ΡΡΠ°Π½ΡΡ. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π° Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΌΡΡΠ» β ΠΎΡΡΠ΅ΡΡΡ Π»ΠΈΡΠ½Π΅Π΅ Π½Π° Π±ΡΡΡΡΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ C-ΠΊΠΎΠ΄Π°, Π½Π΅ Π΄ΠΎΡ
ΠΎΠ΄Ρ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° Lua.
dir β Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π‘ΡΡΠΎΠΊΠ° in, out ΠΈΠ»ΠΈ any (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ out). ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ Lua Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ direction_check (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΡ) ΠΈ direction_cutoff_opposite (ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΎΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ). Π’Π°ΠΊ, dir=out β ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠ΅ (ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ), dir=in β ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅, dir=any β ΠΎΠ±Π°.
payload β ΡΠΈΠΏ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² payload ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ (ΡΠΎ ΡΠΏΠ΅ΡΠ·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ all/known ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΠ΅ΠΉ ~), ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ payload_match_filter/payload_check. ΠΡΠΎ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ, ΡΡΠΎ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠΉ --payload, Π½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠ°. ΠΠΎΠ»Π½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΈΠΏΠΎΠ² payload ΠΈ ΠΈΡ
ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ β Π² payload (ΡΠ°ΠΌ ΠΆΠ΅ β ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ known).
# ΠΎΠ±Π° ΡΠΈΠ»ΡΡΡΠ° Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π° ΠΈΠ΄ΡΡΠΈΠΉ ΡΠ»Π΅Π΄ΠΎΠΌ ΠΈΠ½ΡΡΠ°Π½Ρ
--payload=tls_client_hello --lua-desync=fake:blob=fake_default_tls:dir=outΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ in/out-range
ΠΡΡΡ ΠΈ ΡΡΠ΅ΡΠΈΠΉ Π²ΠΈΠ΄ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² β
--in-range/--out-range, ΠΎΡΠ±ΠΈΡΠ°ΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎ ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΠΏΠΎΡΠΎΠΊΠ΅ (ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎ ΡΡΡΡΡ). ΠΠ½ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ out-range.
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ HTTP/HTTPS
nfqws2 \
--filter-tcp=80,443 \
--filter-l7=http,tls \
--lua-desync=fake:blob=fake_default_tlsQUIC Ρ hostlist
nfqws2 \
--filter-udp=443 \
--filter-l7=quic \
--hostlist=/path/to/youtube.txt \
--lua-desync=fake:blob=fake_default_quic:repeats=6ΠΡΠ»ΡΡΠΈΠΏΡΠΎΡΠΈΠ»Ρ: ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ β ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ
nfqws2 \
--filter-tcp=80 --filter-l7=http \
--hostlist=/path/to/list1.txt \
--lua-desync=multisplit \
--new \
--filter-tcp=443 --filter-l7=tls \
--hostlist-exclude=/path/to/exclude.txt \
--lua-desync=fake:blob=fake_default_tls \
--new \
--filter-udp=443 --filter-l7=quic \
--lua-desync=fake:blob=fake_default_quicIP-ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ipset
nfqws2 \
--filter-tcp=443 \
--ipset=/path/to/blocked_ips.txt \
--ipset-exclude-ip=192.168.0.0/16,10.0.0.0/8 \
--lua-desync=fake:blob=fake_default_tlsΠΠ°ΠΆΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΡ β Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ²ΠΏΠ°Π²ΡΠΈΠΉ ΡΠ²Π΅ΡΡ Ρ; Π±ΠΎΠ»Π΅Π΅ ΡΠ·ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΡΠ°Π²ΡΡΠ΅ Π²ΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΡ .
- ΠΠ½ΡΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ β Π»ΠΎΠ³ΠΈΠΊΠ° Π, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ° β Π»ΠΎΠ³ΠΈΠΊΠ° ΠΠΠ.
- TCP/UDP Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ TCP-ΡΠΈΠ»ΡΡΡΠ° ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ UDP, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
- ΠΠ½Π²Π΅ΡΡΠΈΡ
~ΠΈ*ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠΎΠ²ΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ². - ΠΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ Π² hostlist Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (ΡΠΌ. hostlist).
- ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
--ipset/--hostlistΠ΄ΠΎΠΏΡΡΡΠΈΠΌΡ; ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΆΠ°ΡΡ gzip. - ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ (
--new) ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΈΠ»ΡΡΡΡ β ΠΎΠ½ΠΈ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠΈΠ»ΡΠΌΠΈ.
π Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
- ΠΡΠΎΡΠΈΠ»Ρ β Π±Π»ΠΎΠΊ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΡΠΈ ΡΠΈΠ»ΡΡΡΡ; ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ
- ΠΡΠ΅ΡΠ΅Ρ β ΡΠ°ΠΉΠ» ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ (Π½Π°Π±ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ)
- nftables β Π³ΡΡΠ±ΠΎΠ΅ ΡΠΈΡΠΎ Π΄ΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ
- Π’ΠΈΠΏ payload β ΠΏΠΎΠ»Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΡΠ°Π·Π½ΠΈΡΠ° Β«ΠΏΠΎΡΠΎΠΊ vs ΠΏΠ°ΠΊΠ΅ΡΒ»
- out-range β ΠΎΡΠ±ΠΎΡ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΠΏΠΎΡΠΎΠΊΠ΅
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ βlua-desync β Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π°Π΄ΡΠ΅ΡΡΡΡ
- Π‘Ρ Π΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊΠ° β Π³Π΄Π΅ Π²ΡΠ±ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΡΠΎΠΈΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅
- ipset Β· hostlist β ΡΠΏΠΈΡΠΊΠΈ IP ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
- ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ β ΠΏΡΠΎΡΠΈΠ»Ρ
passΠΈ exclude-ΡΠΏΠΈΡΠΊΠΈ: Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠΈΠΌΠΎ Π΄ΡΡΠ΅Π½ΠΈΡ - π ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (docs/manual.md) β ΠΏΠ΅ΡΠ²ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊ
π€ ΠΡΠΈ ΡΡΠ°ΡΡΠΈ ΠΎΡΠΊΡΡΡΡ β ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ°ΡΡ Π½Π° Π½ΠΈΡ ΠΠ
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΠ Π½Π° Π½Π°ΡΠΈΡ ΡΡΠ°ΡΡΡΡ . ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ zip-Π°ΡΡ ΠΈΠ²ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Forgejo: ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Β· Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.