docs: Add TOC to bsd.md

This commit is contained in:
maximilionus 2024-11-07 19:46:23 +03:00
parent e1e55b1653
commit 9f1687ffec

View File

@ -1,5 +1,39 @@
# Настройка BSD-подобных систем
* [Поддерживаемые версии](#поддерживаемые-версии)
* [Особенности BSD систем](#особенности-bsd-систем)
* [Отсутствие nfqueue](#отсутствие-nfqueue)
* [Типы Firewall](#типы-firewall)
* [Сборка](#сборка)
* [Divert сокеты](#divert-сокеты)
* [Lookup Tables](#lookup-tables)
* [PF с файла](#pf-с-файла)
* [Отсутствие splice](#отсутствие-splice)
* [mdig и ip2net](#mdig-и-ip2net)
* [FreeBSD](#freebsd)
* [Подгрузка ipdivert](#подгрузка-ipdivert)
* [Авто-восстановление правил ipfw и работа в фоне](#авто-восстановление-правил-ipfw-и-работа-в-фоне)
* [tpws в прозрачном режиме](#tpws-в-прозрачном-режиме)
* [Запуск dvtws](#запуск-dvtws)
* [PF в FreeBSD](#pf-в-freebsd)
* [pfsense](#pfsense)
* [OpenBSD](#openbsd)
* [tpws бинд на ipv4](#tpws-бинд-на-ipv4)
* [tpws для проходящего трафика](#tpws-для-проходящего-трафика)
* [Запуск dvtws](#запуск-dvtws)
* [Проблемы с badsum](#проблемы-с-badsum)
* [Особенность отправки fake пакетов](#особенность-отправки-fake-пакетов)
* [Возможная оптимизация трафика](#возможная-оптимизация-трафика)
* [Перезагрузка PF таблиц](#перезагрузка-pf-таблиц)
* [MacOS](#macos)
* [Введение](#введение)
* [dvtws бесполезен](#dvtws-бесполезен)
* [tpws](#tpws)
* [Проблема link-local адреса](#проблема-link-local-адреса)
* [Сборка](#сборка)
* [Простая установка](#простая-установка)
* [Вариант Custom](#вариант-custom)
## Поддерживаемые версии
**FreeBSD** 11.x+ , **OpenBSD** 6.x+, частично **MacOS Sierra** +
@ -13,6 +47,7 @@
## Особенности BSD систем
### Отсутствие nfqueue
В **BSD** нет `nfqueue`. Похожий механизм - divert sockets. Из каталога
[`nfq/`](../nfq/) под **BSD** собирается `dvtws` вместо `nfqws`. Он разделяет с
@ -76,12 +111,13 @@ PF может загружать ip таблицы из файла. Чтобы
**BSD** для его эмуляции используется epoll-shim - прослойка для эмуляции epoll
на базе kqueue.
### mdig, ip2net
### mdig и ip2net
mdig и ip2net полностью работоспособны в **BSD**. В них нет ничего
системо-зависимого.
## FreeBSD
### Подгрузка ipdivert
Divert сокеты требуют специального модуля ядра - `ipdivert`.
@ -377,7 +413,7 @@ $ tpws --port=988 --user=daemon --bind-addr=::1 --bind-addr=127.0.0.1
> `/dev/pf`, поэтому прозрачный режим **требует root**.
### Запуск `dvtws`
### Запуск dvtws
#### Весь трафик
`/etc/pf.conf`:
@ -481,6 +517,7 @@ $ pfctl -Tl -f /etc/pf.conf
## MacOS
### Введение
Иначально ядро этой ОС "darwin" основывалось на **BSD**, потому в ней много
похожего на другие версии **BSD**. Однако, как и в других массовых коммерческих