Auteur Sujet: Filtrer les raw socket avec nftables ?  (Lu 227 fois)

basilix et 2 Invités sur ce sujet

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 262
Filtrer les raw socket avec nftables ?
« le: 02 juillet 2024 à 22:09:51 »
Peut-on filtrer les « raw packets » avec nftables ?

C'est juste pour savoir si on peut le faire avec le nouveau hook « egress » de nftables.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 262
Filtrer les raw socket avec nftables ?
« Réponse #1 le: Hier à 06:29:32 »
C'est le Wiki Netfilter.org qui me fait penser cela.

Citer
Base chain hooks

ingress (only in netdev family since Linux kernel 4.2, and inet family since Linux kernel 5.10): sees packets immediately after they are passed up from the NIC driver, before even prerouting. So you have an alternative to tc.


Citer
Introduction

nftables can replace not even iptables, but it can be used to replace very poorly documented tc filter rules and allow user to classify packets into tc class / qdisc infrastructure.
[...]
* action used to classify packets into tc structure is meta set priority "1:0x2" - 0x can be omitted, but says clearly it is hex number - double quotes are required


Citer
Ingress hook

You can use nftables with the ingress hook to enforce very early filtering policies that take effect even before prerouting. Do note that at this very early stage, fragmented datagrams have not yet been reassembled. So, for example, matching ip saddr and daddr works for all ip packets, but matching L4 headers like udp dport works only for unfragmented packets, or the first fragment.


Personnellement, je préfère que le client DHCP soit modifié si nécessaire afin de définir un PCP (priority code point) adéquat sur le paquet DHCP (trame) « Discovery ».

Mastah

  • Abonné Orange Fibre
  • *
  • Messages: 382
  • XGS-PON et G-PON
Filtrer les raw socket avec nftables ?
« Réponse #2 le: Hier à 23:23:56 »
Bah d'après la doc il semble que oui, si ils parlent de remplacer TC

Je suis sur un kernel 6.1.0 et nft 1.0.6. Je dois donc pouvoir testé. Par contre j'ai la mega flemme de faire ça solo :D

Mastah

  • Abonné Orange Fibre
  • *
  • Messages: 382
  • XGS-PON et G-PON
Filtrer les raw socket avec nftables ?
« Réponse #3 le: Hier à 23:30:01 »
Personnellement, je préfère que le client DHCP soit modifié si nécessaire afin de définir un PCP (priority code point) adéquat sur le paquet DHCP (trame) « Discovery ».

De mon coté je préfère qu'un serveur DHCP n'ait pas à ce soucier de la prio des packets qu'il émet. Chaque couche devrait avoir sa responsabilité bien partagé.
Je préfère faire ça autrement. La solution via NFTable est pas mal du coup. A voir si fonctionnel cela dit.

Après j'ai un doute qu'avec NFTable tu puisses modifié un packet autre que l'accepter ou le refuser.

Mastah

  • Abonné Orange Fibre
  • *
  • Messages: 382
  • XGS-PON et G-PON
Filtrer les raw socket avec nftables ?
« Réponse #4 le: Hier à 23:43:58 »
Peut-être que si en faite, mais j'ai un gros doute.

Citer
Since nftables v0.7 you can match the packet priority, the tc classid:
nft add rule filter forward meta priority abcd:1234cf. https://wiki.nftables.org/wiki-nftables/index.php/Matching_packet_metainformation


nft add rule mangle postrouting tcp sport 80 meta priority set 1ou
tcp dport 25565 ip dscp set cs6

Potentiel recherche : nftables "802.1p" egress netdev
« Modifié: Aujourd'hui à 01:42:22 par Mastah »