1 votes

nftables ensembles nommés qui correspondent à des préfixes de réseau par le biais de filtres ou de variables

Je veux faire correspondre un ensemble de réseaux. Les ensembles anonymes fonctionnent bien, mais je veux créer un ensemble de préfixes pour le réutiliser en cas de besoin.

nft add set filter AllowedSSH { type ipv4_addr\;} // type for addreses
nft add element filter AllowedSSH { 10.0.0.0/8 } // not working
nft add element filter AllowedSSH { 10.0.0.1 } // works by IP

Quel type de filtre dois-je utiliser pour effectuer cette action ?

Le style des variables ne fonctionne pas non plus :

nft define networks = { 10.0.0.0/8 }
nft add rule ip filter input ip saddr $networks tcp dport 22 accept
Error: syntax error, unexpected dport, expecting end of file or newline or semicolon
add rule ip filter input ip saddr tcp dport 53 counter accept
                                  ^^^^^

Version NFT :

[root@foo ~]# nft -v
nftables v0.8 (Joe Btfsplk)

Merci d'avance.

1voto

Ashly Points 1

Si vous voulez ajouter les préfixes dans l'ensemble, vous devez spécifier l'option interval drapeau.

Dans votre exemple, ce sera comme suit :

nft add set filter AllowedSSH { type ipv4_addr\; flags interval\; }
nft add element filter AllowedSSH { 10.0.0.0/8 }
nft add element filter AllowedSSH { 192.168.0.0/24 }

nft list set filter AllowedSSH
table ip filter {
    set AllowedSSH {
        type ipv4_addr
        flags interval
        elements = { 10.0.0.0/8, 192.168.0.0/24 }
    }
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X