- Релиз ядра Linux 3.13. Обзор новшеств, Fracta1L, 07:36 , 20-Янв-14 (2) –3
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 09:44 , 20-Янв-14 (14) +6 [^]
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 10:16 , 20-Янв-14 (20) +1
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 11:26 , 20-Янв-14 (31) –8 [V]
- Релиз ядра Linux 3.13. Обзор новшеств, Sergey722, 12:22 , 20-Янв-14 (38) +3
- Релиз ядра Linux 3.13. Обзор новшеств, бро, 14:50 , 20-Янв-14 (60) +1
- Релиз ядра Linux 3.13. Обзор новшеств, Sylvia, 16:53 , 20-Янв-14 (93) +2
- Релиз ядра Linux 3.13. Обзор новшеств, Sylvia, 10:46 , 24-Янв-14 (160)
- Релиз ядра Linux 3.13. Обзор новшеств, Andrey Mitrofanov, 07:56 , 20-Янв-14 (4) –1
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 09:37 , 20-Янв-14 (12)
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 09:38 , 20-Янв-14 (13) –1
- Релиз ядра Linux 3.13. Обзор новшеств, Moomintroll, 09:57 , 20-Янв-14 (15) –5 [V]
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 10:10 , 20-Янв-14 (17) –1
- Релиз ядра Linux 3.13. Обзор новшеств, Гость, 10:16 , 20-Янв-14 (19)
- Релиз ядра Linux 3.13. Обзор новшеств, gapsf2, 11:11 , 20-Янв-14 (28) +3
В userspace происходит компиляция (естественно с проверкой синтаксиса и ошибок) в байт-код для простенькой виртуальной машины, которая есть в ядре. Виртуальная машина в ядре очень простая и имеет специфичный набор инструкций, оптимизрованный под задачи обработки пакетов (типа "загрузить в регистр байт по такому-то смещению из заголовка пакета", "сравнить регистры" и т.п.). Но в ней нет "зашитого" кода, спецефичного для какого-либо протокола. Т.о. из userspace в kernelspace происходит загрузка готового байт-кода (через протокол netlink), скомпилированного из вашего набора правил. Всё остальное: все константы, структура тех или иных пакетов для различных сетевых протоколов, логика их разбора - все это вынесено в userspace-утилиты. Т.е. kernelspace-код nftables независим от особенностей того или иного протокола и в случае добавления или изменения протокола достаточно изменить только userspace-код (логику обработки протокола). Т.к. кода ядра nftbales протоколонезависим, то в общем устраняется необходимость писать match-расширения специально для включения в ядро (ранее это был patch-o-matic), т.к. все их можно реализовать в userspace-коде. Т.е. для получения/обновления расширений не надо будет обновлять ядро - достаточно обновить утилиты, имеющие "на борту" новые спецификации и логику. Насколько я смог понять, вирутальная машина - функция nft_do_chain_pktinfo https://github.com/torvalds/linux/blob/master/net/netfilter/...
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 10:13 , 20-Янв-14 (18)
- Релиз ядра Linux 3.13. Обзор новшеств, AlexAT, 11:12 , 20-Янв-14 (29) +4
- Релиз ядра Linux 3.13. Обзор новшеств, ua9oas, 12:02 , 20-Янв-14 (35) –1
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 13:23 , 20-Янв-14 (51)
- Релиз ядра Linux 3.13. Обзор новшеств, gapsf2, 14:25 , 20-Янв-14 (56) +3
По умолчанию встроенных таблиц (filter, mangle, nat...) и цепочек (INPUT, OUTPUT, FORWARD) нет - все абсолютно пусто. Встроенных счетчиков у каждого правила нет (для увеличения производительности) - нужен счетчик - создаем явно.# создаем таблицу filter table filter { chain input { # создаем цепочку input table filter hook input priority 0; # вставляем перехват пакета ct state established accept # разрешаем established ct state related accept # разрешаем related meta iif lo accept # разрешаем входящий на localhost-интерфейса tcp dport ssh counter packets 0 bytes 0 accept # разрешаем SSH counter packets 5 bytes 5 log drop # для всех остальных пакетов считаем пакеты и байты, логируем и игнорируем в одном правиле } chain output { # создаем цепочку output table filter hook output priority 0; # вставляем перехват пакета ct state established accept # разрешаем established ct state related accept # разрешаем related meta oif lo accept # разрешаем исходящий с localhost- интерфейса ct state new counter packets 0 bytes 0 accept # считаем и разрешаем новые исходящие соединения } } В целом здесь все идентично iptables за исключением явного создания таблиц и цепочек, и возможности объединения нескольких вердиктов в одной команде. Система гибкая за счет отказа от зашитости всего в ядро - поэтому все надо создать из userspace. Естественно, что создавать таблицы и цепочки можно один раз и скорее всего в дистрибах будут скрипты базовой настройки, так что вам можно будет не заморачиваться особо. З.Ы. Похоже что либо старый пример, либо не проверенный - не совсем соответствует синтаксису http://git.netfilter.org/nftables/tree/src/parser.y В частности в "table filter hook output priority 0;" вроде не должно быть "table", а между всеми правилами должен быть разделитель ";"
- Релиз ядра Linux 3.13. Обзор новшеств, vitalif, 14:36 , 20-Янв-14 (58) +1
- Релиз ядра Linux 3.13. Обзор новшеств, Perain, 14:51 , 20-Янв-14 (61) –6 [V]
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 15:36 , 20-Янв-14 (70) +5
- Релиз ядра Linux 3.13. Обзор новшеств, pavlinux, 16:32 , 20-Янв-14 (83) +4
- Релиз ядра Linux 3.13. Обзор новшеств, Miha, 19:45 , 20-Янв-14 (103)
- Релиз ядра Linux 3.13. Обзор новшеств, user455, 19:54 , 21-Янв-14 (159) +2
- Релиз ядра Linux 3.13. Обзор новшеств, pavlinux, 14:43 , 20-Янв-14 (59) –3
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 14:58 , 20-Янв-14 (63) –5 [V]
- Релиз ядра Linux 3.13. Обзор новшеств, anonymous, 15:41 , 20-Янв-14 (72) +2
- Релиз ядра Linux 3.13. Обзор новшеств, pavlinux, 15:45 , 20-Янв-14 (74) –1
- Релиз ядра Linux 3.13. Обзор новшеств, гошт, 18:35 , 20-Янв-14 (97)
- Релиз ядра Linux 3.13. Обзор новшеств, Sylvia, 20:20 , 20-Янв-14 (107)
- Релиз ядра Linux 3.13. Обзор новшеств, lucentcode, 20:33 , 20-Янв-14 (108) –1
- Релиз ядра Linux 3.13. Обзор новшеств, Заоза, 00:31 , 21-Янв-14 (138) –2
- Релиз ядра Linux 3.13. Обзор новшеств, Аноним, 04:05 , 29-Янв-14 (161)
|