From 3bdedb2a9d7df4c6961020a79e0221fadc824424 Mon Sep 17 00:00:00 2001 From: bol-van Date: Fri, 8 Nov 2024 09:34:17 +0300 Subject: [PATCH] doc works --- docs/bsd.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/bsd.md b/docs/bsd.md index c462f21..f8e0285 100644 --- a/docs/bsd.md +++ b/docs/bsd.md @@ -18,7 +18,7 @@ * [PF в FreeBSD](#pf-в-freebsd) * [pfsense](#pfsense) * [OpenBSD](#openbsd) - * [tpws бинд на ipv4](#tpws-бинд-на-ipv4) + * [tpws bind на ipv4](#tpws-бинд-на-ipv4) * [tpws для проходящего трафика](#tpws-для-проходящего-трафика) * [Запуск dvtws](#запуск-dvtws) * [Проблемы с badsum](#проблемы-с-badsum) @@ -194,7 +194,7 @@ $ /opt/zapret/tpws/tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127 > [!CAUTION] > При использовании ipfw `tpws` не требует повышенных привилегий для реализации -> прозрачного режима. Однако, без рута невозможен бинд на порты `< 1024` и +> прозрачного режима. Однако, без рута невозможен bind на порты `< 1024` и > смена UID/GID. Без смены UID будет рекурсия, поэтому правила ipfw нужно > создавать с учетом UID, под которым работает `tpws`. Переадресация на порты > `>= 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 ``` - > В PF непонятно как делать rdr-to с той же системы, где работает proxy. - > Вариант с route-to у меня не заработал. +> [!NOTE] + > В PF не выходит делать rdr-to с той же системы, где работает proxy. + > Вариант с route-to не сохраняет мета информацию. Адрес назначения теряется. + > Поэтому этот вариант годится для squid, берущего адрес из протокола прикладного уровня, но не годится для tpws, полагающегося на метаданные ОС. + > Поддержка rdr-to реализована через `/dev/pf`, поэтому прозрачный режим **требует root**. ### pfsense @@ -383,11 +386,10 @@ rdr pass on em1 inet6 proto tcp from any to any port = https -> fe80::20c:29ff:5 ## OpenBSD -### tpws бинд на ipv4 -В `tpws` бинд по умолчанию только на ipv6. для бинда на ipv4 указать -`--bind-addr=0.0.0.0` Используйте `--bind-addr=0.0.0.0 --bind-addr=::` для -достижения того же результата, как в других ОС по умолчанию. Но лучше все же -так не делать, а сажать на определенные внутренние адреса или интерфейсы. +### tpws bind на ipv4 +В `tpws` bind по умолчанию только на ipv6. Для bind на ipv4 нужно указать `--bind-addr=0.0.0.0`. +Используйте `--bind-addr=0.0.0.0 --bind-addr=::` для достижения того же результата, как в других ОС по умолчанию. +Но лучше все же так не делать, а сажать на определенные внутренние адреса или интерфейсы. ### tpws для проходящего трафика @@ -404,9 +406,10 @@ $ tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127.0.0.1 ``` > [!NOTE] -> В PF непонятно как делать rdr-to с той же системы, где работает proxy. -> Вариант с route-to у меня не заработал. Поддержка rdr-to реализована через -> `/dev/pf`, поэтому прозрачный режим **требует root**. +> В PF не выходит делать rdr-to с той же системы, где работает proxy. +> Вариант с route-to не сохраняет мета информацию. Адрес назначения теряется. +> Поэтому этот вариант годится для squid, берущего адрес из протокола прикладного уровня, но не годится для tpws, полагающегося на метаданные ОС. +> Поддержка rdr-to реализована через `/dev/pf`, поэтому прозрачный режим **требует root**. ### Запуск dvtws @@ -482,9 +485,7 @@ no state и in правилом позволяет обойти эту проб LISTS_RELOAD="pfctl -f /etc/pf.conf" ``` -Более новые версии `pfctl` понимают команду перезагрузить только таблицы: -> [!NOTE] -> Но это не относится к **OpenBSD 6.8**. В новых **FreeBSD** есть. +Более новые версии `pfctl` понимают команду перезагрузить только таблицы. Но это не относится к **OpenBSD**. В новых **FreeBSD** есть. ```sh $ pfctl -Tl -f /etc/pf.conf ```