mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-26 20:20:53 +03:00
commit
4fcd3bba96
@ -53,7 +53,7 @@ You need to run them with the necessary parameters and redirect certain traffic
|
||||
|
||||
To redirect a TCP connection to a transparent proxy, the following commands are used:
|
||||
|
||||
forwarded fraffic :
|
||||
forwarded traffic :
|
||||
iptables -t nat -I PREROUTING -i <internal_interface> -p tcp --dport 80 -j DNAT --to 127.0.0.127:988
|
||||
outgoing traffic :
|
||||
iptables -t nat -I OUTPUT -o <external_interface> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.127:988
|
||||
@ -172,12 +172,12 @@ add tcp option "MD5 signature". All of them have their own disadvantages :
|
||||
* md5sig does not work on all servers
|
||||
* badsum doesn't work if your device is behind NAT which does not pass invalid packets.
|
||||
Linux NAT by default does not pass them without special setting "sysctl -w net.netfilter.nf_conntrack_checksum=0"
|
||||
Openwrt sets it from the box, other routers in most cases dont, and its not always possible to change it.
|
||||
If nfqws is on the router, its not neccessary to switch of "net.netfilter.nf_conntrack_checksum".
|
||||
Openwrt sets it from the box, other routers in most cases don't, and its not always possible to change it.
|
||||
If nfqws is on the router, its not necessary to switch of "net.netfilter.nf_conntrack_checksum".
|
||||
Fake packet doesn't go through FORWARD chain, it goes through OUTPUT. But if your router is behind another NAT, for example ISP NAT,
|
||||
and that NAT does not pass invalid packets, you cant do anything.
|
||||
* badseq packets will be dropped by server, but DPI also can ignore them
|
||||
* TTL looks like the best option, but it requires special tuning for earch ISP. If DPI is further than local ISP websites
|
||||
* TTL looks like the best option, but it requires special tuning for each ISP. If DPI is further than local ISP websites
|
||||
you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl.
|
||||
This way you cant hurt anything, but good chances it will help to open local ISP websites.
|
||||
If automatic solution cannot be found then use zapret-hosts-user-exclude.txt.
|
||||
@ -223,7 +223,7 @@ doing something about it is hardly possible without the help of the server.
|
||||
The best solution is to enable TLS 1.3 support on the server. TLS 1.3 sends the server certificate in encrypted form.
|
||||
This is recommendation to all admins of blocked sites. Enable TLS 1.3. You will give more opportunities to overcome DPI.
|
||||
|
||||
Hosts are extracted from plain http request Host: header and SNI of ClientHelllo TLS message.
|
||||
Hosts are extracted from plain http request Host: header and SNI of ClientHello TLS message.
|
||||
Subdomains are applied automatically. gzip lists are supported.
|
||||
|
||||
iptables for performing the attack on the first packet :
|
||||
@ -300,7 +300,7 @@ tpws is transparent proxy.
|
||||
--pidfile=<filename> ; write pid to file
|
||||
--user=<username> ; drop root privs
|
||||
--uid=uid[:gid] ; drop root privs
|
||||
|
||||
|
||||
The manipulation parameters can be combined in any way.
|
||||
|
||||
split-http-req takes precedence over split-pos for http reqs.
|
||||
@ -523,13 +523,13 @@ The following calls allow you to apply or remove iptables rules separately:
|
||||
|
||||
/opt/zapret/init.d/sysv/zapret start-fw
|
||||
/opt/zapret/init.d/sysv/zapret stop-fw
|
||||
|
||||
|
||||
And you can start or stop the demons separately from the firewall:
|
||||
|
||||
/opt/zapret/init.d/sysv/zapret start-daemons
|
||||
/opt/zapret/init.d/sysv/zapret stop-daemons
|
||||
|
||||
|
||||
|
||||
Simple install to desktop linux system
|
||||
--------------------------------------
|
||||
|
||||
|
@ -118,7 +118,7 @@ iptables -t mangle -I POSTROUTING -o <внешний_интерфейс> -p tcp
|
||||
|
||||
|
||||
Если ваше устройство поддерживает аппаратное ускорение (flow offloading, hardware nat, hardware acceleration), то iptables могут не работать.
|
||||
При включенном offloading пакет не проходит по обычному пути netfilter.
|
||||
При включенном offloading пакет не проходит по обычному пути netfilter.
|
||||
Необходимо или его отключить, или выборочно им управлять.
|
||||
|
||||
В новых ядрах (и в более старых, openwrt портировал изменение на 4.14) присутствует software flow offloading (SFO).
|
||||
@ -140,7 +140,7 @@ ip6tables работают почти точно так же, как и ipv4, н
|
||||
В DNAT следует брать адрес --to в квадратные скобки. Например :
|
||||
|
||||
ip6tables -t nat -I OUTPUT -o <внешний_интерфейс> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to [::1]:988
|
||||
|
||||
|
||||
Параметра route_localnet не существует для ipv6.
|
||||
DNAT на localhost (::1) возможен только в цепочке OUTPUT.
|
||||
В цепочке PREROUTING DNAT возможен на любой global address или на link local address того же интерфейса,
|
||||
@ -444,7 +444,7 @@ tpws полностью работает на асинхронных сокет
|
||||
Полезно против DPI, выполняющих реассемблинг TCP с ограниченным буфером.
|
||||
Если техника работает, то после некоторого количества bytes http запрос начнет проходить до сайта.
|
||||
Если при этом критический размер padding около MTU, значит скорее всего DPI не выполняет реассемблинг пакетов, и лучше будет использовать обычные опции --split-…
|
||||
Если все же реассемблинг выполняется, то критический размер будет около размера буфера DPI. Он может быть 4K или 8K, возможны и другие значения.
|
||||
Если все же реассемблинг выполняется, то критический размер будет около размера буфера DPI. Он может быть 4K или 8K, возможны и другие значения.
|
||||
|
||||
--skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws.
|
||||
Это может быть полезно для скрытия факта использования VPN. Пониженный MTU - 1 из способов обнаружения
|
||||
@ -749,12 +749,12 @@ IFACE_WAN=eth1
|
||||
|
||||
/opt/zapret/init.d/sysv/zapret start-fw
|
||||
/opt/zapret/init.d/sysv/zapret stop-fw
|
||||
|
||||
|
||||
А так можно запустить или остановить демоны отдельно от фаервола :
|
||||
|
||||
/opt/zapret/init.d/sysv/zapret start-daemons
|
||||
/opt/zapret/init.d/sysv/zapret stop-daemons
|
||||
|
||||
|
||||
Вариант custom
|
||||
--------------
|
||||
|
||||
@ -836,7 +836,7 @@ tpws к http и nfqws к https. При этом поддерживаются у
|
||||
|
||||
enable auto start : systemctl enable zapret
|
||||
disable auto start : systemctl disable zapret
|
||||
start : sytemctl start zapret
|
||||
start : systemctl start zapret
|
||||
stop : systemctl stop zapret
|
||||
status, output messages : systemctl status zapret
|
||||
timer info : systemctl list-timer
|
||||
@ -972,7 +972,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable
|
||||
ЭКОНОМИЯ МЕСТА :
|
||||
|
||||
gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов.
|
||||
sort от busybox медленней полноценного варианта и жрет намного болше памяти. sort используется скриптами получения листов.
|
||||
sort от busybox медленней полноценного варианта и жрет намного больше памяти. sort используется скриптами получения листов.
|
||||
grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь
|
||||
пользоваться этим скриптом, gnu grep можно не устанавливать
|
||||
iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws
|
||||
@ -1159,7 +1159,7 @@ nfqueue поломан. можно собрать фиксящий модуль
|
||||
используя исходники с huawei open source. Исходники содержат тулчейн и полусобирающееся,
|
||||
неактуальное ядро. Конфиг можно взять с рабочего модема из /proc/config.gz.
|
||||
С помощью этих исходников умельцы могут собрать модуль unfuck_nfqueue.ko.
|
||||
После его применения NFQUEUE и nfqws для arm работают нормально.
|
||||
После его применения NFQUEUE и nfqws для arm работают нормально.
|
||||
|
||||
Чтобы избежать проблемы с offload-ом при использвании nfqws, следует комбинировать tpws в режиме tcp proxy и nfqws.
|
||||
Правила NFQUEUE пишутся для цепочки OUTPUT.
|
||||
@ -1172,7 +1172,7 @@ connbytes придется опускать, поскольку модуля в
|
||||
ПРЕДУПРЕЖДЕНИЕ.
|
||||
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам.
|
||||
Выглядит это так, если запускать curl с самого модема :
|
||||
curl www.ru
|
||||
curl www.ru
|
||||
curl: (7) Failed to connect to www.ru port 80: Host is unreachable
|
||||
Возникает ошибка сокета EHOSTUNREACH (errno -113). То же самое видно в tpws.
|
||||
В броузере не подгружаются части веб страниц, картинки, стили.
|
||||
@ -1324,7 +1324,7 @@ VPS можно прибрести в множестве мест. Существ
|
||||
с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но
|
||||
вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode.
|
||||
Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux
|
||||
вместе с ядром. Подойдут kvm, xen, hyper-v, vmware.
|
||||
вместе с ядром. Подойдут kvm, xen, hyper-v, vmware.
|
||||
|
||||
По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке
|
||||
и не рискуете попасть под бан регулятора, разве что "заодно" под ковровую бомбардировку с баном миллионов IP.
|
||||
|
Loading…
Reference in New Issue
Block a user