16.2. Preparazione

16.2.1. Procurarsi i sorgenti

Procurarsi gli ultimi sorgenti del kernel: http://www.kernel.org/

Procurarsi l'ultimo pacchetto iptables:

16.2.2. Estrazione dei file

Impostare la directory di lavoro con quella che contiene i file scaricati:

# cd /path/to/src 
   

Spacchettare e rinominare i sorgenti del kernel

# tar z|jxf kernel-version.tar.gz|bz2 
# mv linux linux-version-iptables-version+IPv6 
   

Spacchettare i sorgenti di iptables

# tar z|jxf iptables-version.tar.gz|bz2 
   

16.2.3. Applicare le ultime patch relative a iptables/IPv6 ai sorgenti del kernel

Cambiare la directory di lavoro con quella relativa ad iptables

# cd iptables-version 
   

Applicare le patch pendenti

# make pending-patches KERNEL_DIR=/path/to/src/linux-version-iptables-version/ 
   

Applicare le patch addizionali relative a IPv6 (non ancora incluse nel kernel vanilla)

# make patch-o-matic KERNEL_DIR=/path/to/src/linux-version-iptables-version/ 
   

Rispondere sì alle seguenti opzioni (iptables-1.2.2)

Verifica estensioni IPv6

# make print-extensions 
Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport
   

16.2.4. Configurazione, compilazione e installazione del nuovo kernel

Cambiare la directory di lavoro con quella contenente i sorgenti del kernel

# cd /path/to/src/linux-version-iptables-version/ 
   

Modifica del Makefile

- EXTRAVERSION = 
+ EXTRAVERSION = -iptables-version+IPv6-try 
   

Lanciare configure, abilitare le voci relative a IPv6

            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 
   

Configurare anche le altre voci relative al proprio sistema.

Compilazione e installazione: si veda la sezione kernel qui e gli altri HOWTO.

16.2.5. Rebuild ed installazione dei binari di iptables

Ci si assicuri che l'albero dei sorgenti del kernel sia disponibile anche tramite /usr/src/linux/

Rinominare la vecchia directory

# mv /usr/src/linux /usr/src/linux.old 
   

Creare un nuovo link simbolico

# ln -s /path/to/src/linux-version-iptables-version /usr/src/linux 
   

Rebuild del pacchetto RPM

# rpm --rebuild /path/to/SRPMS/iptables-version-release.src.rpm 
   

Installare il nuovo pacchetto iptables (iptables + iptables-ipv6)

# rpm -Fhv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm 
   

# rpm -ihv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm 
   

# rpm -ihv --nodeps /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm 
   

Probabilmente può essere necessario creare un link simbolico per le librerie iptables dove il programma possa cercarle

# ln -s /lib/iptables/ /usr/lib/iptables