mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-22 06:15:25 +00:00
docs: Fix bsd structure issues
This commit is contained in:
parent
7129923a70
commit
ca39017d10
26
docs/bsd.md
26
docs/bsd.md
@ -7,7 +7,7 @@
|
||||
* [Сборка](#сборка)
|
||||
* [Divert сокеты](#divert-сокеты)
|
||||
* [Lookup Tables](#lookup-tables)
|
||||
* [PF с файла](#pf-с-файла)
|
||||
* [Загрузка ip таблиц из файла](#загрузка-ip-таблиц-из-файла)
|
||||
* [Отсутствие splice](#отсутствие-splice)
|
||||
* [mdig и ip2net](#mdig-и-ip2net)
|
||||
* [FreeBSD](#freebsd)
|
||||
@ -23,7 +23,6 @@
|
||||
* [Запуск dvtws](#запуск-dvtws)
|
||||
* [Проблемы с badsum](#проблемы-с-badsum)
|
||||
* [Особенность отправки fake пакетов](#особенность-отправки-fake-пакетов)
|
||||
* [Возможная оптимизация трафика](#возможная-оптимизация-трафика)
|
||||
* [Перезагрузка PF таблиц](#перезагрузка-pf-таблиц)
|
||||
* [MacOS](#macos)
|
||||
* [Введение](#введение)
|
||||
@ -99,7 +98,7 @@ tables. Это прямой аналог ipset. lookup tables не раздел
|
||||
выполняется команда из `LISTS_RELOAD`. В противном случае не делается ничего.
|
||||
Если `LISTS_RELOAD=-`, то заполнение таблиц отключается даже при наличии ipfw.
|
||||
|
||||
### PF с файла
|
||||
### Загрузка ip таблиц из файла
|
||||
PF может загружать ip таблицы из файла. Чтобы использовать эту возможность
|
||||
следует отключить сжатие gzip для листов через параметр файла config:
|
||||
`GZIP_LISTS=0`.
|
||||
@ -168,8 +167,7 @@ $ ipfw add 100 fwd ::1,988 tcp from any to any 80,443 proto ip6 recv em1
|
||||
$ /opt/zapret/tpws/tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127.0.0.1
|
||||
```
|
||||
|
||||
#### Трафик только на таблицу zapret
|
||||
> За исключением таблицы nozapret
|
||||
#### Трафик только на таблицу zapret, за исключением таблицы nozapret
|
||||
|
||||
```sh
|
||||
$ ipfw delete 100
|
||||
@ -214,8 +212,7 @@ $ ipfw add 100 divert 989 tcp from any 80,443 to any tcpflags syn,ack in not div
|
||||
$ /opt/zapret/nfq/dvtws --port=989 --dpi-desync=split2
|
||||
```
|
||||
|
||||
#### Трафик только на таблицу zapret
|
||||
> За исключением таблицы nozapret
|
||||
#### Трафик только на таблицу zapret, за исключением таблицы nozapret
|
||||
|
||||
```sh
|
||||
$ ipfw delete 100
|
||||
@ -259,19 +256,17 @@ $ /opt/zapret/nfq/dvtws --port=989 --dpi-desync=split2
|
||||
|
||||
### pfsense
|
||||
|
||||
#### Что это
|
||||
#### Описание
|
||||
pfsense основан на **FreeBSD** и использует фаервол PF, имеющий проблемы с
|
||||
divert. К счастью, модули ipfw и ipdivert присутствуют в поставке последних
|
||||
версий pfsense. Их можно подгрузить через `kldload`.
|
||||
|
||||
#### Особенности
|
||||
В некоторых более старых версиях pfsense требуется изменить порядок фаерволов
|
||||
через `sysctl`, сделав ipfw первым. В более новых эти параметры `sysctl`
|
||||
отсутствуют, но система работает как надо и без них. В некоторых случаях
|
||||
фаервол PF может ограничивать возможности `dvtws`, в частности в области
|
||||
фрагментации ip.
|
||||
|
||||
#### Исполняемые файлы
|
||||
Присутствуют по умолчанию правила scrub для реассемблинга фрагментов. Бинарики
|
||||
из [`binaries/freebsd-x64`](../binaries/freebsd-x64) собраны под **FreeBSD
|
||||
11**. Они должны работать и на последующих версиях **FreeBSD**, включая
|
||||
@ -428,8 +423,7 @@ $ pfctl -f /etc/pf.conf
|
||||
$ ./dvtws --port=989 --dpi-desync=split2
|
||||
```
|
||||
|
||||
#### Трафик только на таблицу zapret
|
||||
> За исключением таблицы nozapret
|
||||
#### Трафик только на таблицу zapret, за исключением таблицы nozapret
|
||||
|
||||
`/etc/pf.conf`:
|
||||
```
|
||||
@ -474,8 +468,6 @@ $ ./dvtws --port=989 --dpi-desync=split2
|
||||
предотвращает повторный заворот diverted фреймов, поэтому проблемы зацикливания
|
||||
нет.
|
||||
|
||||
|
||||
### Возможная оптимизация трафика
|
||||
divert-packet автоматически вносит обратное правило для перенаправления. Трюк с
|
||||
no state и in правилом позволяет обойти эту проблему, чтобы напрасно не гнать
|
||||
массивный трафик через `dvtws`.
|
||||
@ -621,12 +613,6 @@ local. Скрывать link local не имеет смысла, а динами
|
||||
$ make -C /opt/zapret mac
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Скрипты получения листов [`ipset/*.sh`](../ipset/) работают. Если будете
|
||||
> пользоваться [`get_combined.sh`](../ipset/get_combined.sh), нужно установить
|
||||
> GNU grep через `brew`. Имеющийся очень старый и безумно медленный с оцией
|
||||
> `-f`.
|
||||
|
||||
|
||||
### Простая установка
|
||||
В **MacOS** поддерживается `install_easy.sh`
|
||||
|
Loading…
Reference in New Issue
Block a user