Опубликован выпуск пакетного фильтра nftables 1.0.5, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Одновременно опубликован выпуск сопутствующей библиотеки libnftnl 1.2.3, предоставляющей низкоуровневый API для взаимодействия с подсистемой nf_tables...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57619
Как я nftablesом из шелла фильтровать буду?
С помощью команды nft ......
Оптимизируем до того что правило совсем становится не читаемо.
И да - никакой документации!
Никогда
К чему нытьё? Это же и есть линаксвей.
А что это у них синтаксис чувствителен к стилю расстановки скобочек. Вот так, например, не воспринимает правила:
table ip x
{
chain y
{
type nat hook postrouting priority srcnat; policy drop;
ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80
ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90
}
}Получается, что ситуация хуже, чем оформление блоков пробельчиками.
Начнем с того что так и в обычных языках нормальные люди не делают. Зачем тратить строку для открывающейся скобки? Это просто отвратительно.
Ты слишком толстый
Тебе смволов перевода строки жалко? Мне - нет. Зато взамен получаю чёткое видение соответствия открывающей и закрывающей скобки.
> Начнем с того что так и в обычных языках нормальные люди не делают.Вообще-то удобно когда логический блок симметричен и на одном уровне, особенно с подсветкой скобок, сразу знаешь где парную скобку искать. Ускоряет навигацию.
> А что это у них синтаксис чувствителен к стилю расстановки скобочек. Вот
> так, например, не воспринимает правила:Вообще на баг похоже. А пробелами правила фаера структурировать упаси боже, потом там вообще черт ногу сломит.
Вот, кстати, такие же грабли я обнаружил в конфиге GRUB2. Там тоже от стиля расстановки скобочек можно потерять целый пункт меню загрузки.
я недавно все-таки начал изучать этот собачий язык.
атомарное применение правил, все дела.
вопрос - а у кого-нибудь работает такое:chain o_uid_bind {
type filter hook output priority 0; policy drop;
meta skuid bind accept
}
chain o_uid_ntp {
type filter hook output priority 0; policy drop;
meta skuid ntp accept
}
...
chain out_inet {
icmp type echo-request limit rate 5/second accept
ip protocol . th dport vmap {
tcp . 22 : accept,
udp . 53 : jump o_uid_bind,
tcp . 53 : jump o_uid_bind,
udp . 123 : jump o_uid_ntp
}
}
...
chain out_lan {
icmp type echo-request limit rate 5/second accept
ip protocol . th dport vmap {
tcp . 22 : accept,
udp . 53 : jump o_uid_bind,
tcp . 53 : jump o_uid_bind,
udp . 67 : accept,
udp . 123 : jump o_uid_ntp,
}
...