Table des matières
Résumé
Netfilter est compilé en tant que module dans les noyaux fourni par la plupart des distributions. Il se peut toutefois que vous ayez a compiler vous-même le module si ce n'est pas le cas. La commande iptables fait partie des paquets installés par défaut sur Ubuntu/Debian. Nous verrons comment l'installer si toutefois elle n'était pas présente sur le système.
Cette méthode de compilation n'est pas spécifique aux système Debian. Elle peut facilement être adaptée a d'autres distributions. On prendra ici l'exemple du noyau 2.6.16, mais il faut évidemment adapter la version du noyau.
On télécharge le noyau et sa signature dans son home :
$
cd ~ && mkdir kernel && cd kernel
$
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
$
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2.sign
On vérifie la signature du paquet avec gpg :
$
gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E
$
gpg --verify linux-2.6.16.tar.bz2.sign linux-2.6.16.tar.bz2
On extrait les sources dans /usr/src :
$
sudo tar jxvf linux-2.6.16.tar.bz2 -c /usr/src
$
sudo ln -s /usr/src/linux-2.6.16 /usr/src/linux
$
cd /usr/src/linux && sudo su
On configure le noyau :
$
make [config|menuconfig|xconfig]
Une fois que l'on est dans la configuration du noyau, il va falloir intégrer les fonctionnalités suivantes :
Network packet filtering (replaces IPchains)
CONFIG_NETFILTER=y
Network packet filtering debugging
CONFIG_NETFILTER_DEBUG=y
Socket Filtering
CONFIG_FILTER=y
On peut ensuite compiler et installer le noyau :
On compile le noyau, les modules, et on les installe
make bzImage && make modules && make modules_install
On copie ensuite le noyau dans /boot
cp arch/i386/boot/bzImage /boot/bzImage-x.y.z cp System.map /boot/System.map-x.y.z
Il reste enfin à configurer le gestionnaire de démarrage (Lilo ou Grub) pour pouvoir démarrer sur le nouveau noyau.