|
|
@ -6,8 +6,7 @@ FreeBSD 11.x+ , OpenBSD 6.x+, частично MacOS Sierra+ |
|
|
|
На более старых может собираться, может не собираться, может работать или не работать. |
|
|
|
На FreeBSD 10 собирается и работает dvtws. С tpws есть проблемы из-за слишком старой версии компилятора clang. |
|
|
|
Вероятно, будет работать, если обновить компилятор. |
|
|
|
На pfSense если и можно завести, то это не просто. Собранные на FreeBSD с той же версией ядра бинарики не работают. |
|
|
|
Статические бинарики тоже. Модуль ipdivert отсутствует. |
|
|
|
Возможна прикрутка к последним версиям pfsense без веб интерфейса в ручном режиме через консоль. |
|
|
|
|
|
|
|
|
|
|
|
Особенности BSD систем |
|
|
@ -164,6 +163,33 @@ rdr pass on em1 inet proto tcp to port {80,443} -> 127.0.0.1 port 988 |
|
|
|
В PF непонятно как делать rdr-to с той же системы, где работает proxy. Вариант с route-to у меня не заработал. |
|
|
|
|
|
|
|
|
|
|
|
pfsense |
|
|
|
------- |
|
|
|
|
|
|
|
pfsense основано на FreeBSD. |
|
|
|
На последних версиях pfsense работают бинарики, собранные в FreeBSD совместимых версий. |
|
|
|
Проверено, что бинарик dvtws с FreeBSD 13 сработал на pfsense 2.5.2 с ядром FreeBSD 12.2. |
|
|
|
pfsense использует фаервол pf, а он не поддерживает divert. |
|
|
|
К счастью, модули ipfw и ipdivert присутствуют в поставке последних версий pfsense. |
|
|
|
Их можно подгрузить через kldload. Еще требуется изменить порядок фаерволов через sysctl, сделав ipfw первым. |
|
|
|
В некоторых случаях фаервол pf может ограничивать возможности dvtws, в частности в области фрагментации ip. |
|
|
|
Присутствуют по умолчанию правила scrub для реассемблинга фрагментов. |
|
|
|
|
|
|
|
/usr/local/etc/rc.d/zapret.sh (chmod 755) |
|
|
|
----------- |
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
kldload ipfw |
|
|
|
kldload ipdivert |
|
|
|
sysctl net.inet.ip.pfil.outbound=ipfw,pf |
|
|
|
sysctl net.inet.ip.pfil.inbound=ipfw,pf |
|
|
|
sysctl net.inet6.ip6.pfil.outbound=ipfw,pf |
|
|
|
sysctl net.inet6.ip6.pfil.inbound=ipfw,pf |
|
|
|
ipfw add 100 divert 989 tcp from any to any 80,443 out not diverted not sockarg |
|
|
|
dvtws --daemon --port 989 --dpi-desync=split2 |
|
|
|
----------- |
|
|
|
|
|
|
|
|
|
|
|
OpenBSD |
|
|
|
------- |
|
|
|
|
|
|
|