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

0 Membres et 2 Invités sur ce sujet

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #108 le: 11 août 2025 à 11:54:18 »
@cyayon:

Citer
- les trois paramètres : pcp, dscp et priority ? Ou bien priority et dscp uniquement ? Sachant que j’applique sur l’interface vlan (832) et non sur l’interface physique.

Deux paramètres : PCP et DSCP (c.f. Simple rule management).

Citer
- peut on appliquer pcp directement sur une interface vlan (je pense que oui) ?

Ce n'est pas une bonne idée.

Citer
- vaut-il mieux appliquer sur l’interface vlan ou physique, et donc sans ou avec ^vlan id 832 ?

Il vaut mieux appliquer sur l'interface physique.



Explication

On devrait appliquer les règles uniquement sur l'interface physique. On peut faire totalement abstraction de l'interface virtuelle, cela complexifie la configuration et
n'apporte rien il me semble.

On définit les champs PCP (L2 « classes de service », CoS) et DSCP (L3 « services différenciés », DiffServ) des paquets comme cela est spécifié par Orange.
On peut modifier la métadonnée priority pour changer le PCP mais cela est également employé dans des configurations plus complexes (c.f. TC). Moins abstrait.

L'expression vlan id 832 permet de sélectionner des paquets. Je ne suis pas certain qu'elle soit obligatoire (à tester). Sinon, cela peut aider à clarifier des règles.
L'identifiant VLAN est associé de facto au champ PCP à cause du standard 802.1Q et un même périphérique peut supporter plusieurs VLANs. C'est aussi caractérisé
par rapport au domaine d'application de la table netdev.



cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 793
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #109 le: 11 août 2025 à 14:26:38 »
ok merci bcp pour ces précisions.
est-ce genant de faire 'vlan pcp set 6 meta priority set 0:6 ip6 dscp set cs6' sur l'interface physique ?
meme si 'vlan pcp set 6 ip6 dscp set cs6' devrait etre suffisant si j'ai bien compris.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #110 le: 11 août 2025 à 17:01:40 »
@cyayon :

Ce serait superflu et gênant sémantiquement car les deux expressions servent à changer la valeur du champ PCP. Je ferais un nouveau test demain sans l'expression vlan id... pour être sûr.
Mes règles sont actuellement segmentées dans plusieurs tables (inet (ICMPs), arp (ARP) et netdev (DHCPs)) pour réduire les risques d'erreur.

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 793
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #111 le: 11 août 2025 à 18:50:59 »
Super! Merci pour ton retour.
Actuellement c’est mon Mikrotik CCR 2116 qui tiens le dhclient en front de mon nftables.
Je compte revendre mon Mikrotik prochainement, et donc revenir avec mon nftables en front et qui tiendra le dhclient.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #112 le: 12 août 2025 à 10:24:56 »
J'ai testé avec les règles suivantes et cela fonctionne à priori. sfp1 est le nom de l'interface physique côté WAN.

Je n'ai pas appliqué de DSCP pour les paquets IGMP (il aurait fallu que je refasse une nouvelle capture réseau).

table netdev filter {
chain egress {
type filter hook egress device "sfp1" priority filter; policy accept;
udp dport 547 vlan pcp set 6 ip6 dscp set cs6 comment "QoS for DHCPv6 packets"
udp dport 67 vlan pcp set 6 ip dscp set cs6 comment "QoS for DHCPv4 packets"
ip protocol igmp vlan pcp set 5 comment "QoS for IGMP packets"
vlan type arp vlan pcp set 6 comment "QoS for ARP packets"
icmpv6 type { nd-router-solicit, nd-neighbor-solicit, nd-neighbor-advert } vlan pcp set 6 ip6 dscp set cs6 comment "QoS for ICMP packets"
}
}

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 793
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #113 le: 12 août 2025 à 10:29:19 »
Donc sans préciser ^vlan id 832 ?

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #114 le: 12 août 2025 à 10:31:21 »
Oui, sans vlan id ....

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 793
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #115 le: 12 août 2025 à 10:33:10 »
La je ne comprends pas …
Il vaut mieux conserver vlan id … ou appliquer sur l’interface vlan directement

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #116 le: 12 août 2025 à 10:38:07 »
@cyayon :

Le vlan id ... est une juste expression. On peut juxtaposer des expressions pour affiner « un filtre ». Il n'y a pas d'interface virtuelle dans le "device".

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #117 le: 12 août 2025 à 10:42:09 »
@cyayon :

Le trafic DHCP & Co. passe de toute façon par l'interface VLAN 832 ou VLAN 840 (IGMP).

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 793
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #118 le: 12 août 2025 à 10:49:05 »
Ok c’ est plus clair, donc pour reformuler : du fait qu’on applique en netdev, pas besoin de préciser vlan id …. mais ça fonctionne dans les 2 cas (avec ou sans vlan id …)

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 748
Filtrer les raw socket avec nftables ?
« Réponse #119 le: 12 août 2025 à 10:55:59 »
@cyayon :

Tout à fait.

Tous ces paquets transitent par le périphérique physique même si c'est sur un VLAN différent.

Exemple d'expressions vlan id mais aussi vlan type.