doc works

This commit is contained in:
bol-van 2024-11-08 09:34:17 +03:00
parent f45fb421d8
commit 3bdedb2a9d

View File

@ -18,7 +18,7 @@
* [PF в FreeBSD](#pf-в-freebsd) * [PF в FreeBSD](#pf-в-freebsd)
* [pfsense](#pfsense) * [pfsense](#pfsense)
* [OpenBSD](#openbsd) * [OpenBSD](#openbsd)
* [tpws бинд на ipv4](#tpws-бинд-на-ipv4) * [tpws bind на ipv4](#tpws-бинд-на-ipv4)
* [tpws для проходящего трафика](#tpws-для-проходящего-трафика) * [tpws для проходящего трафика](#tpws-для-проходящего-трафика)
* [Запуск dvtws](#запуск-dvtws) * [Запуск dvtws](#запуск-dvtws)
* [Проблемы с badsum](#проблемы-с-badsum) * [Проблемы с badsum](#проблемы-с-badsum)
@ -194,7 +194,7 @@ $ /opt/zapret/tpws/tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127
> [!CAUTION] > [!CAUTION]
> При использовании ipfw `tpws` не требует повышенных привилегий для реализации > При использовании ipfw `tpws` не требует повышенных привилегий для реализации
> прозрачного режима. Однако, без рута невозможен бинд на порты `< 1024` и > прозрачного режима. Однако, без рута невозможен bind на порты `< 1024` и
> смена UID/GID. Без смены UID будет рекурсия, поэтому правила ipfw нужно > смена UID/GID. Без смены UID будет рекурсия, поэтому правила ipfw нужно
> создавать с учетом UID, под которым работает `tpws`. Переадресация на порты > создавать с учетом UID, под которым работает `tpws`. Переадресация на порты
> `>= 1024` может создать угрозу перехвата трафика непривилегированным > `>= 1024` может создать угрозу перехвата трафика непривилегированным
@ -250,8 +250,11 @@ $ /opt/zapret/nfq/dvtws --port=989 --dpi-desync=split2
$ /opt/zapret/tpws/tpws --port=988 --enable-pf --bind-addr=127.0.0.1 --bind-iface6=em1 --bind-linklocal=force $ /opt/zapret/tpws/tpws --port=988 --enable-pf --bind-addr=127.0.0.1 --bind-iface6=em1 --bind-linklocal=force
``` ```
> В PF непонятно как делать rdr-to с той же системы, где работает proxy. > [!NOTE]
> Вариант с route-to у меня не заработал. > В PF не выходит делать rdr-to с той же системы, где работает proxy.
> Вариант с route-to не сохраняет мета информацию. Адрес назначения теряется.
> Поэтому этот вариант годится для squid, берущего адрес из протокола прикладного уровня, но не годится для tpws, полагающегося на метаданные ОС.
> Поддержка rdr-to реализована через `/dev/pf`, поэтому прозрачный режим **требует root**.
### pfsense ### pfsense
@ -383,11 +386,10 @@ rdr pass on em1 inet6 proto tcp from any to any port = https -> fe80::20c:29ff:5
## OpenBSD ## OpenBSD
### tpws бинд на ipv4 ### tpws bind на ipv4
В `tpws` бинд по умолчанию только на ipv6. для бинда на ipv4 указать В `tpws` bind по умолчанию только на ipv6. Для bind на ipv4 нужно указать `--bind-addr=0.0.0.0`.
`--bind-addr=0.0.0.0` Используйте `--bind-addr=0.0.0.0 --bind-addr=::` для Используйте `--bind-addr=0.0.0.0 --bind-addr=::` для достижения того же результата, как в других ОС по умолчанию.
достижения того же результата, как в других ОС по умолчанию. Но лучше все же Но лучше все же так не делать, а сажать на определенные внутренние адреса или интерфейсы.
так не делать, а сажать на определенные внутренние адреса или интерфейсы.
### tpws для проходящего трафика ### tpws для проходящего трафика
@ -404,9 +406,10 @@ $ tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127.0.0.1
``` ```
> [!NOTE] > [!NOTE]
> В PF непонятно как делать rdr-to с той же системы, где работает proxy. > В PF не выходит делать rdr-to с той же системы, где работает proxy.
> Вариант с route-to у меня не заработал. Поддержка rdr-to реализована через > Вариант с route-to не сохраняет мета информацию. Адрес назначения теряется.
> `/dev/pf`, поэтому прозрачный режим **требует root**. > Поэтому этот вариант годится для squid, берущего адрес из протокола прикладного уровня, но не годится для tpws, полагающегося на метаданные ОС.
> Поддержка rdr-to реализована через `/dev/pf`, поэтому прозрачный режим **требует root**.
### Запуск dvtws ### Запуск dvtws
@ -482,9 +485,7 @@ no state и in правилом позволяет обойти эту проб
LISTS_RELOAD="pfctl -f /etc/pf.conf" LISTS_RELOAD="pfctl -f /etc/pf.conf"
``` ```
Более новые версии `pfctl` понимают команду перезагрузить только таблицы: Более новые версии `pfctl` понимают команду перезагрузить только таблицы. Но это не относится к **OpenBSD**. В новых **FreeBSD** есть.
> [!NOTE]
> Но это не относится к **OpenBSD 6.8**. В новых **FreeBSD** есть.
```sh ```sh
$ pfctl -Tl -f /etc/pf.conf $ pfctl -Tl -f /etc/pf.conf
``` ```