Sheridan
а нафига из пустов порожнее? У nft совершенно не плоский json Например вот { "rule": { "family": "inet", "table": "filter", "chain": "network_hosts", "handle": 1831, "comment": "[washer->internet] Default nntp [udp]", "expr": [ { "match": { "left": { "meta": "oifname" }, "right": "external_rt_0" } }, { "match": { "left": { "payload": { "name": "ip", "field": "saddr" } }, "right": "10.0.0.73" } }, { "match": { "left": { "payload": { "name": "udp", "field": "dport" } }, "right": { "set": ["nntp", "nntps"] } } }, { "counter": { "packets": 0, "bytes": 0 } }, { "accept": null }] } },
Sheridan
А может быть и таким "rule": { "family": "inet", "table": "filter", "chain": "netscan_drop", "handle": 599, "comment": "drop invalid packets", "expr": [ { "match": { "left": { "&": [ { "payload": { "name": "tcp", "field": "flags" } }, { "|": [ { "|": [ { "|": [ { "|": [ { "|": ["fin", "syn"] }, "rst"] }, "psh"] }, "ack"] }, "urg"] }] }, "right": "fin", "op": "<" } }, { "counter": { "packets": 0, "bytes": 0 } }, { "drop": null }] } },
Sheridan
Или вообще таким "rule": { "family": "ip", "table": "nat", "chain": "postrouting", "handle": 10, "comment": "count accepted packets", "expr": [ { "counter": { "packets": 51093, "bytes": 3653565 } }] }
Sheridan
так что если структуру описывать, то либо иметь себе мозг и описывать её сразу во все возможные варианты, причом потом поддерживать еще. Или как я - парсить налету, брать значения сразу из json, выбирая оттуда только то что нужно
Sheridan
выхлоп nft -j list ruleset
Sheridan
можно. Только зачем мне для временных данных дважды память выделять? Один раз для жсона и второй раз для структур?
Sheridan
можно и так, да
Sheridan
еще раз посмотри на жсон. Такое себе удовольствие под него структуры писать. Монстры получаются. Более того, в выхлопе rule, table, chain являются элементами массива nftables, на одном уровне. И идут вперемешку друг с другом. Всё равно придётся руками по элементам ходить
Sheridan
https://github.com/Sheridan/nftables_exporter/blob/bcac5acbb4a9669daa705cc92705b5fa0646bc6d/main.go#L51
Sheridan
https://pastebin.com/K9xgY8Lh посмотри что генерирует автогенератор. Нафиг, лучше руками. По крайней мере пока.
Sheridan
и всё равно проходить руками и по совпадению строк в элементах массива определять какой тим сейчас нужен
Sheridan
потрогаю, спасибо. Но пока что я вижу манипулирование правилами. Но посмотрю завтра подробнее
Sheridan
https://godoc.org/github.com/google/nftables#Rule Комментария нет (
Sheridan
ну типы щёччиков есть, да
Sheridan
и вроде умеет вытаскивать правила
Sheridan
значит поидее сможет и щеччики вытащить
Sheridan
крч
Sheridan
завтра )
Sheridan
спасибо )
Sheridan
подписывайтесь на канал, лайки, колокольчик и вот это вот всё ))
sexst
Вот бы сейчас написать что-то для сбора метрик ради сбора метрик, ммммм...
Telebotik
Про nft спич )
Telebotik
Киньте плиз рабочее правило как матчить tcp и udp одной строкой, из Вики почему-то не взлетело.
Alexey
Ip
Evgeniy
meta l4proto {tcp, udp} похоже
Telebotik
meta l4proto {tcp, udp} похоже
Пипец, ужос а я крутил # nft 'add rule inet filter input meta l4proto {tcp, udp} @th,16,16 53 counter accept comment "accept DNS"'
Telebotik
Спасибо ) Всего то нужно было сделать nft add rule ip filter input meta l4proto {tcp, udp} accept
Sheridan
Я бы наверное всётаки nft add rule ip filter input meta proto {tcp, udp} accept - емнип так и 4 и 6 захватит
Telebotik
Резонно, принял к сведению. )
Sheridan
ан нет, там же ip6
Sheridan
Резонно, принял к сведению. )
хотя... попробовать так nft add rule inet filter input meta proto {tcp, udp} accept
Sheridan
А я вот спросонья чтото в цепях запуталсо... ip4(nat) и ip6(no nat) у меня. Хочу выпускать хосты только в определенные порты... в output или forward мне втыкать правила?... кмк в forward, не?
Sheridan
ну чтото типа oif "external_he_0" ip6 saddr 2001:470:11c8:1::49 tcp dport { nntp, nntps } counter packets 0 bytes 0 accept comment "[washer->internet] Default nntp [tcp]" вот такие правила
Telebotik
Я не подскажу, сам только начал недавно вникать. Но вроде ж в output не?
Telebotik
Если просто натить нужно.
Sheridan
да вот чтото похоже не пашет. Счетчики крутятся не для конкретных правил а для чайна целиком только. Если чайн поставлю в reject то работать не будет...
Roman
ФСБ получила право разделегировать домены сайтов, нарушающих закон. Ведомство сможет блокировать порталы быстрее суда и Роскомнадзора
Stanislav
эм, а которые зареганы через забугорных регистраторов?
Roman
Roman
эм, а которые зареганы через забугорных регистраторов?
ну наверно только тех которые здесь, в ru
Михаил
Для для этого есть другие
sexst
ты думаешь к тебе придут? есть способ и без активаторов....
Во-первых мне лень с этим возиться Во-вторых я плачу за софт, которым пользуюсь ибо чужой труд должен быть оплачен
Evgeniy
Yaroslav
Огурец - огурец
sexst
Любой?
Любой, за который автор хочет денег естессно
Yaroslav
Любой, за который автор хочет денег естессно
Автор или обладатель авторских прав) а то идеализируешь а молодежь может поверить
sexst
Давайте лучше посрёмся на животрепещущие темы. Ящитаю что счётчики на линуксовом фаерволе в проде не нужны. И если вы на них смотрите, то вы что-то делаете не так
sexst
sexst
Автор или обладатель авторских прав) а то идеализируешь а молодежь может поверить
Окей, я просто ленивый и не хочу ковыряться с этими хаками и сраками ежели удобнее купить
Evgeniy
а чо эт дорого стоит по производительности ?
Evgeniy
есть замеры?
sexst
а чо эт дорого стоит по производительности ?
Дорого. И ненужно от слова вообще
sexst
Вот реально нахрена любому человеку эти цифры ради цифр?
Evgeniy
ну зависит от правил наверное..
Evgeniy
можно убирать те где нету матчей.
sexst
Когда кто-то тут вообще последний раз этим пользовался не для однократной проверки "Попадает ли туда трафик вообще?"
Evgeniy
я сегодня в интернетах видел портянки, которые типа от атак на тсп защищают
Evgeniy
вот если тот кто зайдет туда потом увидит это все с нулями матчей) задумается, что не нужно оно ваще
Захар
Во-первых мне лень с этим возиться Во-вторых я плачу за софт, которым пользуюсь ибо чужой труд должен быть оплачен
чужой труд оплачивается если ты сам не трудишься не хочешь тратить время на поиск и хак - плати люди у которых есть желание бесплатно получить всегда найдут способ
Vladimir
они тебе необходимы
Ilya
http://it.icmp.ru/post/view/6898
Stanislav
http://it.icmp.ru/post/view/6898
есть лучше же
Stanislav
Захар
Ilya
sexst
найди запятые для начала
Да ладно, читаемо и смысл понятен. Эхо мессенджеров. Вообще мне кажется, что в русском языке дохуя много оверинжиниринга и переусложнений
sexst
они мне не нужны
Другим нужны
Захар
Другим нужны
пусть другие и ставят
sexst
Опять Брайан с утра бухает
sexst
Разве?
Исключительно при знании контекста и за счёт разбивки на три параграфа