<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>2. Préparation </title> <link rel="stylesheet" href="style.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <link rel="start" href="index.html" title=" HOWTO IPv6 Linux (fr) "> <link rel="up" href="ch16.html" title="Chapitre 16. Mettre en place le pare-feu "> <link rel="prev" href="ch16s01.html" title="1. Mettre en place un pare-feu grâce à netfilter "> <link rel="next" href="ch16s03.html" title="3. Utilisation "> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr><th colspan="3" align="center">2. Préparation </th></tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ch16s01.html">Précédent</a> </td> <th width="60%" align="center">Chapitre 16. Mettre en place le pare-feu </th> <td width="20%" align="right"> <a accesskey="n" href="ch16s03.html">Suivant</a> </td> </tr> </table> <hr> </div> <div class="sect1" lang="fr"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="id2545278"></a>2. Préparation </h2></div></div></div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2545284"></a>2.1. Récupérer les sources </h3></div></div></div> <p> Récupérez les dernières sources du noyau: <a href="http://www.kernel.org/" target="_top">http://www.kernel.org/</a> </p> <p> Récupérez le dernier paquetage d'iptables: </p> <div class="itemizedlist"><ul type="disc"> <li><p> Les sources en archive tar (pour patcher le noyau): <a href="http://www.netfilter.org/" target="_top">http://www.netfilter.org/</a> </p></li> <li><p> Les sources en RPM pour reconstruire les binaires (pour les systèmes RedHat): <a href="ftp://ftp.redhat.com/redhat/linux/rawhide/SRPMS/SRPMS/" target="_top">ftp://ftp.redhat.com/redhat/linux/rawhide/SRPMS/SRPMS/</a> ou peut-être encore dans <a href="http://www.netcore.fi/pekkas/linux/ipv6/%20" target="_top">http://www.netcore.fi/pekkas/linux/ipv6/ </a> </p></li> </ul></div> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2545349"></a>2.2. Extraire les sources </h3></div></div></div> <p> Déplacez-vous dans le répertoire des sources: </p> <pre class="programlisting"> # cd /chemin/vers/les/sources </pre> <p> Décompactez et renommez les sources du noyau </p> <pre class="programlisting"> # tar z|jxf kernel-version.tar.gz|bz2 # mv linux linux-version-iptables-version+IPv6 </pre> <p> Décompactez les sources d'iptables </p> <pre class="programlisting"> # tar z|jxf iptables-version.tar.gz|bz2 </pre> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2545396"></a>2.3. Appliquer les derniers patchs relatifs à iptables/IPv6 aux sources du noyau </h3></div></div></div> <p> Déplacez-vous dans le répertoire iptables </p> <pre class="programlisting"> # cd iptables-version </pre> <p> Appliquez les patchs en attente </p> <pre class="programlisting"> # make pending-patches KERNEL_DIR=/chemin/vers/les/sources/linux-version-iptables-version+IPv6/ </pre> <p> Appliquez les patchs additionnels relatifs à IPv6 (pas encore inclus dans le noyau vanille) </p> <pre class="programlisting"> # make patch-o-matic KERNEL_DIR=/path/to/src/linux-version-iptables-version/ </pre> <p> Répondez par l'affirmative aux options suivantes (iptables-1.2.2) </p> <div class="itemizedlist"><ul type="disc"> <li><p> ah-esp.patch </p></li> <li><p> masq-dynaddr.patch (nécessaire seulement sur les systèmes ayant une adresse IP dynamique à la connexion au WAN, comme pour PPP ou PPPoE) </p></li> <li><p> ipv6-agr.patch.ipv6 </p></li> <li><p> ipv6-ports.patch.ipv6 </p></li> <li><p> LOG.patch.ipv6 </p></li> <li><p> REJECT.patch.ipv6 </p></li> </ul></div> <p> Vérifier la présence des extensions IPv6 </p> <pre class="programlisting"> # make print-extensions Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport </pre> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2545516"></a>2.4. Configurer, construire et installer un nouveau noyau </h3></div></div></div> <p> Déplacez-vous dans les sources du noyau </p> <pre class="programlisting"> # cd /chemin/vers/les/sources/linux-version-iptables-version/ </pre> <p> Editez Makefile </p> <pre class="programlisting"> - EXTRAVERSION = + EXTRAVERSION = -iptables-version+IPv6-try </pre> <p> Lancez configure, avec IPv6 de disponible </p> <pre class="programlisting"> Code maturity level options Prompt for development and/or incomplete code/drivers : yes Networking options Network packet filtering: yes The IPv6 protocol: module IPv6: Netfilter Configuration IP6 tables support: module All new options like following: limit match support: module MAC address match support: module Multiple port match support: module Owner match support: module netfilter MARK match support: module Aggregated address check: module Packet filtering: module REJECT target support: module LOG target support: module Packet mangling: module MARK target support: module </pre> <p> Configurez aussi tout ce qui concerne votre système </p> <p> Compilez et installez: voir ici même la section noyau et autres HOWTO </p> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2545598"></a>2.5. Reconstruire et installer les binaires d'iptables </h3></div></div></div> <p> Assurez-vous que l'arborescence des sources du noyau existe aussi dans /usr/src/linux/ </p> <p> Renommez l'ancien répertoire </p> <pre class="programlisting"> # mv /usr/src/linux /usr/src/linux.old </pre> <p> Créez un nouveau lien symbolique </p> <pre class="programlisting"> # ln -s /chemin/vers/src/linux-version-iptables-version /usr/src/linux </pre> <p> Reconstruisez le SRPM </p> <pre class="programlisting"> # rpm --rebuild /chemin/vers/SRPM/iptables-version-release.src.rpm </pre> <p> Installez les nouveaux paquetages iptables (iptables + iptables-ipv6) </p> <div class="itemizedlist"><ul type="disc"><li><p> Sur les systèmes RH 7.1, normalement, une ancienne version est installée, en conséquence utiliser "freshen" </p></li></ul></div> <pre class="programlisting"> # rpm -Fhv /chemin/vers/RPMS/cpu/iptables*-version-release.cpu.rpm </pre> <div class="itemizedlist"><ul type="disc"><li><p> Si elle n'était pas installée, utiliser "install" </p></li></ul></div> <pre class="programlisting"> # rpm -ihv /chemin/vers/RPMS/cpu/iptables*-version-release.cpu.rpm </pre> <div class="itemizedlist"><ul type="disc"><li><p> Sur les systèmes RH 6.2, normalement, aucun noyau 2.4.x n'est installé, conséquemment les pré-requis ne correspondent pas. Utiliser "--nodeps" pour l'installer </p></li></ul></div> <pre class="programlisting"> # rpm -ihv --nodeps /chemin/vers/RPMS/cpu/iptables*-version-release.cpu.rpm </pre> <p> Il sera peut-être nécessaire de créer un lien symbolique vers le lieu où les bibliothèques iptables sont </p> <pre class="programlisting"> # ln -s /lib/iptables/ /usr/lib/iptables </pre> </div> </div> <div class="navfooter"> <hr> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"> <a accesskey="p" href="ch16s01.html">Précédent</a> </td> <td width="20%" align="center"><a accesskey="u" href="ch16.html">Niveau supérieur</a></td> <td width="40%" align="right"> <a accesskey="n" href="ch16s03.html">Suivant</a> </td> </tr> <tr> <td width="40%" align="left" valign="top">1. Mettre en place un pare-feu grâce à netfilter </td> <td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td> <td width="40%" align="right" valign="top"> 3. Utilisation </td> </tr> </table> </div> </body> </html>