The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск пакетного фильтра nftables 1.0.2"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск пакетного фильтра nftables 1.0.2"  +2 +/
Сообщение от opennews (??), 21-Фев-22, 23:38 
Опубликован выпуск пакетного фильтра nftables 1.0.2, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Необходимые для работы выпуска nftables 1.0.2 изменения включены в состав ядра Linux 5.17-rc...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=56739

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск пакетного фильтра nftables 1.0.2"  +3 +/
Сообщение от InuYasha (??), 21-Фев-22, 23:38 
Не, забавно, конечно, а может, и удобно. Но каждый раз когда начинают сыпать сахар в синтаксис, возникает ситуация, когда одно и то же можно сделать 10ю способами. И всё.

Не понял немного про точки, но вообще, если правил не тысячи, "до оптимизации" было читать в столбик проще. IMHO, конечно.
      meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 .
1.1.1.2 . 2.2.2.5 } accept

Ответить | Правка | Наверх | Cообщить модератору

4. Скрыто модератором  +5 +/
Сообщение от Аноним (4), 22-Фев-22, 00:04 
Ответить | Правка | Наверх | Cообщить модератору

7. Скрыто модератором  +1 +/
Сообщение от YetAnotherOnanym (ok), 22-Фев-22, 01:21 
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (36), 22-Фев-22, 12:59 
> Не понял немного про точки

это типа конкатенация такая
После оптимизации все, что в скобках можно выписать в столбик и дать имя. Тогда останется одна строчка с правилом и отдельно список значений, на соответствие которым это правило и будет проверять

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (2), 21-Фев-22, 23:40 
А ICMP и IGMP не фильтрует что ли?
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от llolik (ok), 21-Фев-22, 23:45 
Фильтрует. Но для примера лучше самые попсовые.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск пакетного фильтра nftables 1.0.2"  +4 +/
Сообщение от Ан (??), 22-Фев-22, 01:10 
R
К сожалению, ничего лучше pf в мире брандмауэров до сих пор не придумано.
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск пакетного фильтра nftables 1.0.2"  +2 +/
Сообщение от Azudimemail (??), 22-Фев-22, 02:16 
Я вот тоже все поглядываю на замены, но что то не вижу альтернатив..

Вот где еще можно сделать читабельный конфиг, когда у тебя на хосте 2 внешних интерфейса, 5 локальных сетей, 5-6 инстансов OpenPVN со своими ифейсами + MPD который 50 PPPoE сессий поднимает, тонна пробросов на разные сервисы внутри и т.д.. ?

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск пакетного фильтра nftables 1.0.2"  –1 +/
Сообщение от Аноним (14), 22-Фев-22, 05:50 
Надо структурировать задачи и подойти к её решению со стороны zone based firewall.
nftables позволяет сконструировать что угодно.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск пакетного фильтра nftables 1.0.2"  –4 +/
Сообщение от Аноним (32), 22-Фев-22, 11:55 
>MPD который 50 PPPoE сессий поднимает

*  media-sound/mpd
Latest version available:
Latest version installed: [ Not Installed ]
Size of files: 710 KiB
Homepage:      https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD
Description:   The Music Player Daemon (mpd)
License:       GPL-2
Шта?

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

35. "Выпуск пакетного фильтра nftables 1.0.2"  +4 +/
Сообщение от Sin2x (ok), 22-Фев-22, 12:28 
http://mpd.sourceforge.net/
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от pfg21 (ok), 22-Фев-22, 12:26 
дык проще простого, пиши програмку с читабельным конфигом, которая компеляет ентот человекочитаблеьный конфиг в байт-код nft. и все будет оке.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

50. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от пох. (?), 03-Мрт-22, 10:18 
Ну если на мир смотреть через дырку в сортире, кроме жопы ничего и не видно.

> MPD который 50 PPPoE сессий поднимает

просто переходите на темную сторону и заканчивайте создавать проблемы пользователям.

Нет pppoe, нет половины проблемы. А остальное можно оставить в pf.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

19. "Выпуск пакетного фильтра nftables 1.0.2"  –2 +/
Сообщение от Anon090807 (?), 22-Фев-22, 09:42 
>К сожалению, ничего лучше iptables в мире брандмауэров до сих пор не придумано.

Поправил тебя. Можешь не благодарить.
P.S. И находятся же еще в мире странные существа, считающие это убожество - pf - пределом мечтаний.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

