bsd docs: pfsense info

This commit is contained in:
bol-van
2022-01-22 14:36:36 +03:00
parent bb7faca67e
commit 3345bf55b0
2 changed files with 55 additions and 3 deletions

View File

@@ -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
-------