Procurarsi gli ultimi sorgenti del kernel: http://www.kernel.org/
Procurarsi l'ultimo pacchetto iptables:
Tarball del sorgente (per le patch del kernel): http://www.netfilter.org/
Sorgente RPM per il rebuild dei binari (per sistemi RedHat): ftp://ftp.redhat.com/redhat/linux/rawhide/SRPMS/SRPMS/ o probabilmente anche presso http://www.netcore.fi/pekkas/linux/ipv6/
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 |
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)
ah-esp.patch
masq-dynaddr.patch (necessaria solo per sistemi con IP dinamico assegnato a connessioni WAN come PPP o PPPoE)
ipv6-agr.patch.ipv6
ipv6-ports.patch.ipv6
LOG.patch.ipv6
REJECT.patch.ipv6
Verifica estensioni IPv6
# make print-extensions Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport |
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.
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)
Sui sistemi RH 7.1 di solito c'è già una vecchia versione installata, perciò si può usare l'opzione "freshen"
# rpm -Fhv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm |
Se non fosse già installato, si usi l'opzione "install"
# rpm -ihv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm |
Normalmente sui sistemi RH 6.2 non è installato nessun kernl 2.4.x, perciò i requisiti non vanno bene. Si usi l'opzione "--nodeps" per installarlo
# 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 |