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

0 Membres et 2 Invités sur ce sujet

Mastah

  • Abonné Orange Fibre
  • *
  • Messages: 433
  • XGS-PON et G-PON
Filtrer les raw socket avec nftables ?
« Réponse #48 le: 16 juillet 2024 à 20:55:11 »
Je viens de verif il faut effectivement aussi tag les NA en cos6 / dscp cs6


Solution pour modifier les trames
- COS6: DHCP v4&v6 / ARP / ICMP 6 (RS/NS/NA)
- DSCP cs6: DHCP v4&v6 / ICMP 6 (RS/NS/NA)

table netdev filter {
        chain egress {
                type filter hook egress device "IFACE_NAME" priority filter; policy accept;
                icmpv6 type { nd-router-solicit, nd-neighbor-solicit, nd-neighbor-advert } meta priority set 0:6 ip6 dscp set cs6 comment "Set CoS value to 6 for RS/RA packets"
                udp dport 547 meta priority set 0:6 ip6 dscp set cs6 comment "Set CoS value to 6 for DHCPv6 packets"
                ether type arp meta priority set 0:6 comment "Set CoS value to 6 for arp packets"
                udp dport 67 meta priority set 0:6 ip dscp set cs6 comment "Set CoS value to 6 for DHCPv4 packets"
        }
}

# Add PCP 6 (802.1Q prio 6)
nft add "table netdev filter"
nft add "chain netdev filter egress { type filter hook egress device IFACE_NAME priority 0; }"

# IPV4
nft insert "rule netdev filter egress udp dport 67 meta priority set 0:6 ip dscp set cs6 comment \"Set CoS value to 6 for DHCPv4 packets\""
nft insert "rule netdev filter egress ether type arp meta priority set 0:6 comment \"Set CoS value to 6 for arp packets\""

# IPV6
nft insert "rule netdev filter egress udp dport 547 meta priority set 0:6 ip6 dscp set cs6 comment \"Set CoS value to 6 for DHCPv6 packets\""
nft insert "rule netdev filter egress icmpv6 type { nd-router-solicit, nd-neighbor-solicit, nd-neighbor-advert } meta priority set 0:6 ip6 dscp set cs6 comment \"Set CoS value to 6 for RS/RA packets\""






Plus d'excuses possible pour ne pas bypass proprement.
« Modifié: Aujourd'hui à 19:37:54 par Mastah »

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 305
Filtrer les raw socket avec nftables ?
« Réponse #49 le: 17 juillet 2024 à 11:39:29 »
Chaque nœud actualise aussi périodiquement son cache des voisins en émettant des message de sollicitation de voisin (Neighbor Unreachability Detection: NUD).

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 675
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #50 le: 17 juillet 2024 à 11:45:44 »
pourquoi ne pas appliquer tout ICMPv6 vers fe00::/7 (fe80::/10 + ff02::/16) ? sur Mikrotik, on fait comme ca.
avec netdev/egress peut-on appliquer sur la destination ?

EDIT : je ne sais pas si cela produit le bon résultat, mais cette syntaxe est correcte
nft insert "rule netdev filter egress icmpv6 daddr { fe00::/7 } meta priority set 0:6 ip6 dscp set cs6 counter comment \"egress_prio_orange_ICMP6\""



basilix

  • Abonné Orange Fibre
  • *
  • Messages: 305
Filtrer les raw socket avec nftables ?
« Réponse #51 le: 17 juillet 2024 à 12:09:35 »
SLAAC et DHCPv6 reposent sur le protocole NDP (NS, NA, RS, RA...) pour obtenir une adresse IP. Le protocole NDP impose la création d'une adresse locale au lien sur chaque interface du nœud.
C'est la première étape pour attribuer une adresse IP. En l'occurence, NDP est un sous-ensemble de messages ICMPv6. Les messages DHCPv6 sont également émis avec une adresse multicast.
Le préfixe fe00::/7 inclut les préfixes s'étendant de la plage fe00::/8 jusqu'à ff00::/8 donc il inclut le préfixe fe80::/10 (toutes les adresses locales au lien (LLA)) et ff00::/8
(c'est-à-dire toutes les adresses multicast).

[12:43] Les messages NA NS sont envoyés avec une adresse de destination multicast fabriquée à partir de chaque interface.
« Modifié: 17 juillet 2024 à 15:37:03 par basilix »

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 305
Filtrer les raw socket avec nftables ?
« Réponse #52 le: 17 juillet 2024 à 12:17:04 »
Donc, en principe, cela ne donne pas un grand sens de préciser le préfixe. Les messages ICMPv6 sont renvoyés à un nœud du réseau ayant émis un message pour spécifier une
erreur ou une fournir une indication.

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 675
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #53 le: 17 juillet 2024 à 14:10:45 »
Donc, en principe, cela ne donne pas un grand sens de préciser le préfixe. Les messages ICMPv6 sont renvoyés à un nœud du réseau ayant émis un message pour spécifier une
erreur ou une fournir une indication.

Merci pour ta réponse complète.
Sur mikrotik, on utilise des "switch rules", on ne peut pas préciser le type d'icmpv6. Le workaround est alors d'utiliser la destination, d'où l'utilisation du prefix.
D'après ma compréhension, ca doit aussi fonctionner non (même si peu d'interêt vis à vis de l'autre méthode en précisant le type icmpv6) ? En tout cas sur Mikrotik ca fonctionne...

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 305
Filtrer les raw socket avec nftables ?
« Réponse #54 le: 17 juillet 2024 à 15:24:50 »
@cyayon :

On peut prendre les choses sous divers angles. Mais pour obtenir les informations d'auto-configuration permettant d'établir une connexion IPv6 sur le réseau Orange, ce n'est pas nécessaire.
Les adresses incluses dans le préfixe fe00::/7 correspondent à une multitude d'adresses qui ne seront jamais utilisées par le routeur. En définitif, le sélecteur par IP ne permet pas de
sélectionner les paquets de façon mieux définie que sans. En d'autres termes, on aura exactement les mêmes paquets qui correspondront à ces deux règles.

[15:34] Je me suis mélangé les pinceaux. C'est le message NS qui est envoyé à l'adresse multicast sollicitée.

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 675
  • Cordon 74 - Orange Fibre Pro
Filtrer les raw socket avec nftables ?
« Réponse #55 le: 17 juillet 2024 à 15:27:47 »
Merci.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 305
Filtrer les raw socket avec nftables ?
« Réponse #56 le: 17 juillet 2024 à 17:50:09 »
Je recommande le MOOC « Objectif IPv6 » pour les gens qui veulent découvrir IPv6. La nouvelle date d'ouverture du MOOC est en septembre.
Il faut quand même avoir des connaissances en réseaux pour suivre ce MOOC mais il est vraiment bien conçu.

Mastah

  • Abonné Orange Fibre
  • *
  • Messages: 433
  • XGS-PON et G-PON
Filtrer les raw socket avec nftables ?
« Réponse #57 le: 17 juillet 2024 à 18:02:14 »
Levieux étant aussi assez explicite dans les type de packet devant ou non être en cos6 / dscp cs6 autant se servir de ces règles là, et pas autre chose. C'est ce que je fais sur les règles nftable.

@basilix peux-tu mettre a jour ton premier message en indiquant que la solution est ce lien : https://lafibre.info/remplacer-livebox/filtrer-les-raw-socket-avec-nftables/msg1079566/#msg1079566

Ça évitera à la terre entière de lire 50 pages avant d'avoir une réponse. Comme c'est le cas partout sur ce forum, où il faut lire 200pages :D