Tenho duas tabelas no nftables:
$ sudo nft list tables
table inet filter
table ip nat
A nat
tabela pode ser listada perfeitamente:
$ sudo nft list table nat
table ip nat {
chain prerouting {
type nat hook prerouting priority filter; policy accept;
<output truncated>
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
<output truncated>
}
}
Mas não a filter
mesa:
$ sudo nft list table filter
Error: No such file or directory
list table filter
^^^^^^
Isso significa que não posso adicionar novas regras na linha de comando:
$ sudo nft add rule filter forward oif <interface> ip saddr <ip> accept
Error: No such file or directory; did you mean table ‘filter’ in family inet?
add rule filter forward oif <interface> ip saddr <ip> accept
^^^^^^
Esta é a primeira vez que tento usar a nft
linha de comando, até agora só tive uma configuração estática /etc/nftables.conf
e isso foi suficiente. O que está acontecendo aqui?
Por padrão, a
ip
família é usada se você não especificá-la. Então yournft list table nat
é o mesmo quenft list table ip nat
, que corresponde à tabela que você criou.No entanto
nft list table filter
significarianft list table ip filter
que não existe, porque você está usando ainet
família.Então você só precisa especificar a família;
nft list table inet filter
.O mesmo se aplica ao seu comando "add".