Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3813

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Filtrer le trafic IPv6</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="HOWTO du routage avancé et du contrôle de trafic sous Linux" /><link rel="up" href="ch12.html" title="Chapitre 12. Filtres avancés pour la (re-)classification des paquets" /><link rel="prev" href="ch12s04.html" title="Filtres hachés pour un filtrage massif très rapide" /><link rel="next" href="ch13.html" title="Chapitre 13. Paramètres réseau du noyau" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Filtrer le trafic IPv6</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch12s04.html">Précédent</a> </td><th align="center" width="60%">Chapitre 12. Filtres avancés pour la (re-)classification des paquets</th><td align="right" width="20%"> <a accesskey="n" href="ch13.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="lartc.adv-filter.ipv6" />Filtrer le trafic IPv6</h2></div></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N1176E" />Comment se fait-il que ces filtres tc IPv6 ne fonctionnent pas ?</h3></div></div></div><p>
  La base de données des politiques de routage (RPDB) a remplacé le routage IPv4
  et la structure d'adressage à l'intérieur du noyau Linux, ce qui a
  permis les merveilleuses fonctionnalités décrites dans ce HOWTO.
  Malheureusement, la pile IPv6 à l'intérieur de Linux a été
  implémentée en dehors de cette structure principale. Bien qu'ils
  partagent des fonctionnalités, la structure RPDB de base ne participe pas
  dans ou avec les structures d'adressage et de routage de IPv6.
</p><p>
Ceci va sûrement changer, nous devons juste attendre un peu plus longtemps.
</p><p>
FIXME : Des idées sur des personnes travaillant sur ce sujet ?
Planifications ?
</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N11777" />Marquer les paquets IPv6 en utilisant ip6tables</h3></div></div></div><p>
 ip6tables est capable de marquer un paquet et de lui assigner un
 numéro :
 </p><pre class="screen"> # ip6tables -A PREROUTING -i eth0 -t mangle -p tcp -j MARK --mark 1
 </pre><p>
 Ceci ne va cependant pas nous aider dans la mesure où le paquet ne passera
 pas par la structure RPDB.
 </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N11781" />Utiliser le sélecteur u32 pour repérer le paquet IPv6</h3></div></div></div><p>
 IPv6 est normalement encapsulé dans un tunnel SIT et transporté à travers
 les réseaux IPv4. Voir la section sur le tunnel IPv6 pour de plus amples
 informations quant à la configuration d'un tel tunnel. Ceci nous permet de
 filtrer les paquets IPv4 en considérant les paquets IPv6 comme la charge
 utile.
 </p><p>
Le filtre suivant repère tous les paquets IPv6 encapsulés dans des paquets
IPv4 :
 </p><pre class="screen"># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \
             match ip protocol 41 0xff flowid 42:42
</pre><p>
Continuons. Supposons que les paquets IPv6 soient envoyés grâce à des
paquets IPv4 et que ces paquets n'ont pas d'options. On pourrait utiliser
le filtre suivant pour repérer ICMPv6 dans IPv6 dans IPv4 n'ayant aucune
option. 0x3a (58) est le type du champ en-tête suivant pour ICMPv6. 
</p><pre class="screen"># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \
            match ip protocol 41 0xff \
            match u8 0x05 0x0f at 0 \
            match u8 0x3a 0xff at 26 \
            flowid 42:42
</pre><p>
Repérer l'adresse de destination IPv6 nécessite un peu plus de travail. Le
filtre suivant repère l'adresse de destination 3ffe:202c:ffff:32:230:4fff:fe08:358d:
</p><pre class="screen"># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \
             match ip protocol 41 0xff \
             match u8 0x05 0x0f at 0 \
             match u8 0x3f 0xff at 44 \
             match u8 0xfe 0xff at 45 \
             match u8 0x20 0xff at 46 \
             match u8 0x2c 0xff at 47 \
             match u8 0xff 0xff at 48 \
             match u8 0xff 0xff at 49 \
             match u8 0x00 0xff at 50 \
             match u8 0x32 0xff at 51 \
             match u8 0x02 0xff at 52 \
             match u8 0x30 0xff at 53 \
             match u8 0x4f 0xff at 54 \
             match u8 0xff 0xff at 55 \
             match u8 0xfe 0xff at 56 \
             match u8 0x08 0xff at 57 \
             match u8 0x35 0xff at 58 \
             match u8 0x8d 0xff at 59 \
             flowid 10:13
</pre><p>
La même technique peut être utilisée pour repérer les réseaux. Par exemple
2001::
</p><pre class="screen"># tc filter add dev $DEV parent 10:0 protocol ip prio 10 u32 \
             match ip protocol 41 0xff \
             match u8 0x05 0x0f at 0 \
             match u8 0x20 0xff at 28 \
             match u8 0x01 0xff at 29 \
             flowid 10:13
</pre></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch12s04.html">Précédent</a> </td><td align="center" width="20%"><a accesskey="u" href="ch12.html">Niveau supérieur</a></td><td align="right" width="40%"> <a accesskey="n" href="ch13.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Filtres hachés pour un filtrage massif très rapide </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Chapitre 13. Paramètres réseau du noyau</td></tr></table></div></body></html>