block in log quick on $wan_iface inet6 to <lan_v6> # Block incoming IPv6 trafic non sollicited by local LAN hosts
si je lit bien ca bloque tout meme ICMPv6 (y'a qu'un match sur des adresses et pas le contenu) ?
Attention avec IPv6 il ne faut pas bloquer tout ICMPv6. on peut bloquer le ping (type 128/129), les RA/RD/NS/ND etc mais il faut au moins laisser entrer :
Destination inaccessible (ICMPv6 entrant, type 1)
Paquet trop important (ICMPv6 entrant,type 2)
temps dépassé (ICMPv6 entrant , type 3)
problème de paramètres (ICMPv6 entrant, type 4)
soit les types 1 a 4 (voir les roles types ici:
http://tools.ietf.org/html/rfc4443 )
voir :
https://www.ietf.org/rfc/rfc4890.txt (4.3.1) pour plus de détails.
Par exemple ne pas laisser entrer le type 2 (Paquet trop important) peut perturber les connexions sortantes:
En IPv6 il n'y a pas de fragmentation en cours d'acheminement. C'est donc a l'èmetteur de réduire le paquet si le path (mtu) est trop petit pour celui-ci. Pour ce faire quand un paquet trop grand est détecté quelque part sur le chemin, le routeur qui ne peut le gérer renvoi un ICMPv6 type 2 a l'èmetteur d'origine du paquet. La source est donc prévenu que le paquet n'a pas été acheminé jusqu'au bout et peut agir (réémission avec une taille plus petite ou signaler une erreur a la couche applicative).
Si l'ICMPv6 type 2 est bloqué et n'arrive pas a l'èmetteur d'origine, ce dernier va attendre un timeout de connexion (si c'est du tcp par exemple) ce qui peut être long et il ne saura jamais comment établir une connexion avec cette destination.
Il faut donc voir si le statefull firewall autorise une entrée ICMPv6 correspondant a une sortie IPv6 (j'en doute c'est pas le même protocole niv 4 et en plus c'est pas forcement la même source de retour). Sinon et c'est plus probable il faut autoriser ,au moins, les 4 premiers types pour un bon fonctionnement d'IPv6.