22. "Выпуск пакетного фильтра nftables 1.0.2"  +2 +/
Сообщение от llolik (ok), 22-Фев-22, 10:25 
>>К сожалению, ничего лучше iptables в мире брандмауэров до сих пор не придумано.
> Поправил тебя. Можешь не благодарить.

Ну если быть совсем точным, то iptables - это не брандмауэр, а набор управляющих утилит (как и сабжевый nftables). Брэндмауэр - это netfilter и он в ядре.

А по сабжу, лично мне nftables понравился, хотя и некоторые расширения iptebles пока не реализованы ( https://wiki.nftables.org/wiki-nftables/index.php/Supported_... ). Конфиг пишется понятно и довольно интуитивно, через консоль писать километровые команды построчно - задача не обязательная. Из относительных минусов: документацию хотелось-бы более-менее консистентную, а не ситуационную wiki.

Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Azudim (??), 22-Фев-22, 14:49 
А есть возможность с IPTABLES прослушать трафик на всех портах разом и выяснить какое правило iptables блокирует/разрешает прохождение пакета? Или просто, какие правила пакет проходит и на каких интерфейсах?


Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

45. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (4), 22-Фев-22, 18:31 
modprobe nf_log
iptables -t raw -I PREROUTING <критерий выбора пакета> -j TRACE
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от пох. (?), 03-Мрт-22, 13:04 
только nf_log_ipv4

(угу, очередное поулучшайкали)

sysctl который это активировал, соответственно, стал ненужен.

Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск пакетного фильтра nftables 1.0.2"  –2 +/
Сообщение от Аноним (31), 22-Фев-22, 11:40 
Agnitum Outpost Firewall
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

6. "Выпуск пакетного фильтра nftables 1.0.2"  +11 +/
Сообщение от Аноним (6), 22-Фев-22, 01:15 
Какой-то ад, по-моему. Пфом по функционалу оно не стало. А синтаксис для среднестатистического админа нетривиален. Вопрос знатокам: а зачем? Это под гуй тулзы делалось, чтоб для погроммистов мышкой писать окошки админам мышкой?

Пипитаблес звезд с неба не хватал, но был понятен и прозрачен. А для админа который без знаний погроммирования это важно.

Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск пакетного фильтра nftables 1.0.2"  +2 +/
Сообщение от Аноним (8), 22-Фев-22, 01:37 
Я тут с дебиана 9 на 11 переводил VDSку, так и не разобрался, даже по статьям свежим не работает. В итоге через прослойку iptables сделал. Целый язык-фреймворк придумали. А надо было срочно перейти, т.к. я в команде chmod перед слешем точку не поставил.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от mumu (ok), 22-Фев-22, 01:49 
Через прослойку вполне нормальный подход. Все знакомые так делали. Импорт, экспорт, потом немного править руками (define-ы те же). Всё работает как часы.
Нет ни одной причины что-то там писать с нуля, кроме академической.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (6), 22-Фев-22, 02:48 
Зная о том как пишутся костыли гхм прослойки и прочие трансляторы, я бы переписал с 0. Так спокойнее.

Зы. Посоны, война по ходу началась. Всем соболезную.

Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 10:29 
Что уж, перепишите...
А мне - оно и так работает.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 11:22 
Там сложность в том, что в iptables куча сторонних модулей, трансляцию синтаксиса которых...
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

13. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (14), 22-Фев-22, 05:48 
Кто ж виноват, что Вы не готовились заранее?
Да и правила iptables в большинстве случаев транслируются в nft без проблем, затем доводятся на свой вкус.
sets там просто шикарны.
Я использую такой скрипт для nftables:
<quote>
#!/usr/bin/bash

BACKUP_DIR="/var/backups/nftables"
NFTCONF_SRC="/etc/nftables.conf"

YR=$(date +'%Y')
MN=$(date +'%m')
DY=$(date +'%d')
TM=$(date +'%H%M')

if nft -c -f ${NFTCONF_SRC}; then
    if [[ ! -d ${BACKUP_DIR}/${YR}/${MN} ]]; then
        mkdir -p ${BACKUP_DIR}/${YR}/${MN}
    fi
    cp /etc/nftables.conf ${BACKUP_DIR}/${YR}/${MN}/nftables.conf-${YR}${MN}${DY}-${TM}
    /usr/sbin/nft flush ruleset
    /usr/sbin/nft -f ${NFTCONF_SRC}
    echo '#!/usr/sbin/nft -f' > /etc/nftables.conf
    echo "" >> /etc/nftables.conf
    echo "flush ruleset" >> /etc/nftables.conf
    echo "" >> /etc/nftables.conf
    nft -s list ruleset >> /etc/nftables.conf
fi
</quote>
Это позволяет избежать многих граблей.
В отличие от недоразумений вроде ufw и firewald - оно управляемо, т.к. не вносит гору информационного шума и оставляет возможность оптимизации порядка правил по счётчикам пакетов.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

20. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (8), 22-Фев-22, 09:44 
А как сделать перенаправление с виртуального /dev/tap_vpn на внешний интерфейс? Т.е. подключаюсь к сети сервера, но чтобы в инет через него?
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 10:34 
Тут сумбур какой-то. Опишите задачу ясней. Половина ответа содержится в правильно сформулированном вопросе.
Если вы приходите по впн, терминируемом сервером, то нужен просто NAT типо такого:
table ip nat {
        set lans {
                type ipv4_addr
                flags interval
                auto-merge
                elements = { 192.168.0.11,
                             192.168.0.12,
                             192.168.0.15-192.168.0.20 }
        }

        chain PREROUTING {
                type nat hook prerouting priority dstnat; policy accept;

        }

        chain INPUT {
                type nat hook input priority 100; policy accept;
        }

        chain POSTROUTING {
                type nat hook postrouting priority srcnat; policy accept;
                oif "eno2" ip saddr @lans counter masquerade
        }

        chain OUTPUT {
                type nat hook output priority -100; policy accept;
        }
}

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск пакетного фильтра nftables 1.0.2"  –1 +/
Сообщение от Аноним (43), 22-Фев-22, 16:30 
При запуске сервера запускается это:
ip address add 192.168.250.1/24 dev tap_vb0
iptables -t nat -A POSTROUTING -s 192.168.250.0/24 -j SNAT --to-source 8x.14x.4x.20x
и как это через nft?
Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (47), 24-Фев-22, 11:07 
table inet filter {
...
set nat {
        type ipv4_addr
        flags interval
        elements = {
                192.168.1.0/24,
                192.168.250.0/24
        }

...
    chain POSTROUTING {
        type nat hook postrouting priority srcnat; policy accept;
        oifname "OUT_INTERFACE" ip saddr @nat counter snat to 8x.14x.4x.20x
    }
}

Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (43), 22-Фев-22, 16:32 
и dnsmasq занимается динамическими IP
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

12. "Выпуск пакетного фильтра nftables 1.0.2"  –1 +/
Сообщение от Аноним (14), 22-Фев-22, 05:38 
А по-моему, там всё отлично. Именованные списки sets и maps - очень удобны, жаль только, что не глобальны.
jump, так вообще - вещь, во многих случаях позволяющая избавиться от линейного поиска.
Вот подход линейных портянок pf и ipfilter без каких либо списков, на мой взгляд, не оптимальен - это подход а-ля Cisco acl 20-25 летней давности.
pf пригоден только как хостовый пакетный фильтр, и то часто хотелось бы большего.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

16. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Фев-22, 06:52 
>jump, так вообще - вещь, во многих случаях позволяющая избавиться от линейного поиска

пример в студию

Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 10:26 
Точно так же, как в iptables. Синтетический пример:
iif eth0 ...
...
iif eth0 ...
iif eth1 ...

меняем на
iif eth0 jump eth0-forward

table eth0 eth0-forward {
   ваши проверки
}

И пакеты не бегают по линейному списку

Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Фев-22, 12:08 
>[оверквотинг удален]
> iif eth0 ...
> ...
> iif eth0 ...
> iif eth1 ...
> меняем на
> iif eth0 jump eth0-forward
> table eth0 eth0-forward {
>    ваши проверки
> }
> И пакеты не бегают по линейному списку

это что за пример? по какому линейному списку если правила форвардинга никак не пересекаются с правилами фильтрации. Давайте конкретный полный пример, как с реализацией в iptables так и с nftables.

Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск пакетного фильтра nftables 1.0.2"  –2 +/
Сообщение от Sultan (?), 22-Фев-22, 13:09 
Правила могут пересекаться как для разных интерфейсов, так и для сервисов.
В гугле всё есть - идите и берите "полный пример".
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск пакетного фильтра nftables 1.0.2"  +1 +/
Сообщение от leap42 (ok), 22-Фев-22, 06:39 
Кулсисопы негодуе, а сетевикам - каеф xD
/s
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск пакетного фильтра nftables 1.0.2"  –1 +/
Сообщение от User (??), 22-Фев-22, 10:05 
Сетевики, однако, на цисках давно, и даже sdn все нихрена не на голых *tables.
В общем, пионэры идите в...
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск пакетного фильтра nftables 1.0.2"  +1 +/
Сообщение от leap42 (ok), 22-Фев-22, 16:22 
> В общем, пионэры идите в...

Пиоэнэры админят свои циски (привет 90е) с венды через pussy.exe, пока профи сидят на линухах (на которых тож внезапно есь огнестена, и давно перешли на жуники). Да и на серваках firewall в приличных конторах настраивает сетевик, а не кулсисоп, как в вашей богадельне.

/s

Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от User (??), 23-Фев-22, 07:19 
> Пиоэнэры админят свои циски (привет 90е) с венды через pussy.exe,

Вы так говорите, как будто в этом есть что-то плохое)
> Да и на серваках firewall в приличных конторах настраивает сетевик, а не кулсисоп, как в вашей богадельне.

Ага. На всех трех. Настраивает и настраивает, настраивает и настраивает, наяривает... В перерывах между извлечением застрявшей бумаги из принтера и переносом монитора Зинаиды Васильевны от окна чтоб не дуло.
Firewall. На серваках. Сетевики. В 2022. Ъ.
В худшем случае это какой нибудь ansible по всему зоопарку делает, в более ином вообще ни файрволла ни серваков - одна оркестрашка в облаке...

Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от пох. (?), 03-Мрт-22, 13:09 
> одна оркестрашка в облаке...

и сплошной ALLOW для всех.

А потом нвидия такая "ой, даже верилоги поперли!" - кто бы мог подумать, да и было ли, чем.
(особенно учитывая что кульхацкеры ТОЖЕ не смогли - правда "зато у нас есть бэкап!")


Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 11:10 
Один из немногих вменяемых фильтров пакетов.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

17. "Выпуск пакетного фильтра nftables 1.0.2"  +3 +/
Сообщение от Аноним (17), 22-Фев-22, 06:55 
После systemd хоть камни с неба
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (18), 22-Фев-22, 08:22 
что то не осилил как такую конструкцию втащить?

-A PREROUTING -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name DEFSSH --mask 255.255.255.255 --rsource
-A PREROUTING -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 --name DEFSSH --mask 255.255.255.255 --rsource -j DROP

а ещё я в ipset добавляю себя на несколько часов когда удачно по ssh захожу и соответственно есть правило
-A PREROUTING -m set --match-set temp_allow_hosts src -j ACCEPT

кто то пытался такое перетаскивать в nft?

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (4), 22-Фев-22, 10:36 
https://stackoverflow.com/a/69178498 например
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Sultan (?), 22-Фев-22, 11:09 
С ipset надо переписывать на named sets и named maps. Например:

-A PREROUTING -m set --match-set temp_allow_hosts src -j ACCEPT
надо переписать на named sets

table ip nat {
        set temp_allow_hosts {
                type ipv4_addr
                flags interval
                auto-merge
                elements = { 192.0.0.0/24, 192.168.0.0/24,
                             192.168.10.0/24, 192.168.20.0/24,
                             192.168.251.0-192.168.254.255 }
        }
...
        chain POSTROUTING {
                ip saddr @temp_allow_hosts counter accept
        }
...
}

Изучайте документацию - там всё есть.
Есть и недостаток - пока переписаны не все модули.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

27. "Выпуск пакетного фильтра nftables 1.0.2"  +3 +/
Сообщение от Аноним (27), 22-Фев-22, 10:42 
Шли годы...
А документации по nftables (нет, пара кривых, устаревших вики-страниц - это не она) так и не появлялось.
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск пакетного фильтра nftables 1.0.2"  –2 +/
Сообщение от Аноним (39), 22-Фев-22, 13:54 
man nft
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от пох. (?), 03-Мрт-22, 13:11 
как будто документация по iptables была чем-то хороша?

Последней качественной линуксной документацией был LARTC. Причем и тот вызывал плевки и перекошенные рожи кодерков "нэ так всэ это было, нэ так!" - поскольку писали его методом реверса, проб и ошибок. Кодеркам было некогда писать документацию, надо было быстрее-быстрее еще что-то поломать.

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

38. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от March_13 (?), 22-Фев-22, 13:12 
Раз уж упомянули... скажите, а вы SCTP часто используете?
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск пакетного фильтра nftables 1.0.2"  +/
Сообщение от Аноним (32), 22-Фев-22, 14:02 
Я сказал демону sshd использовать SCTP. Работает. Но не тестировал пропускную способность по сранению с TCP.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру