URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 129974
[ Назад ]

Исходное сообщение
"Выпуск пакетного фильтра nftables 1.0.7"

Отправлено opennews , 14-Мрт-23 12:11 
Опубликован выпуск пакетного фильтра nftables 1.0.7, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком...

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


Содержание

Сообщения в этом обсуждении
"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 14:01 
Лучший пакетный фильтр. Хотя системы надо проектировать так, чтобы nftables/iptables были опциональными = чтобы система не перестала быть защищенной, если эти фильтры внезапно отключить.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 14:06 
Лучший?

Уже 10 лет у них просят string/hex match, в ответ: используйте iptables.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 14:10 
нет регулярок? пичалько

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 20-Мрт-23 01:30 
Регулярки - тяжесть.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 14:16 
фильтровать айпишники по "регуляркам и строкам"? вы там с дуба рухнули? уже есть маски

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:17 
Причём тут IP?!

Где я написал хоть слово про IP?!

Мне содержимое пакетов надо анализировать и на основе этого drop.

И нет, я не ISP, мне это для домашней машины надо.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:30 
и что же ты там по сырому потенциально зашифрованному телу пакета собрался фильтровать?

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 16:14 
Аноним, у тебя галлюцинации?

Где ты увидел слово "зашифрованный" трафик?

Сначала ты нёс про IP, теперь про шифрование, дальше что?


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 20:29 
Приведи юзкейс уже для такого.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено _Kuzmich , 15-Мрт-23 08:27 
Непонятно почему человека заминусили.
У меня такой юзкейс: в сторону бакэнда делаешь каунт на GET, при зашкаливании пишешь в сет. По этому сету в мир уменьшаешь размер окна в 0. Помогает от ddos школьников.
Как такое сделать на nftables пока не знаю, поделитесь, кто в курсе.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено saa , 19-Мрт-23 18:23 
iptables -I INPUT -p tcp --sport 80 -m string --string "Location: http://warning.rt.ru/" --algo bm -j DROP

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено pfg21 , 14-Мрт-23 15:45 
пишешь нфтейблес "пакеты перенаправлять в мою программу" и там онализируешь.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 16:13 
Песец.

А вы мне подарите EPYC на 96 ядер, чтобы гонять трафик из ядра в userspace и обратно для потока в 500Mbit?


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 16:28 
Значит просто, без задней мысли, пишешь нфтейблес "пакеты перенаправлять в мой модуль ядра" и там анализируешь

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 19:11 
50 мбайт/с? 96 ядер ??? Такой поток пишется на жесткий диск 20 летней свежести одним ядром тех же времен

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 20:30 
Чел, чем ты там занимаешься?!

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено bergentroll , 14-Мрт-23 23:32 
Комменты пишет же

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 12:21 
Тебе лучше на чём-то из этого https://www.xilinx.com/products/boards-and-kits/alveo.html фильтровать. Дешевле выйдет, чем 96 ядер.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:37 
>используйте eBPF

fixed.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 14:35 
Изучаю базовые команды линуха. Уже взялся тыкать iptables, но тут узнал, что это легаси и ненужно. А собственно чем nftables лучше? Ну кроме того, что iptables выпиливают из свежих дистров.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:34 
> что iptables выпиливают из свежих дистров

А в замен ничего не впиливают?


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено pfg21 , 14-Мрт-23 15:44 
по теме "чем лучше" написаны кучи статей, но сложных и мудреных.  
iptables остается до поры до времени, как один из интерфейсов управления, его правила компилируются в "nftables-байткод" и отдаются в ядро на исполнение.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:57 
iptables сейчас работает через nftables.
К тому же он проще, если его действительно удаляют из дистрибутивов то очень плохо

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 16:15 
Лучше, ХЗ.

Сложнее на порядок и синтаксис ад - да, несомненно.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено 1 , 15-Мрт-23 09:09 
Я голосую за приведения синтаксиса nftables к синтаксису rust. И все будут довольны.
Опять же безопастностЪ !

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 13:22 
Что в нём адово? Синтаксис наподобие iproute2.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 16:18 
iptables никуда не денутся ещё ... всегда будут, просто потому что userspace API Линус не ломает, точка.

Изучайте, используйте.

Другой вопрос, что в новомодных компаниях их местные senior devops могут решить, что nfilters - будущее, и вы обязаны их использовать.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено llolik , 14-Мрт-23 19:38 
iptables - это не API ядра, это утилиты. В ядре только, собственно, сам фильтр - netfilter. Так что выкинуть могут.

> и вы обязаны их использовать

Ну, не утверждаю про обязаны, но nftables, как-минимум ИМХО, сильно читабельней.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 15:35 
>выполняется в ядре в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters).

eBPF?


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено лютый ж.... , 14-Мрт-23 17:17 
не взлетит, пока доцкеры сидят на iptables

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 19:30 
Давно уже не использую iptables и вырубил его использование у докера вообще, только мешается.

Вот все достаточно просто:

root@localhost:~# cat /etc/nftables.conf
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0; policy drop;

                ct state invalid counter drop comment "early drop of invalid packets"

                ct state {established, related} accept comment "established, related"

                iif lo accept comment "accept loopback"

                ip saddr 192.168.0.0/16 accept comment "accept private networks"
                ip saddr 172.16.0.0/12 accept comment "accept private networks"
                ip saddr 10.0.0.0/8 accept comment "accept private networks"

                ip protocol icmp accept comment "accept all ICMP types"

                #log prefix "Dropped: " flags all drop comment "dropped packets logger"
                #log prefix "Rejected: " flags all reject comment "rejected packets logger"

                counter comment "count dropped packets"
        }
        chain forward {
                type filter hook forward priority 0; policy accept;
                counter jump docker-user
                counter jump docker-isolation-stage-1
                oifname "docker0" ct state related,established counter accept
                oifname "docker0" counter jump docker
                iifname "docker0" oifname != "docker0" counter accept
                iifname "docker0" oifname "docker0" counter accept
        }
        chain output {
                type filter hook output priority 0; policy accept;
        }

        chain docker {
        }
        chain docker-isolation-stage-1 {
                iifname "docker0" oifname != "docker0" counter jump docker-isolation-stage-2
                counter return
        }
        chain docker-isolation-stage-2 {
                oifname "docker0" counter drop
                counter return
        }
        chain docker-user {
                counter return
        }

}

table ip nat {
        chain prerouting { type nat hook prerouting priority -100; policy accept;
                fib daddr type local counter jump docker
        }
        chain input { type nat hook input priority 100; policy accept; }
        chain output { type nat hook output priority -100; policy accept;
                ip daddr != 127.0.0.0/8 fib daddr type local counter jump docker
        }
        chain postrouting { type nat hook postrouting priority 100; policy accept;
                oifname != "docker0" ip saddr 172.17.0.0/16 counter masquerade
        }
        chain docker{
                iifname "docker0" counter return
        }
}


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 20-Мрт-23 01:33 
Волшебные номера вхардкожены, и - имена интерфейсов. А тогда - не так всё просто.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 14-Мрт-23 19:48 
Помнится мне обещали что ip4 скоро кончится, зато ip6 который мне присвоят не требует настройки брандмауэра!

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 06:17 
Наоборот же :). Не меньше, а больше брандмауэра, из-за отсутствия NAT.

Но ipv6 всё равно отличная вещь, там, где он есть.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено 1 , 15-Мрт-23 09:10 
И ещё более отличная, там где его нет.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 13:17 
В Linux запилили NAT для IPv6.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено saa , 19-Мрт-23 18:26 
это не тот нат, что в ип4.

"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 12:11 
>ip6 который мне присвоят не требует настройки брандмауэра!

1. IPv6 в РФ не присвоят, РКН против.
2. Тебе безбожно врали.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено Аноним , 15-Мрт-23 15:01 
> 1. IPv6 в РФ не присвоят, РКН против.

Каво? У меня пров /56 сети раздаёт... Хошь подключай.


"Выпуск пакетного фильтра nftables 1.0.7"
Отправлено ChatGPT , 15-Мрт-23 10:57 
Я не осилил, в отличие от iptables. Это надо отдельно курс пройти по разработке конфигураций.