mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-15 02:58:34 +05:00
work on readme.md
This commit is contained in:
parent
1144f9afdc
commit
88d7fd4088
244
docs/readme.md
244
docs/readme.md
@ -6,7 +6,7 @@ ___
|
|||||||
[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/bol-van/zapret/tree/master/docs/README.en.md)
|
[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/bol-van/zapret/tree/master/docs/README.en.md)
|
||||||
[![ru](https://img.shields.io/badge/lang-ru-green.svg)](https://github.com/bol-van/zapret/tree/master/README.md)
|
[![ru](https://img.shields.io/badge/lang-ru-green.svg)](https://github.com/bol-van/zapret/tree/master/README.md)
|
||||||
|
|
||||||
## Цель программного обеспечения
|
## Зачем это нужно
|
||||||
|
|
||||||
___
|
___
|
||||||
Автономное средство противодействия DPI, которое не требует подключения каких-либо сторонних серверов. Может помочь
|
Автономное средство противодействия DPI, которое не требует подключения каких-либо сторонних серверов. Может помочь
|
||||||
@ -137,7 +137,7 @@ DPI может ловить только первый http запрос, игн
|
|||||||
|
|
||||||
Фильтр по mark нужен для отсечения от очереди пакетов, сгенерированных внутри nfqws. Если применяется фильтр по
|
Фильтр по mark нужен для отсечения от очереди пакетов, сгенерированных внутри nfqws. Если применяется фильтр по
|
||||||
connbytes 1:6, то обязательно добавлять в iptables и фильтр по mark. Иначе возможно перепутывание порядка следования
|
connbytes 1:6, то обязательно добавлять в iptables и фильтр по mark. Иначе возможно перепутывание порядка следования
|
||||||
пакетов, что приведет к неработоспособности метода.
|
пакетов, что приведет к неработоспособности метода. Так же возможно зависание nfqws по deadlock.
|
||||||
|
|
||||||
Для некоторых атак на DPI требуется перенаправлять один или несколько входящих пакетов от соединения :
|
Для некоторых атак на DPI требуется перенаправлять один или несколько входящих пакетов от соединения :
|
||||||
|
|
||||||
@ -215,7 +215,7 @@ ___
|
|||||||
dvtws, собираемый из тех же исходников (см. bsd.txt).
|
dvtws, собираемый из тех же исходников (см. bsd.txt).
|
||||||
|
|
||||||
```
|
```
|
||||||
@<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются.
|
@<config_file>|$<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются.
|
||||||
|
|
||||||
--debug=0|1 ; 1=выводить отладочные сообщения
|
--debug=0|1 ; 1=выводить отладочные сообщения
|
||||||
--daemon ; демонизировать прогу
|
--daemon ; демонизировать прогу
|
||||||
@ -318,8 +318,8 @@ ___
|
|||||||
выставлять state INVALID для пакетов с инвалидной суммой. Обычно в правилах iptables вставляется правило для дропа
|
выставлять state INVALID для пакетов с инвалидной суммой. Обычно в правилах iptables вставляется правило для дропа
|
||||||
пакетов с состоянием INVALID в цепочке FORWARD. Совместное сочетание этих факторов приводит к непрохождению badsum
|
пакетов с состоянием INVALID в цепочке FORWARD. Совместное сочетание этих факторов приводит к непрохождению badsum
|
||||||
через такой роутер. В openwrt из коробки `net.netfilter.nf_conntrack_checksum=0`, в других роутерах часто нет, и не
|
через такой роутер. В openwrt из коробки `net.netfilter.nf_conntrack_checksum=0`, в других роутерах часто нет, и не
|
||||||
всегда это можно изменить. Чтобы nfqws мог работать через роутер, нужно на нем выставить указанное значение sysctl в
|
всегда это можно изменить. Чтобы nfqws мог работать через роутер, нужно на нем выставить указанное значение sysctl в 0.
|
||||||
0. nfqws на самом роутере будет работать и без этой настройки, потому что чексумма локально созданных пакетов не
|
nfqws на самом роутере будет работать и без этой настройки, потому что чексумма локально созданных пакетов не
|
||||||
проверяется никогда. Если роутер за другим NAT, например провайдерским, и он не пропускает invalid packets вы ничего
|
проверяется никогда. Если роутер за другим NAT, например провайдерским, и он не пропускает invalid packets вы ничего
|
||||||
не сможете с этим сделать. Но обычно провайдеры все же пропускают badsum. На некоторых адаптерах/свитчах/драйверах
|
не сможете с этим сделать. Но обычно провайдеры все же пропускают badsum. На некоторых адаптерах/свитчах/драйверах
|
||||||
принудительно включен rx-checksum offload, badsum пакеты отсекаются еще до получения в ОС. В этом случае если что-то и
|
принудительно включен rx-checksum offload, badsum пакеты отсекаются еще до получения в ОС. В этом случае если что-то и
|
||||||
@ -709,7 +709,7 @@ ___
|
|||||||
|
|
||||||
tpws - это transparent proxy.
|
tpws - это transparent proxy.
|
||||||
```
|
```
|
||||||
@<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются.
|
@<config_file>|$<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются.
|
||||||
|
|
||||||
--debug=0|1|2|syslog|@<filename> ; 0,1,2 = логирование на косоль : 0=тихо, 1(default)=подробно, 2=отладка.
|
--debug=0|1|2|syslog|@<filename> ; 0,1,2 = логирование на косоль : 0=тихо, 1(default)=подробно, 2=отладка.
|
||||||
--debug-level=0|1|2 ; указать уровень логирования для syslog и @<filename>
|
--debug-level=0|1|2 ; указать уровень логирования для syslog и @<filename>
|
||||||
@ -1135,17 +1135,18 @@ ___
|
|||||||
|
|
||||||
Параметры `--dns-make-query` и `--dns-parse-query` позволяют провести ресолвинг одного домена через произвольный канал.
|
Параметры `--dns-make-query` и `--dns-parse-query` позволяют провести ресолвинг одного домена через произвольный канал.
|
||||||
Например, следующим образом можно выполнить DoH запрос, используя лишь mdig и curl :
|
Например, следующим образом можно выполнить DoH запрос, используя лишь mdig и curl :
|
||||||
`mdig --family=6 --dns-make-query=rutracker.org | curl --data-binary @- -H "Content-Type: application/dns-message" https://cloudflare-dns.com/dns-query | mdig --dns-parse-query`
|
```
|
||||||
|
mdig --family=6 --dns-make-query=rutracker.org | curl --data-binary @- -H "Content-Type: application/dns-message" https://cloudflare-dns.com/dns-query | mdig --dns-parse-query
|
||||||
|
```
|
||||||
|
|
||||||
## Фильтрация по именам доменов
|
## Фильтрация по именам доменов
|
||||||
___
|
___
|
||||||
|
|
||||||
Альтернативой ipset является использование tpws или nfqws со списком доменов.
|
Альтернативой ipset является использование tpws или nfqws со списком доменов.
|
||||||
Оба демона принимают неограниченное количество листов include (`--hostlist`) и exclude (`--hostlist-exclude`).
|
Оба демона принимают неограниченное количество листов include (`--hostlist`) и exclude (`--hostlist-exclude`).
|
||||||
Все листы одного типа объединяются, и таким образом остаются только 2 листа.
|
Прежде всего проверяются exclude листы. При вхождении в них происходит отказ от дурения.
|
||||||
Прежде всего проверяется exclude list. При вхождении в него происходит отказ от дурения.
|
Далее при наличии include листов проверяется домен на вхождение в них. При невхождении в список отказ от дурения.
|
||||||
Далее при наличии include list проверяется домен на вхождение в него. При невхождении в список отказ от дурения.
|
Если все include листы пустые, это приравнивается к отсутствию include листов. Ограничение перестает работать.
|
||||||
Пустой список приравнивается к его отсутствию.
|
|
||||||
В иных случаях происходит дурение.
|
В иных случаях происходит дурение.
|
||||||
Нет ни одного списка - дурение всегда.
|
Нет ни одного списка - дурение всегда.
|
||||||
Есть только exclude список - дурение всех, кроме.
|
Есть только exclude список - дурение всех, кроме.
|
||||||
@ -1159,7 +1160,8 @@ ___
|
|||||||
и 1 exclude список
|
и 1 exclude список
|
||||||
`ipset/zapret-hosts-users-exclude.txt.gz` или `ipset/zapret-hosts-users-exclude.txt`
|
`ipset/zapret-hosts-users-exclude.txt.gz` или `ipset/zapret-hosts-users-exclude.txt`
|
||||||
|
|
||||||
При режиме фильтрации `MODE_FILTER=hostlist` система запуска передает `nfqws` или `tpws` все листы, файлы которых присутствуют.
|
При режимах фильтрации `MODE_FILTER=hostlist` или `MODE_FILTER=autohostlist` система запуска передает `nfqws` или `tpws` все листы, файлы которых присутствуют.
|
||||||
|
Передача происходит через замену маркеров `<HOSTLIST>` и `<HOSTLIST_NOAUTO>` на реальные параметры `--hostlist`, `--hostlist-exclude`, `--hostlist-auto`.
|
||||||
Если вдруг листы include присутствуют, но все они пустые, то работа аналогична отсутствию include листа.
|
Если вдруг листы include присутствуют, но все они пустые, то работа аналогична отсутствию include листа.
|
||||||
Файл есть, но не смотря на это дурится все, кроме exclude.
|
Файл есть, но не смотря на это дурится все, кроме exclude.
|
||||||
Если вам нужен именно такой режим - не обязательно удалять `zapret-hosts-users.txt`. Достаточно сделать его пустым.
|
Если вам нужен именно такой режим - не обязательно удалять `zapret-hosts-users.txt`. Достаточно сделать его пустым.
|
||||||
@ -1348,6 +1350,7 @@ option headers`. Или сделать так, чтобы он не мог ра
|
|||||||
|
|
||||||
**ПРИМЕРЫ БЛОКИРОВКИ ТОЛЬКО ПО ДОМЕНУ БЕЗ БЛОКА ПО IP**
|
**ПРИМЕРЫ БЛОКИРОВКИ ТОЛЬКО ПО ДОМЕНУ БЕЗ БЛОКА ПО IP**
|
||||||
|
|
||||||
|
```
|
||||||
> testing iana.org on it's original\
|
> testing iana.org on it's original\
|
||||||
!!!!! AVAILABLE !!!!!\
|
!!!!! AVAILABLE !!!!!\
|
||||||
> testing rutracker.org on 192.0.43.8 (iana.org)\
|
> testing rutracker.org on 192.0.43.8 (iana.org)\
|
||||||
@ -1384,10 +1387,12 @@ curl: (35) Recv failure: Connection reset by peer\
|
|||||||
curl: (35) OpenSSL/3.2.1: error:0A000410:SSL routines::ssl/tls alert handshake failure\
|
curl: (35) OpenSSL/3.2.1: error:0A000410:SSL routines::ssl/tls alert handshake failure\
|
||||||
> testing iana.org on 104.21.32.39 (rutracker.org)\
|
> testing iana.org on 104.21.32.39 (rutracker.org)\
|
||||||
curl: (35) OpenSSL/3.2.1: error:0A000410:SSL routines::ssl/tls alert handshake failure\
|
curl: (35) OpenSSL/3.2.1: error:0A000410:SSL routines::ssl/tls alert handshake failure\
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
**ПРИМЕР ПОЛНОГО IP БЛОКА ИЛИ БЛОКА TCP ПОРТА ПРИ ОТСУТСТВИИ БЛОКА ПО ДОМЕНУ**\
|
**ПРИМЕР ПОЛНОГО IP БЛОКА ИЛИ БЛОКА TCP ПОРТА ПРИ ОТСУТСТВИИ БЛОКА ПО ДОМЕНУ**
|
||||||
|
|
||||||
|
```
|
||||||
* port block tests ipv4 startmail.com:80\
|
* port block tests ipv4 startmail.com:80\
|
||||||
ncat -z -w 1 145.131.90.136 80\
|
ncat -z -w 1 145.131.90.136 80\
|
||||||
145.131.90.136 does not connect. netcat code 1\
|
145.131.90.136 does not connect. netcat code 1\
|
||||||
@ -1410,6 +1415,7 @@ Location: https://www.iana.org/
|
|||||||
curl: (28) Connection timed out after 2002 milliseconds
|
curl: (28) Connection timed out after 2002 milliseconds
|
||||||
> testing iana.org on 145.131.90.152 (startmail.com)
|
> testing iana.org on 145.131.90.152 (startmail.com)
|
||||||
curl: (28) Connection timed out after 2002 milliseconds
|
curl: (28) Connection timed out after 2002 milliseconds
|
||||||
|
```
|
||||||
|
|
||||||
## Выбор параметров
|
## Выбор параметров
|
||||||
___
|
___
|
||||||
@ -1421,13 +1427,13 @@ ___
|
|||||||
По умолчанию на традиционных linux выбирается `nftables`, если установлен nft.
|
По умолчанию на традиционных linux выбирается `nftables`, если установлен nft.
|
||||||
На openwrt по умолчанию выбирается `nftables` на новых версиях с firewall4.
|
На openwrt по умолчанию выбирается `nftables` на новых версиях с firewall4.
|
||||||
|
|
||||||
**FWTYPE=iptables**
|
`FWTYPE=iptables`
|
||||||
|
|
||||||
На `nftables` можно отключить стандартную схему перехвата трафика после NAT и перейти на перехват до NAT.
|
На `nftables` можно отключить стандартную схему перехвата трафика после NAT и перейти на перехват до NAT.
|
||||||
Это сделает невозможным применение некоторых методов дурения на проходящем трафике как в случае с `iptables`.
|
Это сделает невозможным применение некоторых методов дурения на проходящем трафике как в случае с `iptables`.
|
||||||
nfqws начнет получать адреса пакетов из локальной сети и отображать их в логах.
|
nfqws начнет получать адреса пакетов из локальной сети и отображать их в логах.
|
||||||
|
|
||||||
**POSTNAT=0**
|
`POSTNAT=0`
|
||||||
|
|
||||||
Существует 3 стандартных опции запуска, настраиваемых раздельно и независимо: `tpws-socks`, `tpws`, `nfqws`.
|
Существует 3 стандартных опции запуска, настраиваемых раздельно и независимо: `tpws-socks`, `tpws`, `nfqws`.
|
||||||
Их можно использовать как по отдельности, так и вместе. Например, вам надо сделать комбинацию
|
Их можно использовать как по отдельности, так и вместе. Например, вам надо сделать комбинацию
|
||||||
@ -1461,45 +1467,50 @@ nfqws начнет получать адреса пакетов из локал
|
|||||||
Но если на другом профиле что-то будет добавлено, то этот профиль примет изменения автоматически.
|
Но если на другом профиле что-то будет добавлено, то этот профиль примет изменения автоматически.
|
||||||
|
|
||||||
***Включение стандартной опции tpws в режиме socks***\
|
***Включение стандартной опции tpws в режиме socks***\
|
||||||
TPWS_SOCKS_ENABLE=0
|
`TPWS_SOCKS_ENABLE=0`
|
||||||
|
|
||||||
***На каком порту будет слушать tpws socks. прослушивается только localhost и LAN***\
|
***На каком порту будет слушать tpws socks. прослушивается только localhost и LAN***\
|
||||||
TPPORT_SOCKS=987
|
`TPPORT_SOCKS=987`
|
||||||
|
|
||||||
***Параметры tpws для режима socks***
|
***Параметры tpws для режима socks***
|
||||||
TPWS_SOCKS_OPT=\
|
```
|
||||||
--filter-tcp=80 --methodeol <HOSTLIST> --new\
|
TPWS_SOCKS_OPT="
|
||||||
--filter-tcp=443 --split-tls=sni --disorder <HOSTLIST>
|
--filter-tcp=80 --methodeol <HOSTLIST> --new
|
||||||
|
--filter-tcp=443 --split-tls=sni --disorder <HOSTLIST>"
|
||||||
|
```
|
||||||
|
|
||||||
***Включение стандартной опции tpws в прозрачном режиме***\
|
***Включение стандартной опции tpws в прозрачном режиме***\
|
||||||
TPWS_ENABLE=0
|
`TPWS_ENABLE=0`
|
||||||
|
|
||||||
***Какие tcp порты следует перенаправлять на tpws***\
|
***Какие tcp порты следует перенаправлять на tpws***\
|
||||||
TPWS_PORTS=80,443
|
`TPWS_PORTS=80,443`
|
||||||
|
|
||||||
***Параметры tpws для прозрачного режима***\
|
***Параметры tpws для прозрачного режима***\
|
||||||
TPWS_OPT=\
|
```
|
||||||
--filter-tcp=80 --methodeol <HOSTLIST> --new\
|
TPWS_OPT="
|
||||||
--filter-tcp=443 --split-tls=sni --disorder <HOSTLIST>
|
--filter-tcp=80 --methodeol <HOSTLIST> --new
|
||||||
|
--filter-tcp=443 --split-tls=sni --disorder <HOSTLIST>"
|
||||||
|
```
|
||||||
|
|
||||||
***Включение стандартной опции nfqws***\
|
***Включение стандартной опции nfqws***\
|
||||||
NFQWS_ENABLE=0
|
`NFQWS_ENABLE=0`
|
||||||
|
|
||||||
***Какие tcp и udp порты следует перенаправлять на nfqws с использованием connbytes ограничителя***
|
***Какие tcp и udp порты следует перенаправлять на nfqws с использованием connbytes ограничителя***
|
||||||
|
|
||||||
***connbytes позволяет из каждого соединения перенаправить только заданное количество начальных пакетов по каждому направлению - на вход и на выход***
|
connbytes позволяет из каждого соединения перенаправить только заданное количество начальных пакетов по каждому направлению - на вход и на выход.
|
||||||
|
Это более эффективная kernel-mode замена параметра nfqws `--dpi-desync-cutoff=nX`.
|
||||||
***Это более эффективная kernel-mode замена параметра nfqws `--dpi-desync-cutoff=nX`***\
|
```
|
||||||
NFQWS_PORTS_TCP=80,443\
|
NFQWS_PORTS_TCP=80,443
|
||||||
NFQWS_PORTS_UDP=443
|
NFQWS_PORTS_UDP=443
|
||||||
|
```
|
||||||
|
|
||||||
\
|
|
||||||
***Сколько начальных входящих и исходящих пакетов нужно перенаправлять на nfqws по каждому направлению***\
|
***Сколько начальных входящих и исходящих пакетов нужно перенаправлять на nfqws по каждому направлению***\
|
||||||
NFQWS_TCP_PKT_OUT=$((6+$AUTOHOSTLIST_RETRANS_THRESHOLD))\
|
```
|
||||||
NFQWS_TCP_PKT_IN=3\
|
NFQWS_TCP_PKT_OUT=$((6+$AUTOHOSTLIST_RETRANS_THRESHOLD))
|
||||||
NFQWS_UDP_PKT_OUT=$((6+$AUTOHOSTLIST_RETRANS_THRESHOLD))\
|
NFQWS_TCP_PKT_IN=3
|
||||||
|
NFQWS_UDP_PKT_OUT=$((6+$AUTOHOSTLIST_RETRANS_THRESHOLD))
|
||||||
NFQWS_UDP_PKT_IN=0
|
NFQWS_UDP_PKT_IN=0
|
||||||
|
```
|
||||||
|
|
||||||
Есть трафик, исходящий сеанс для которого необходимо перенаправлять весь без ограничителей
|
Есть трафик, исходящий сеанс для которого необходимо перенаправлять весь без ограничителей
|
||||||
типичное применение - поддержка http keepalives на stateless DPI
|
типичное применение - поддержка http keepalives на stateless DPI
|
||||||
@ -1507,17 +1518,19 @@ NFQWS_UDP_PKT_IN=0
|
|||||||
входящий трафик ограничивается по connbytes через параметры PKT_IN
|
входящий трафик ограничивается по connbytes через параметры PKT_IN
|
||||||
задать порты для перенаправления на nfqws без connbytes ограничителя
|
задать порты для перенаправления на nfqws без connbytes ограничителя
|
||||||
если указываете здесь какие-то порты, желательно их убрать из версии с connbytes ограничителем
|
если указываете здесь какие-то порты, желательно их убрать из версии с connbytes ограничителем
|
||||||
|
```
|
||||||
NFQWS_PORTS_TCP_KEEPALIVE=80
|
NFQWS_PORTS_TCP_KEEPALIVE=80
|
||||||
NFQWS_PORTS_UDP_KEEPALIVE=
|
NFQWS_PORTS_UDP_KEEPALIVE=
|
||||||
|
```
|
||||||
|
|
||||||
\
|
***Параметры nfqws***
|
||||||
***Параметры nfqws***\
|
```
|
||||||
NFQWS_OPT=\
|
NFQWS_OPT="
|
||||||
--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig <HOSTLIST> --new\
|
--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-fooling=md5sig <HOSTLIST> --new
|
||||||
--filter-tcp=443 --dpi-desync=fake,disorder2 --dpi-desync-fooling=md5sig <HOSTLIST> --new\
|
--filter-tcp=443 --dpi-desync=fake,disorder2 --dpi-desync-fooling=md5sig <HOSTLIST> --new
|
||||||
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 <HOSTLIST_NOAUTO>
|
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 <HOSTLIST_NOAUTO>"
|
||||||
|
```
|
||||||
|
|
||||||
\
|
|
||||||
***Режим фильтрации хостов:***
|
***Режим фильтрации хостов:***
|
||||||
```
|
```
|
||||||
none - применять дурение ко всем хостам
|
none - применять дурение ко всем хостам
|
||||||
@ -1525,9 +1538,8 @@ ipset - ограничить дурение ipset-ом zapret/zapret6
|
|||||||
hostlist - ограничить дурение списком хостов из файла
|
hostlist - ограничить дурение списком хостов из файла
|
||||||
autohostlist - режим hostlist + распознавание блокировок и ведение автоматического листа
|
autohostlist - режим hostlist + распознавание блокировок и ведение автоматического листа
|
||||||
```
|
```
|
||||||
MODE_FILTER=none
|
`MODE_FILTER=none`
|
||||||
|
|
||||||
\
|
|
||||||
***Настройка системы управления выборочным traffic offload (только если поддерживается)***
|
***Настройка системы управления выборочным traffic offload (только если поддерживается)***
|
||||||
```
|
```
|
||||||
donttouch: выборочное управление отключено, используется системная настройка, простой инсталлятор выключает системную настройку, если она не совместима с выбранным режимом
|
donttouch: выборочное управление отключено, используется системная настройка, простой инсталлятор выключает системную настройку, если она не совместима с выбранным режимом
|
||||||
@ -1535,7 +1547,7 @@ none: выборочное управление отключено, просто
|
|||||||
software: выборочное управление включено в режиме software, простой инсталлятор выключает системную настройку
|
software: выборочное управление включено в режиме software, простой инсталлятор выключает системную настройку
|
||||||
hardware: выборочное управление включено в режиме hardware, простой инсталлятор выключает системную настройку
|
hardware: выборочное управление включено в режиме hardware, простой инсталлятор выключает системную настройку
|
||||||
```
|
```
|
||||||
FLOWOFFLOAD=donttouch
|
`FLOWOFFLOAD=donttouch`
|
||||||
|
|
||||||
Параметр GETLIST указывает инсталлятору `install_easy.sh` какой скрипт дергать
|
Параметр GETLIST указывает инсталлятору `install_easy.sh` какой скрипт дергать
|
||||||
для обновления списка заблокированных ip или хостов.
|
для обновления списка заблокированных ip или хостов.
|
||||||
@ -1544,30 +1556,32 @@ FLOWOFFLOAD=donttouch
|
|||||||
Если не нужно, то параметр следует закомментировать.
|
Если не нужно, то параметр следует закомментировать.
|
||||||
|
|
||||||
Можно индивидуально отключить ipv4 или ipv6. Если параметр закомментирован или не равен "1",
|
Можно индивидуально отключить ipv4 или ipv6. Если параметр закомментирован или не равен "1",
|
||||||
использование протокола разрешено.\
|
использование протокола разрешено.
|
||||||
DISABLE_IPV4=1\
|
```
|
||||||
|
DISABLE_IPV4=1
|
||||||
DISABLE_IPV6=1
|
DISABLE_IPV6=1
|
||||||
|
```
|
||||||
|
|
||||||
Количество потоков для многопоточного DNS ресолвера mdig (1..100).
|
Количество потоков для многопоточного DNS ресолвера mdig (1..100).
|
||||||
Чем их больше, тем быстрее, но не обидится ли на долбежку ваш DNS сервер?\
|
Чем их больше, тем быстрее, но не обидится ли на долбежку ваш DNS сервер?\
|
||||||
MDIG_THREADS=30
|
`MDIG_THREADS=30`
|
||||||
|
|
||||||
Место для хранения временных файлов. При скачивании огромных реестров в `/tmp` места может не хватить.
|
Место для хранения временных файлов. При скачивании огромных реестров в `/tmp` места может не хватить.
|
||||||
Если файловая система на нормальном носителе (не встроенная память роутера), то можно
|
Если файловая система на нормальном носителе (не встроенная память роутера), то можно
|
||||||
указать место на флэшке или диске.\
|
указать место на флэшке или диске.
|
||||||
TMPDIR=/opt/zapret/tmp
|
`TMPDIR=/opt/zapret/tmp`
|
||||||
|
|
||||||
\
|
|
||||||
***Опции для создания ipset-ов и nfset-ов***
|
***Опции для создания ipset-ов и nfset-ов***
|
||||||
|
|
||||||
SET_MAXELEM=262144\
|
```
|
||||||
|
SET_MAXELEM=262144
|
||||||
IPSET_OPT="hashsize 262144 maxelem 2097152"
|
IPSET_OPT="hashsize 262144 maxelem 2097152"
|
||||||
|
```
|
||||||
|
|
||||||
Хук, позволяющий внести ip адреса динамически. $1 = имя таблицы\
|
Хук, позволяющий внести ip адреса динамически. $1 = имя таблицы\
|
||||||
Адреса выводятся в stdout. В случае nfset автоматически решается проблема возможного пересечения интервалов.\
|
Адреса выводятся в stdout. В случае nfset автоматически решается проблема возможного пересечения интервалов.\
|
||||||
IPSET_HOOK="/etc/zapret.ipset.hook"
|
`IPSET_HOOK="/etc/zapret.ipset.hook"`
|
||||||
|
|
||||||
\
|
|
||||||
***ПРО РУГАНЬ в dmesg по поводу нехватки памяти.***
|
***ПРО РУГАНЬ в dmesg по поводу нехватки памяти.***
|
||||||
|
|
||||||
Может так случиться, что памяти в системе достаточно, но при попытке заполнить огромный `ipset`
|
Может так случиться, что памяти в системе достаточно, но при попытке заполнить огромный `ipset`
|
||||||
@ -1577,69 +1591,72 @@ IPSET_HOOK="/etc/zapret.ipset.hook"
|
|||||||
Это лечится увеличением `hashsize`. Но чем больше `hashsize`, тем больше занимает `ipset` в памяти.
|
Это лечится увеличением `hashsize`. Но чем больше `hashsize`, тем больше занимает `ipset` в памяти.
|
||||||
Задавать слишком большой `hashsize` для недостаточно больших списков нецелесообразно.
|
Задавать слишком большой `hashsize` для недостаточно больших списков нецелесообразно.
|
||||||
|
|
||||||
\
|
|
||||||
***Опции для вызова ip2net. Отдельно для листов ipv4 и ipv6.***
|
***Опции для вызова ip2net. Отдельно для листов ipv4 и ipv6.***
|
||||||
|
|
||||||
IP2NET_OPT4="--prefix-length=22-30 --v4-threshold=3/4"\
|
```
|
||||||
|
IP2NET_OPT4="--prefix-length=22-30 --v4-threshold=3/4"
|
||||||
IP2NET_OPT6="--prefix-length=56-64 --v6-threshold=5"
|
IP2NET_OPT6="--prefix-length=56-64 --v6-threshold=5"
|
||||||
|
```
|
||||||
|
|
||||||
\
|
|
||||||
***Настройка режима autohostlist.***
|
***Настройка режима autohostlist.***
|
||||||
|
|
||||||
При увеличении AUTOHOSTLIST_RETRANS_THRESHOLD и использовании nfqws следует пересмотреть значения параметров
|
При увеличении AUTOHOSTLIST_RETRANS_THRESHOLD и использовании nfqws следует пересмотреть значения параметров
|
||||||
NFQWS_TCP_PKT_OUT и NFQWS_UDP_PKT_OUT. Все ретрансмиссии должны быть получены nfqws, иначе триггер "зависание запроса" не сработает.
|
NFQWS_TCP_PKT_OUT и NFQWS_UDP_PKT_OUT. Все ретрансмиссии должны быть получены nfqws, иначе триггер "зависание запроса" не сработает.
|
||||||
|
|
||||||
AUTOHOSTLIST_RETRANS_THRESHOLD=3\
|
```
|
||||||
AUTOHOSTLIST_FAIL_THRESHOLD=3\
|
AUTOHOSTLIST_RETRANS_THRESHOLD=3
|
||||||
AUTOHOSTLIST_FAIL_TIME=60\
|
AUTOHOSTLIST_FAIL_THRESHOLD=3
|
||||||
|
AUTOHOSTLIST_FAIL_TIME=60
|
||||||
AUTOHOSTLIST_DEBUG=0
|
AUTOHOSTLIST_DEBUG=0
|
||||||
|
```
|
||||||
|
|
||||||
\
|
|
||||||
***Включить или выключить сжатие больших листов в скриптах ipset/\*.sh.***
|
***Включить или выключить сжатие больших листов в скриптах ipset/\*.sh.***
|
||||||
|
|
||||||
(По умолчанию включено.)\
|
`GZIP_LISTS=1`
|
||||||
\
|
|
||||||
GZIP_LISTS=1
|
|
||||||
|
|
||||||
\
|
|
||||||
***Команда для перезагрузки ip таблиц фаервола.***
|
***Команда для перезагрузки ip таблиц фаервола.***
|
||||||
|
|
||||||
Если не указано или пустое, выбирается автоматически ipset или ipfw при их наличии.
|
Если не указано или пустое, выбирается автоматически ipset или ipfw при их наличии.
|
||||||
На BSD системах с PF нет автоматической загрузки. Там нужно указать команду явно: `pfctl -f /etc/pf.conf`
|
На BSD системах с PF нет автоматической загрузки. Там нужно указать команду явно: `pfctl -f /etc/pf.conf`
|
||||||
На более новых pfctl (есть в новых FreeBSD, нет в OpenBSD 6.8) можно дать команду загрузки только таблиц: `pfctl -Tl -f /etc/pf.conf`
|
На более новых pfctl (есть в новых FreeBSD, нет в OpenBSD 6.8) можно дать команду загрузки только таблиц: `pfctl -Tl -f /etc/pf.conf`
|
||||||
"-" означает отключение загрузки листов даже при наличии поддерживаемого backend.\
|
"-" означает отключение загрузки листов даже при наличии поддерживаемого backend.
|
||||||
LISTS_RELOAD="pfctl -f /etc/pf.conf"\
|
```
|
||||||
|
LISTS_RELOAD="pfctl -f /etc/pf.conf"
|
||||||
LISTS_RELOAD=-
|
LISTS_RELOAD=-
|
||||||
|
```
|
||||||
|
|
||||||
В openwrt существует сеть по умолчанию 'lan'. Только трафик с этой сети будет перенаправлен на tpws.
|
В openwrt существует сеть по умолчанию 'lan'. Только трафик с этой сети будет перенаправлен на tpws.
|
||||||
Но возможно задать другие сети или список сетей:\
|
Но возможно задать другие сети или список сетей:\
|
||||||
OPENWRT_LAN="lan lan2 lan3"
|
`OPENWRT_LAN="lan lan2 lan3"`
|
||||||
|
|
||||||
В openwrt в качестве wan берутся интерфейсы, имеющие default route. Отдельно для ipv4 и ipv6.
|
В openwrt в качестве wan берутся интерфейсы, имеющие default route. Отдельно для ipv4 и ipv6.
|
||||||
Это можно переопределить:\
|
Это можно переопределить:
|
||||||
OPENWRT_WAN4="wan4 vpn"\
|
```
|
||||||
|
OPENWRT_WAN4="wan4 vpn"
|
||||||
OPENWRT_WAN6="wan6 vpn6"
|
OPENWRT_WAN6="wan6 vpn6"
|
||||||
|
```
|
||||||
|
|
||||||
Параметр INIT_APPLY_FW=1 разрешает init скрипту самостоятельно применять правила iptables.\
|
Параметр INIT_APPLY_FW=1 разрешает init скрипту самостоятельно применять правила iptables.\
|
||||||
При иных значениях или если параметр закомментирован, правила применены не будут.\
|
При иных значениях или если параметр закомментирован, правила применены не будут.\
|
||||||
Это полезно, если у вас есть система управления фаерволом, в настройки которой и следует прикрутить правила.\
|
Это полезно, если у вас есть система управления фаерволом, в настройки которой и следует прикрутить правила.\
|
||||||
На openwrt неприменимо при использовании firewall3+iptables.
|
На openwrt неприменимо при использовании firewall3+iptables.
|
||||||
|
|
||||||
\
|
|
||||||
***Следующие настройки не актуальны для openwrt:***
|
***Следующие настройки не актуальны для openwrt:***
|
||||||
|
|
||||||
Если ваша система работает как роутер, то нужно вписать названия внутренних и внешних интерфейсов:\
|
Если ваша система работает как роутер, то нужно вписать названия внутренних и внешних интерфейсов:
|
||||||
IFACE_LAN=eth0\
|
```
|
||||||
IFACE_WAN=eth1\
|
IFACE_LAN=eth0
|
||||||
IFACE_WAN6="henet ipsec0"\
|
IFACE_WAN=eth1
|
||||||
|
IFACE_WAN6="henet ipsec0"
|
||||||
|
```
|
||||||
Несколько интерфейсов могут быть вписаны через пробел.
|
Несколько интерфейсов могут быть вписаны через пробел.
|
||||||
Если IFACE_WAN6 не задан, то берется значение IFACE_WAN.
|
Если IFACE_WAN6 не задан, то берется значение IFACE_WAN.
|
||||||
|
|
||||||
**ВАЖНО**: настройка маршрутизации, маскарада и т.д. не входит в задачу zapret.
|
**ВАЖНО**: настройка маршрутизации, маскарада и т.д. не входит в задачу zapret.
|
||||||
Включаются только режимы, обеспечивающие перехват транзитного трафика.
|
Включаются только режимы, обеспечивающие перехват транзитного трафика.
|
||||||
Возможно определить несколько интерфейсов следующим образом:
|
Возможно определить несколько интерфейсов следующим образом:
|
||||||
\
|
|
||||||
IFACE_LAN="eth0 eth1 eth2"
|
`IFACE_LAN="eth0 eth1 eth2"`
|
||||||
|
|
||||||
## Прикручивание к системе управления фаерволом или своей системе запуска
|
## Прикручивание к системе управления фаерволом или своей системе запуска
|
||||||
___
|
___
|
||||||
@ -1650,15 +1667,19 @@ ___
|
|||||||
|
|
||||||
_Следующие вызовы позволяют применить или убрать правила iptables отдельно:_
|
_Следующие вызовы позволяют применить или убрать правила iptables отдельно:_
|
||||||
|
|
||||||
/opt/zapret/init.d/sysv/zapret start_fw\
|
```
|
||||||
/opt/zapret/init.d/sysv/zapret stop_fw\
|
/opt/zapret/init.d/sysv/zapret start_fw
|
||||||
|
/opt/zapret/init.d/sysv/zapret stop_fw
|
||||||
/opt/zapret/init.d/sysv/zapret restart_fw
|
/opt/zapret/init.d/sysv/zapret restart_fw
|
||||||
|
```
|
||||||
|
|
||||||
_А так можно запустить или остановить демоны отдельно от фаервола:_
|
_А так можно запустить или остановить демоны отдельно от фаервола:_
|
||||||
|
|
||||||
/opt/zapret/init.d/sysv/zapret start_daemons\
|
```
|
||||||
/opt/zapret/init.d/sysv/zapret stop_daemons\
|
/opt/zapret/init.d/sysv/zapret start_daemons
|
||||||
|
/opt/zapret/init.d/sysv/zapret stop_daemons
|
||||||
/opt/zapret/init.d/sysv/zapret restart_daemons
|
/opt/zapret/init.d/sysv/zapret restart_daemons
|
||||||
|
```
|
||||||
|
|
||||||
`nftables` сводят практически на нет конфликты между разными системами управления, поскольку позволяют
|
`nftables` сводят практически на нет конфликты между разными системами управления, поскольку позволяют
|
||||||
использовать независимые таблицы и хуки. Используется отдельная nf-таблица "zapret".
|
использовать независимые таблицы и хуки. Используется отдельная nf-таблица "zapret".
|
||||||
@ -1668,23 +1689,24 @@ _Для `nftables` предусмотрено несколько дополни
|
|||||||
|
|
||||||
Посмотреть set-ы интерфейсов, относящихся к lan, wan и wan6. По ним идет завертывание трафика.
|
Посмотреть set-ы интерфейсов, относящихся к lan, wan и wan6. По ним идет завертывание трафика.
|
||||||
А так же таблицу flow table с именами интерфейсов ingress hook.\
|
А так же таблицу flow table с именами интерфейсов ingress hook.\
|
||||||
/opt/zapret/init.d/sysv/zapret list_ifsets
|
`/opt/zapret/init.d/sysv/zapret list_ifsets`
|
||||||
|
|
||||||
Обновить set-ы интерфейсов, относящихся к lan, wan и wan6.
|
Обновить set-ы интерфейсов, относящихся к lan, wan и wan6.
|
||||||
Для традиционных linux список интерфейсов берется из переменных конфига IFACE_LAN, IFACE_WAN.
|
Для традиционных linux список интерфейсов берется из переменных конфига IFACE_LAN, IFACE_WAN.
|
||||||
Для openwrt определяется автоматически. Множество lanif может быть расширено параметром OPENWRT_LAN.
|
Для openwrt определяется автоматически. Множество lanif может быть расширено параметром OPENWRT_LAN.
|
||||||
Все интерфейсы lan и wan так же добавляются в ingress hook от flow table.\
|
Все интерфейсы lan и wan так же добавляются в ingress hook от flow table.\
|
||||||
/opt/zapret/init.d/sysv/zapret reload_ifsets
|
`/opt/zapret/init.d/sysv/zapret reload_ifsets`
|
||||||
|
|
||||||
Просмотр таблицы без содержимого set-ов. Вызывает `nft -t list table inet zapret`\
|
Просмотр таблицы без содержимого set-ов. Вызывает `nft -t list table inet zapret`\
|
||||||
/opt/zapret/init.d/sysv/zapret list_table
|
`/opt/zapret/init.d/sysv/zapret list_table`
|
||||||
|
|
||||||
_Так же возможно прицепиться своим скриптом к любой стадии применения и снятия фаервола со стороны zapret скриптов:_
|
_Так же возможно прицепиться своим скриптом к любой стадии применения и снятия фаервола со стороны zapret скриптов:_
|
||||||
|
```
|
||||||
INIT_FW_PRE_UP_HOOK="/etc/firewall.zapret.hook.pre_up"\
|
INIT_FW_PRE_UP_HOOK="/etc/firewall.zapret.hook.pre_up"
|
||||||
INIT_FW_POST_UP_HOOK="/etc/firewall.zapret.hook.post_up"\
|
INIT_FW_POST_UP_HOOK="/etc/firewall.zapret.hook.post_up"
|
||||||
INIT_FW_PRE_DOWN_HOOK="/etc/firewall.zapret.hook.pre_down"\
|
INIT_FW_PRE_DOWN_HOOK="/etc/firewall.zapret.hook.pre_down"
|
||||||
INIT_FW_POST_DOWN_HOOK="/etc/firewall.zapret.hook.post_down"
|
INIT_FW_POST_DOWN_HOOK="/etc/firewall.zapret.hook.post_down"
|
||||||
|
```
|
||||||
|
|
||||||
Эти настройки доступны в config.
|
Эти настройки доступны в config.
|
||||||
Может быть полезно, если вам нужно использовать nftables set-ы, например `ipban`/`ipban6`.
|
Может быть полезно, если вам нужно использовать nftables set-ы, например `ipban`/`ipban6`.
|
||||||
@ -1706,16 +1728,20 @@ custom скрипты - это маленькие shell программы, уп
|
|||||||
Рядом имеется `custom.d.examples`. Это готовые скрипты, которые можно копировать в `custom.d`.
|
Рядом имеется `custom.d.examples`. Это готовые скрипты, которые можно копировать в `custom.d`.
|
||||||
Их можно взять за основу для написания собственных.
|
Их можно взять за основу для написания собственных.
|
||||||
|
|
||||||
***Для linux пишется код в функции***\
|
***Для linux пишется код в функции***
|
||||||
zapret_custom_daemons\
|
```
|
||||||
zapret_custom_firewall\
|
zapret_custom_daemons
|
||||||
zapret_custom_firewall_nft\
|
zapret_custom_firewall
|
||||||
|
zapret_custom_firewall_nft
|
||||||
zapret_custom_firewall_nft_flush
|
zapret_custom_firewall_nft_flush
|
||||||
|
```
|
||||||
|
|
||||||
***Для macos***\
|
***Для macos***
|
||||||
zapret_custom_daemons\
|
```
|
||||||
zapret_custom_firewall_v4\
|
zapret_custom_daemons
|
||||||
|
zapret_custom_firewall_v4
|
||||||
zapret_custom_firewall_v6
|
zapret_custom_firewall_v6
|
||||||
|
```
|
||||||
|
|
||||||
zapret_custom_daemons поднимает демоны `nfqws`/`tpws` в нужном вам количестве и с нужными вам параметрами.
|
zapret_custom_daemons поднимает демоны `nfqws`/`tpws` в нужном вам количестве и с нужными вам параметрами.
|
||||||
Для систем традиционного linux (sysv) и MacOS в первом параметре передается код операции: 1 = запуск, 0 = останов.
|
Для систем традиционного linux (sysv) и MacOS в первом параметре передается код операции: 1 = запуск, 0 = останов.
|
||||||
@ -1731,11 +1757,11 @@ zapret_custom_firewall_nft поднимает правила nftables.
|
|||||||
Их нужно подчистить в zapret_custom_firewall_nft_flush.
|
Их нужно подчистить в zapret_custom_firewall_nft_flush.
|
||||||
Если set-ов и собственных цепочек у вас нет, функцию можно не определять или оставить пустой.
|
Если set-ов и собственных цепочек у вас нет, функцию можно не определять или оставить пустой.
|
||||||
|
|
||||||
***Если вам не нужны iptables или nftables - можете не писать соответствующую функцию.***\
|
Если вам не нужны iptables или nftables - можете не писать соответствующую функцию.
|
||||||
|
|
||||||
В linux можно использовать локальные переменные FW_EXTRA_PRE и FW_EXTRA_POST.\
|
В linux можно использовать локальные переменные `FW_EXTRA_PRE` и `FW_EXTRA_POST`.\
|
||||||
FW_EXTRA_PRE добавляет код к правилам ip/nf tables до кода, генерируемого функциями-хелперами.\
|
`FW_EXTRA_PRE` добавляет код к правилам ip/nf tables до кода, генерируемого функциями-хелперами.\
|
||||||
FW_EXTRA_POST добавляет код после.
|
`FW_EXTRA_POST` добавляет код после.
|
||||||
|
|
||||||
В linux функции-хелперы добавляют правило в начало цепочек, то есть перед уже имеющимися.
|
В linux функции-хелперы добавляют правило в начало цепочек, то есть перед уже имеющимися.
|
||||||
Поэтому специализации должны идти после более общих вариантов.
|
Поэтому специализации должны идти после более общих вариантов.
|
||||||
@ -1743,7 +1769,7 @@ FW_EXTRA_POST добавляет код после.
|
|||||||
По этой же причине фаервол в Linux сначала применяется в стандартном режиме, потом custom,
|
По этой же причине фаервол в Linux сначала применяется в стандартном режиме, потом custom,
|
||||||
а в MacOS сначала custom, потом стандартный режим.
|
а в MacOS сначала custom, потом стандартный режим.
|
||||||
|
|
||||||
В macos `firewall-функции` ничего сами никуда не заносят. Их задача - лишь выдать текст в stdout,
|
В macos firewall-функции ничего сами никуда не заносят. Их задача - лишь выдать текст в stdout,
|
||||||
содержащий правила для pf-якоря. Остальное сделает обертка.
|
содержащий правила для pf-якоря. Остальное сделает обертка.
|
||||||
|
|
||||||
Особо обратите внимание на номер демона в функциях `run_daemon` и `do_daemon`, номера портов `tpws`
|
Особо обратите внимание на номер демона в функциях `run_daemon` и `do_daemon`, номера портов `tpws`
|
||||||
@ -1819,7 +1845,7 @@ ___
|
|||||||
|
|
||||||
Требуется около 120-200 кб на диске. Придется отказаться от всего, кроме `tpws`.
|
Требуется около 120-200 кб на диске. Придется отказаться от всего, кроме `tpws`.
|
||||||
|
|
||||||
* Инструкция для openwrt 22 и выше с nftables.
|
**Инструкция для openwrt 22 и выше с nftables**
|
||||||
|
|
||||||
Никаких зависимостей устанавливать не нужно.
|
Никаких зависимостей устанавливать не нужно.
|
||||||
|
|
||||||
@ -1841,7 +1867,7 @@ ___
|
|||||||
3) `rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws /usr/bin/tpws`
|
3) `rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws /usr/bin/tpws`
|
||||||
4) `fw4 restart`
|
4) `fw4 restart`
|
||||||
|
|
||||||
_Инструкция для openwrt 21 и ниже с iptables._
|
**Инструкция для openwrt 21 и ниже с iptables**
|
||||||
|
|
||||||
***Установите зависимости:***
|
***Установите зависимости:***
|
||||||
1) `opkg update`
|
1) `opkg update`
|
||||||
@ -1943,9 +1969,9 @@ chroot /data/linux
|
|||||||
Далее качаем zapret в `/opt/zapret`. Обычные действия с `install_prereq.sh`, `install_bin.sh`, `blockcheck.sh`.
|
Далее качаем zapret в `/opt/zapret`. Обычные действия с `install_prereq.sh`, `install_bin.sh`, `blockcheck.sh`.
|
||||||
|
|
||||||
Учтите, что стратегии обхода сотового оператора и домашнего wifi вероятно будут разные.
|
Учтите, что стратегии обхода сотового оператора и домашнего wifi вероятно будут разные.
|
||||||
Выделить сотового оператора легко через параметр iptables -o <имя интерфейса>. Имя может быть, например, ccmni0.
|
Выделить сотового оператора легко через параметр iptables `-o <имя интерфейса>`. Имя может быть, например, `ccmni0`.
|
||||||
Его легко увидеть через `ifconfig`.
|
Его легко увидеть через `ifconfig`.
|
||||||
Wifi сеть - обычно wlan0.
|
Wifi сеть - обычно `wlan0`.
|
||||||
|
|
||||||
Переключать blockcheck между оператором и wifi можно вместе со всем инетом - включив или выключив wifi.
|
Переключать blockcheck между оператором и wifi можно вместе со всем инетом - включив или выключив wifi.
|
||||||
Если найдете стратегию для wifi и впишите ее в автостарт, то при подключении к другому wifi
|
Если найдете стратегию для wifi и впишите ее в автостарт, то при подключении к другому wifi
|
||||||
@ -1985,9 +2011,11 @@ connbytes придется опускать, поскольку модуля в
|
|||||||
|
|
||||||
**ПРЕДУПРЕЖДЕНИЕ.**\
|
**ПРЕДУПРЕЖДЕНИЕ.**\
|
||||||
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам.
|
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам.
|
||||||
Выглядит это так, если запускать curl с самого модема:\
|
Выглядит это так, если запускать curl с самого модема:
|
||||||
curl www.ru\
|
```
|
||||||
curl: (7) Failed to connect to www.ru port 80: Host is unreachable\
|
curl www.ru
|
||||||
|
curl: (7) Failed to connect to www.ru port 80: Host is unreachable
|
||||||
|
```
|
||||||
Возникает ошибка сокета EHOSTUNREACH (errno -113). То же самое видно в tpws.
|
Возникает ошибка сокета EHOSTUNREACH (errno -113). То же самое видно в tpws.
|
||||||
В броузере не подгружаются части веб страниц, картинки, стили.
|
В броузере не подгружаются части веб страниц, картинки, стили.
|
||||||
В tcpdump на внешнем интерфейсе eth_x виден только единственный и безответный SYN пакет, без сообщений ICMP.
|
В tcpdump на внешнем интерфейсе eth_x виден только единственный и безответный SYN пакет, без сообщений ICMP.
|
||||||
@ -2116,7 +2144,7 @@ vpn трафик или применить другие типы VPN, более
|
|||||||
не могут, или покориться системе.
|
не могут, или покориться системе.
|
||||||
|
|
||||||
VPS можно прибрести в множестве мест. Существуют специализированные на поиске предложений VPS порталы.\
|
VPS можно прибрести в множестве мест. Существуют специализированные на поиске предложений VPS порталы.\
|
||||||
Например, вот этот: https://vps.today/\
|
Например, [вот этот](https://vps.today).
|
||||||
Для персонального VPN сервера обычно достаточно самой минимальной конфигурации, но с безлимитным трафиком или
|
Для персонального VPN сервера обычно достаточно самой минимальной конфигурации, но с безлимитным трафиком или
|
||||||
с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но
|
с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но
|
||||||
вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode.
|
вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode.
|
||||||
|
Loading…
Reference in New Issue
Block a user