The OpenNET Project / Index page

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

Выпуск пакетного фильтра nftables 0.9.5

07.06.2020 10:16

Опубликован выпуск пакетного фильтра nftables 0.9.5, развивающегося в качестве замены iptables, ip6table, arptables и ebtables за счёт унификации интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. Необходимые для работы выпуска nftables 0.9.5 изменения включены в состав ядра Linux 5.7.

На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком. Непосредственно правила фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в ядре в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.

Основные новшества:

  • В наборы добавлена поддержка счётчиков пакетов и трафика, привязанных к элементам набора. Счётчики включаются при помощи ключевого слова "counter":
    
         table ip x {
                set y {
                        typeof ip saddr
                        counter
                        elements = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }
                }
    
                chain z {
                        type filter hook output priority filter; policy accept;
                        ip daddr @y
                }
         }
    
  • Для установки начальных значений счётчиков, например, для восстановления прошлых счётчиков после перезапуска, набора можно использовать команду "nft -f":
    
    
         # cat ruleset.nft
         table ip x {
            set y {
                    typeof ip saddr
                    counter
                    elements = { 192.168.10.35 counter packets 1 bytes 84, 192.168.10.101 \
    counter p  192.168.10.135 counter packets 0 bytes 0 }
            }
    
            chain z {
                    type filter hook output priority filter; policy accept;
                    ip daddr @y
            }
         }
         # nft -f ruleset.nft
         # nft list ruleset
         table ip x {
            set y {
                    typeof ip saddr
                    counter
                    elements = { 192.168.10.35 counter packets 1 bytes 84, 192.168.10.101 \
    counter p  192.168.10.135 counter packets 0 bytes 0 }
            }
    
            chain z {
                    type filter hook output priority filter; policy accept;
                    ip daddr @y
            }
         }
    
  • Поддержка счётчиков также добавлена во flowtable:
    
         table ip foo {
                flowtable bar {
                        hook ingress priority -100
                        devices = { eth0, eth1 }
                        counter
                }
    
                chain forward {
                        type filter hook forward priority filter;
                        flow add @bar counter
                }
         }
    

    Посмотреть список счётчиков можно командной "conntrack -L":

    
         tcp      6 src=192.168.10.2 dst=10.0.1.2 sport=47278 dport=5201 packets=9 bytes=608 \
         src=10.0.1.2 dst=10.0.1.1 sport=5201 dport=47278 packets=8 bytes=428 [OFFLOAD] mark=0 \
         secctx=null use=2  tcp      6 src=192.168.10.2 dst=10.0.1.2 sport=47280 dport=5201 \
         packets=1005763 bytes=44075714753 src=10.0.1.2 dst=10.0.1.1 sport=5201 dport=47280 \
         packets=967505 bytes=50310268 [OFFLOAD] mark=0 secctx=null use=2
    
  • В наборах для присоединений (concatenation, определённые связки адресов и портов, упрощающие сопоставление) обеспечена возможность использования директивы "typeof", определяющей тип данных элементов для составных частей элементов набора:
    
         table ip foo {
                set whitelist {
                        typeof ip saddr . tcp dport
                        elements = { 192.168.10.35 . 80, 192.168.10.101 . 80 }
                }
    
                chain bar {
                        type filter hook prerouting priority filter; policy drop;
                        ip daddr . tcp dport @whitelist accept
                }
         }
    
  • Директива typeof теперь также применима для присоединений в map-списках:
    
         table ip foo {
                map addr2mark {
                    typeof ip saddr . tcp dport : meta mark
                    elements = { 192.168.10.35 . 80 : 0x00000001,
                                 192.168.10.135 . 80 : 0x00000002 }
                }
    
                chain bar {
                        type filter hook prerouting priority filter; policy drop;
                        meta mark set ip daddr . tcp dport map @addr2mark accept
                }
         }
    
  • Добавлена поддержка присоединений с диапазонами в анонимных (неименованных) наборах:
    
         # nft add rule inet filter input ip daddr . tcp dport \
              { 10.0.0.0/8 . 10-23, 192.168.1.1-192.168.3.8 . 80-443 } accept
    
  • Предоставлена возможность отбрасывания пакетов с флагами 802.1q (VLAN) при обработке сетевых мостов:
    
         # nft add rule bridge foo bar ether type vlan reject with tcp reset
    
  • Добавлена поддержка сопоставления по идентификатору TCP-сеанса (conntrack ID). Для определения conntrack ID можно использовать опцию "--output id":
    
         # conntrack -L --output id
         udp      17 18 src=192.168.2.118 dst=192.168.2.1 sport=36424 dport=53 packets=2 \
         bytes=122 src=192.168.2.1 dst=192.168.2.118 sport=53 dport=36424 packets=2 bytes=320 \
          [ASSURED] mark=0 use=1 id=2779986232
    
      # nft add rule foo bar ct id 2779986232 counter
    


  1. Главная ссылка к новости (https://marc.info/?l=netfilter...)
  2. OpenNews: Релиз ядра Linux 5.7
  3. OpenNews: Выпуск пакетного фильтра nftables 0.9.4
  4. OpenNews: Выпуск пакетного фильтра nftables 0.9.3
  5. OpenNews: В Debian 11 предлагается по умолчанию задействовать nftables и firewalld
  6. OpenNews: Доступен Freedombone 4.0, дистрибутив для создания домашних серверов
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/53106-nftables
Ключевые слова: nftables, netfilter, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (95) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:56, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >> Необходимые для работы выпуска nftables 0.9.5 изменения включены в состав ядра Linux 5.7.

    А на лтс 5.4 не будет работать новая версия?

     
     
  • 2.17, expert (??), 12:59, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну и извращения. Чтобы прописать простое правило мне еще и кодить надо. Вопрос нафига?
     
     
  • 3.81, pfg21 (ok), 16:46, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну дык, никто не запрещает сделать конвертилку из команд иптейблес в байт-код нфт и ок.    
    тут просто возможностей больше.
     
  • 2.46, Аноним (46), 19:40, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Будет работать даже на 3.13, но только в том объеме, который реализован в ядре. Новые функции будут просто возвращать ошибку.
     

  • 1.2, Аноним (2), 11:39, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как посмотреть текущие правила в читаемом виде?
     
     
  • 2.5, Аноним (5), 12:04, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    nft list ruleset
    Обязательно под рутом.
     
  • 2.6, DesSolo (?), 12:05, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    nft list ruleset
     
  • 2.11, Andrew (??), 12:29, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддерживаю вопрос с ударением на слове читаемом Текущий вывод nft list rul... большой текст свёрнут, показать
     
     
  • 3.13, microsoft (?), 12:34, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага всетаки аналога iptables -L не предполагается. Да чтож такое то
     
  • 3.15, Andrew (??), 12:54, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт JSON любопытства ради добавил к команде флаг -j Format output in JSON ... большой текст свёрнут, показать
     
  • 3.26, Аноним (26), 16:56, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  Поддерживаю вопрос с ударением на слове "читаемом" :) Текущий вывод nft list ruleset трудно назвать читаемым...вот, примерно как JSON - вывод больше для машины, чем для человека.

    Тем не менее, уже четверть века, по мнению большинства, эталоном читаемых правил фаервола остаётся pf из OpenBSD.
    block in quick  on egress inet from { 127.0.0.0/8, 192.168.0.0/16, \
       172.16.0.0/12, 10.0.0.0/8 } to any
    block out quick on egress inet from any to { 127.0.0.0/8, \
       192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }

    Что-то я не улавливаю тонкой разницы, которая делает синтаксис pf идеальным, а синтаксис nftables — нечитаемым.

     
     
  • 4.39, Аноним (2), 18:39, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Большинства пользующихся BSD?
     
  • 4.60, Аноним (60), 03:54, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то я не улавливаю тонкой разницы

    В вашем примере нет ссылок, зачем вы его показали?

     
  • 4.71, Аноним (-), 13:36, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > эталоном читаемых правил фаервола

    Пока туда не завезут кастомных цепочек, набор правил хотя бы в 30-40 правил неизбежно будет превращаться в нечитаемую лапшу. skipto - костыль, а по другому оно не умеет.

     
  • 3.31, Аноним (-), 17:17, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > JSON - вывод больше для машины, чем для человека.

    С дуба рухнул? Для машин это ни в одном глазу неудобно, это для двуногих перекуривших JS.

     
  • 3.52, Аноним (2), 22:00, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось yaml впилить
     

  • 1.3, gogo (?), 11:49, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    и с этим дерьмом теперь придется жить... (
     
     
  • 2.4, крокодил мимо.. (?), 12:03, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    всё, как в Win.. э-эмм.. простите, а оно уже умеет в разбор трафика на уровне приложений, как, например, в Windows-firewall?
     
     
  • 3.7, Аноним (5), 12:11, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По-моему еще во времена iptables выкинули. Рекомендутся uid/gid, возможно cgroup.
     
     
  • 4.8, крокодил мимо.. (?), 12:17, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну-да, ну-да.. "ненужно"©™.. ога.. особенно на выделенном серваке контроль исходящего трафа по приложениям - совершенно лишняя шняга..
    "даже не знаю, что сказать.. всё отлично.. всё просто отлично.."©(Феечка)
     
     
  • 5.25, Аноним (26), 16:51, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для _серверных_ приложений (т.е. демонов) — уже давно есть https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html

    Попробуйте ещё раз.

     
     
  • 6.27, Аноним (26), 17:07, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Замечательный движок опеннета побил якорь в ссылке (в предпросмотре было нормально). Поэтому специально для труЪ oдминов — смотреть описание опций IPAddressAllow и IPAddressDeny.
     
     
  • 7.77, InuYasha (??), 16:39, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. я правильно понял, что всем, кто захочет что-то позакрывать для, допустим, MySQL, придётся редактировать его unit-файл (который потом перепишет установщик пакетов)?
     
     
  • 8.83, Аноним (83), 19:46, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Садись, два и линейкой по рукам За что линейкой За то, что пошёл править дистр... текст свёрнут, показать
     
  • 8.85, Аноним (85), 21:44, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Правильно systemctl edit mysql service Неправильно Не надо мыслить категориями... текст свёрнут, показать
     
     
  • 9.87, Andrew (??), 10:44, 09/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мало того, что простреливаем свою ногу, так ещё и кладём мину замедленного дейст... текст свёрнут, показать
     
  • 9.90, RomanCh (ok), 14:12, 09/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Извините, не сдержался, хочу набросить Я например знаю что и куда правильно пис... большой текст свёрнут, показать
     
     
  • 10.91, Вебмакака (?), 18:09, 09/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лол Это пользовательское в юниксе случайно образовалось, там были хомяки, а п... текст свёрнут, показать
     
     
  • 11.92, RomanCh (ok), 23:51, 09/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да в общем-то в юниксах, и не только в них, много чего случайно образовалось И ... большой текст свёрнут, показать
     
     
  • 12.93, Вебмакака (?), 09:22, 10/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да А вы думали, только дедам можно что-то менять Не было принято, так щас буде... большой текст свёрнут, показать
     
     
  • 13.95, RomanCh (ok), 17:37, 10/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мы ничего не думали Мы видим что деды вполне нормально для своих времён сделали... большой текст свёрнут, показать
     
  • 10.94, RHEL Fan (?), 17:14, 10/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько я помню, usr - Unix System Resources... текст свёрнут, показать
     
     
  • 11.96, RomanCh (ok), 17:44, 10/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По воспоминаниями из книжек - таки User, а не Unix Педивикия говорит то же само... текст свёрнут, показать
     
  • 7.88, Andrew (??), 10:46, 09/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще, функционал интересный, жаль только, что появился он сравнительно не давно и, например, в RHEL/CentOS 7 (с которыми ещё минимум пару лет работать) этот патч так и не портировали.
     
  • 5.82, Аноним (82), 19:17, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > контроль исходящего трафа по приложениям - совершенно лишняя шняга..

    А как вообще можно представить фильтр по "приложению"? Номер pid указать, или argv[0] анализировать? А если будет fork?

    Если процесс нужно изолировать - запусти его от специального пользователя (или специальной группы) и изолируй сколько влезет. У меня, например, есть группа ipblacklist, для которой никакого сетевого обмена быть не может.
    Можно наоборот (и сейчас это даже лучше!) - сделать группы localnet/globalnet, для которых разрешен сетевой обмен.

    Если лень с uid/gid ковыряться - бери cgroups (кажется там и в рантайме можно туда/сюда процессы перемещать, соответственно фильтр можно вообще в рантайме изменить).

     
  • 4.9, And (??), 12:19, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На уровне приложения-то и нужно больше всего. В на век телеметрии...
     
     
  • 5.12, microsoft (?), 12:31, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ничего ничего зайдеш под безопасным рутом и правила то накарябаеш.
     
  • 5.30, Аноним (26), 17:12, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > На уровне приложения-то и нужно больше всего. В на век телеметрии...

    Как правило, основные отправители телеметрии — это браузеры.
    Будете им запрещать доступ в интернет?

     
     
  • 6.38, Takishima (ok), 18:07, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Разумеется.

    firejail + squid с white-листами

     
     
  • 7.75, Аноним (85), 15:45, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И некоторое количество возни с ssl_bump, если нужна полноценная L7-фильтрация.

    Рекламодатели, то есть, простите, разработчики браузеров, позаботились о том, чтобы отфильтровать их по дороге было максимально трудно.

     
     
  • 8.78, Takishima (ok), 16:44, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, можно с peek splice жить, по крайней мере по хостам резать доступ 8212 уж... текст свёрнут, показать
     
  • 6.56, Аноним (56), 01:27, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Будете им запрещать доступ в интернет?

    uMatrix это до некоторой степени умеет, приколитесь?!

     
     
  • 7.74, Аноним (85), 15:42, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Боюсь, что со встроенной в браузер телеметрией он ничего поделать не сможет.
     
     
  • 8.80, Takishima (ok), 16:46, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ungoogled chromium же А в Firefox е почти всё отключается в конфиге кроме firef... текст свёрнут, показать
     
     
  • 9.86, Аноним (85), 21:46, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что-то после историй с Brave, сборочкам от Васи верить не очень хочется ... текст свёрнут, показать
     
  • 3.24, Бармалей. (?), 16:33, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это можно сделать сделать с помощью дополнительных модулей - Dtrace, Bpftrace, или написать самому модуль ядра для линукс на С, обрабатывающих пакеты от приложений и записывающий их pid, или если ленивый то есть готовое решение - opensnitchd
     
     
  • 4.32, Аноним (-), 17:18, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    iptables сто лет умеет в фильтры по pid, например...
     
     
  • 5.34, Аноним (26), 17:24, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сто лет НЕ умеет, если быть точным.
    С тех, как в Linux появилась поддержка SMP.
     
  • 3.72, Аноним (-), 13:39, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    -j NFQUEUE
     
  • 2.45, Takishima (ok), 19:38, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и с этим дерьмом теперь придется жить... (

    Всё повторяется. 20+ лет назад то же самое было — уютный тёплый ламповый ipfwadm заменили на ipchains (вместе с переписанным с нуля IP стеком), сколько воя было.

    Большинство комментаторов, наверное, даже в 1 класс ещё тогда не ходило.

     
     
  • 3.61, Аноним (60), 04:00, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С чего это тоже самое? Абсолютно разные ситуации.
     

  • 1.10, Аноним (10), 12:23, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    аналог netmap так и не завезли?
     
  • 1.14, ZiP File (?), 12:50, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда уже в линукс портируют нормальный файрвол... Тео, дай свет безумцам!
     
     
  • 2.16, Сейд (ok), 12:57, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    firewall-config
     
     
  • 3.20, нггнш (?), 13:22, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Нормальный это про Agnitum Outpost
     
     
  • 4.21, microsoft (?), 14:39, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ого, а он еще жив?
     
     
  • 5.36, нггнш (?), 17:49, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    это не отменяет его качества
     
     
  • 6.57, Аноним (56), 01:29, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да вообще-то глючная штука.
     
  • 2.28, Аноним (26), 17:09, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда уже в линукс портируют нормальный файрвол... Тео, дай свет безумцам!

    Выше на nftables ругаются именно из-за pf-подобного синтаксиса.
    Получается, pf уже не катит в качестве "нормального файрвола"?

     
     
  • 3.62, Аноним (60), 04:03, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > pf-подобного синтаксиса

    Где вы там его увидели? Или вам раз фигурные скобки есть — значит pf?

     
     
  • 4.73, Аноним (85), 15:38, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Проще надо быть. Фигурные скобки есть — значит, JSON.
    Просто у pf и nftables JSON не вполне корректный.
     

  • 1.18, Онаним (?), 13:16, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Синтаксис вроде всем хорош, но выглядит удолбищно. Как-то надо это всё упрощать. Может быть действительно JSON, как некоторые предлагают.
     
  • 1.19, Онаним (?), 13:20, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть допустим не

    ip daddr @y и отдельно set

    а что-то вроде

    "z":{"filter":"daddr","proto":"ip","daddr":["192.168.10.35", "192.168.10.101", "192.168.10.135"]}

    для простых правил

    кому надо set, можно записать как

    "y":{"set":"ip", "ip":["192.168.10.35", "192.168.10.101", "192.168.10.135"]}
    "z":{"filter":"daddr","proto":"ip","daddr":"set:y"}

    короче трансляторы под это дело лепить и лепить ещё

     
  • 1.22, srgazh (?), 15:04, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Годная новость! https://github.com/devkid/nftables-systemd вообще сказка!
     
  • 1.23, Бармалей. (?), 16:29, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Только смысл в этой новизне? Нфт также работает через тот же нетфильтр и все, единственный плюс - объединение айпи протоколов - для всех протоколов сразу правила можно писать и всё, а так ничего принципиально нового, в нфт нельзя сделать ничего что нельзя сделать в иптаблес, другой вариант написания правил и все, это как один и тот же документ набить в разных редакторах, дело только в удобство
     
     
  • 2.37, Takishima (ok), 18:01, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Плюс в том, что iptables — кривая хрень с кучей легаси, которое пришло время переписать. Смотри: https://youtu.be/CCHV-W4Oh04?t=187
     
     
  • 3.41, OpenEcho (?), 19:18, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот когда в модерн/кул/тремендоус/эмайзинг инструменте будет совпадать документация с актуальщиной, то можно будет подумать, может ли он заменить "легаси"...

    Один из примеров:
       man nft:
      "export Print the ruleset in machine readable format. The mandatory format parameter may be either xml or json."

    Пробуем: nft export json
    результат:
    Error: this output type is not supported
    export json
    ^^^^^^^^^^^^

    Но почему-то не документированный ключ -j вполне себе понимает жсон

    nft -j list ruleset

     
     
  • 4.43, Takishima (ok), 19:27, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот когда в модерн/кул/тремендоус/эмайзинг инструменте будет совпадать документация
    > с актуальщиной, то можно будет подумать, может ли он заменить "легаси"...

    iptables не умел json

    Да и вообще, кому нужен json этот адовый?

    >    man nft:
    >   "export Print the ruleset in machine readable format. The mandatory
    > format parameter may be either xml or json."

    Это откуда такое? меня в мане про '-j' написано

    > Но почему-то не документированный ключ -j вполне себе понимает жсон
    > nft -j list ruleset

    Так работает, да. В man'е тоже написано

     
     
  • 5.47, OpenEcho (?), 20:25, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Да и вообще, кому нужен json этот адовый?

    Тем кто понимает зачем он нужен :) (репрезентация/сравнение/мониторинг на фронт эндах в больших конторах)

    >Это откуда такое? меня в мане про '-j' написано

    Debian 10 (Buster) - latest release

    >Так работает, да. В man'е тоже написано

    Может быть, но только не в самом популярмом линух дистрибутиве ака Debian

     
     
  • 6.49, Takishima (ok), 21:04, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Тем кто понимает зачем он нужен :)

    Гы, ну речь не про JSON вообще — а про json вывод nftables. Зачем?

    > но только не в самом популярмом линух дистрибутиве ака Debian

    Ну у меня тоже Debian.

     
     
  • 7.50, OpenEcho (?), 21:44, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Гы, ну речь не про JSON вообще — а про json вывод
    > nftables. Зачем?

    Я ж уже сказал - затем что удобно парсить на фронэнде/мониторинге, т.к. формат поддерживается практически везде

    >> но только не в самом популярмом линух дистрибутиве ака Debian
    > Ну у меня тоже Debian.

    Ну тогда сравните на предмет опции -j
    https://manpages.debian.org/testing/nftables/nft.8.en.html

    с

    man nft

    сходится?


     
     
  • 8.51, Аноним (2), 21:58, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Даже интересно стало, что вы там мониторите через json в фаерволе ... текст свёрнут, показать
     
     
  • 9.53, OpenEcho (?), 22:01, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сходство рулсетов в кластере... текст свёрнут, показать
     
     
  • 10.55, Takishima (ok), 22:05, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то велосипедом попахивает В кластере по определению такие вещи должны быть ... текст свёрнут, показать
     
     
  • 11.65, OpenEcho (?), 07:23, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ну, вот на этом, пожалуй и закончим, сорри, совсем забыл что нахожусь на ресурсе... текст свёрнут, показать
     
  • 11.66, Аноним (66), 08:32, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Смузи допей сначала, потом оркестраторы для администрирования пакет-фильтров при... текст свёрнут, показать
     
     
  • 12.69, Takishima (ok), 10:36, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А у тебя борода отклеилась и свитер без оленей Такие вещи делаются так, как аде... текст свёрнут, показать
     
  • 11.68, Andrew (??), 10:32, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    К сожалению, раскидать правила тем же Ansible не равно убедиться в том, что прав... текст свёрнут, показать
     
     
  • 12.70, Takishima (ok), 10:42, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так не надо им этого разрешать apt-get purge -y docker Если надо отдельные к... текст свёрнут, показать
     
  • 8.54, Takishima (ok), 22:02, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У вас уже есть готовое решение для парсинга Или может быть, когда нибудь Для D... текст свёрнут, показать
     
  • 3.42, OpenEcho (?), 19:22, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А да, чуть не забыл, предложенный "новый" синтакс
       nft export vm json
    выдает такое ЖСОН чудо : {"nftables":[

    и усе, ничего больше...

     
     
  • 4.48, OpenEcho (?), 20:27, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Минусовальщики, обьясните плиз, в чем мой то криминал?
     
     
  • 5.59, Аноним (56), 01:32, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Ты виноват лишь тем что хочется им кушать" //троллям каким-то.
     
  • 5.63, Аноним (60), 04:07, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты посмел сомневатся в великих людях придумавших и написавших nft!
     

  • 1.29, анонн (ok), 17:10, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Местами очень-очень напоминающий https minnie tuhs org cgi-bin utree pl file ... большой текст свёрнут, показать
     
     
  • 2.33, аннонн (?), 17:23, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, чтобы развеять подозрения, вы можете подать в суд на "мерзких линукcятников" за кражу интеллектуальной собственности...
    Только, боюсь, вердикт суда вам не понравится.
     
     
  • 3.35, анонн (ok), 17:42, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > от аннонн (?), 07-Июн-20,

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

    > Ну, чтобы развеять подозрения, вы можете подать в суд на "мерзких линукcятников" за кражу интеллектуальной собственности...

    Ну, чтобы охладить очередной батхерт очередных гордых носителей маечки с пингвинчиком от одного упоминания "нечествой" ОС *BSD* – вы можете для начала пересказать мне наш диалог в вашей голове?
    Где я там что-то говорил о "подозрениях", "мерзких линуксятниках" и "кражах"?
    Я привел только два куска кода и высказал удивление таким вот совпадениям, не выдвигая никаких обвинений - вы же, похоже, уже заранее принялись оправдываться в стиле "да вы че, да мы, да никогда, да вообще не докажете, ха!"

    Или как обычно - когда опеннетному носителю маечки с пингвинчиком, за отсутствующим знанием матчасти, нечего возразить аргументативно, начинается очередной детский сад и цирк с понями? ))

    > Только, боюсь, вердикт суда вам не понравится.

    Только, боюсь, на результат в виде чьего-то проженного кресла - это уже никак не повлияет ))


     
  • 3.58, Аноним (56), 01:31, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что есть "нечествой"? Это не черствой? Или не честной?
     

  • 1.40, Ананимус (?), 18:58, 07/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У меня только один вопрос к авторам nftables: почему нельзя было просто сделать синтаксис как в pf? Почему опять какая-то страшная срань, которую без мана и трех примеров прочитать невозможно? Почему некоторые правила должны заканчивать ';', а некоторые нет?
     
     
  • 2.44, Takishima (ok), 19:31, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > У меня только один вопрос к авторам nftables: почему нельзя было просто
    > сделать синтаксис как в pf? Почему опять какая-то страшная срань, которую
    > без мана и трех примеров прочитать невозможно?

    Опять учиться, какая боль, да?

    > Почему некоторые правила должны заканчивать ';', а некоторые нет?

    Никакие правила там не надо заканчивать ';'
    Это нужно только если два или более правила на одной строке.

     
     
  • 3.64, Аноним (60), 04:10, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Было бы чему учиться...
     
  • 3.79, InuYasha (??), 16:45, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Когда есть возможность ставить ';' - ставь ';'!
    - правило башника (и сишника, само собой)
     
  • 2.67, Аноним (66), 08:34, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что поколение сменилось. Если раньше был K.I.S.S., то теперь одни понты вперед скиллов бегут.
     
     
  • 3.76, Аноним (85), 15:47, 08/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, раньше и трава зеленее была.
     

  • 1.84, Аноним (84), 20:17, 08/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Оболочка nft крайне неудобная кривая и баговпнная.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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