Agora vamos aplicar o patch necessário no
kernel desta forma:
# cd /usr/src/linux-2.6.14
# patch -p1 < /usr/src/netfilter-layer7-v2.0/kernel-2.6.13-2.6.14-layer7-2.0.patch
Aproveite e copie o arquivo de configuração de seu kernel, que já esta instalado para o diretório /usr/src/linux-2.6.14:
# cp /boot/config-2.6.8-2-386 /usr/src/linux-2.6.14/.config
Quase lá agora...
Agora vamos habilitar o módulo:
# make menuconfig
Escolha a opção "Networking".
Depois, "Networking options", e em seguida "Network packet filtering (replaces ipchains".
Em seguida escolha "IP: Netfilter Configuration".
Procure pelas opções, "Layer 7 match support (EXPERIMENTAL) e "Layer 7 debugging output" e marque as duas.
Podemos aproveitar e marcar outras opções, assim podemos ter mais funcionalidades.
Agora iremos compilar o novo Kernel com o patch do Layer7:
# make-kpkg clean
# make-kpkg --append-to-version "-386" --initrd --us --uc kernel_image
Destrinchando as opções:
- --append-to-version: Acrescenta a palavra que você indicar, não use maiúsculas;
- --initrd: indica de junto com o kernel, deve ser criado um arquivo "initrd", que será necessário, para saber mais "man 4 initrd";
- --us e --uc: Opções para criação de pacotes, para não tentar assinar com o gpg e não criar changelog, para saber mais "man dpkg-buildpackage";
- kernel_image: É a opção que o make-kpkg vai executar, criando uma pacote Debian com a imagem do kernel, para saber mais "man make-kpkg".
Após executar o comando, vai aparecer uma pergunta como esta:
Warning: You are using the initrd option, that may not
work unless you have applied the initrd cramfs patch to
the kernel, or modified mkinitrd not to use cramfs by
default. The cramfs initrd patch, is included in the
Debian supplied kernel sources, but is not present in
pristine kernel sources.
By default, I assume you know what you are doing, and I
apologize for being so annoying. Should I abort[Ny]?
Digite "n" para não abortar e tecle "Enter".
Se você gosta de um cafezinho e talvez até um cigarro, esta é a hora, dependendo de sua máquina pode demorar um pouco.
Após o termino mude para o diretório /usr/src e vai ter um pacote como este:
kernel-image-2.6.14-386_10.00_i386.deb
Então digite o seguinte comando para instalar o novo kernel:
# dpkg -i kernel-image-2.6.14-386_10.00_i386.deb
No diretório /boot, vão ter agora mais 2 arquivos, vmlinux-2.6.14-386 e initrd.img-2.6.14-386 prontos para serem usados.
No nosso caso, em que usamos Grub, não se necessita editar nenhum arquivo, pois tudo já é feito automaticamente.
Bom, a parte do kernel já esta pronta, vamos então aplicar o patch do
Layer7 no
iptables.