IPtables add On

Wichtige Info:
IPtables ist nur das Konfigurationsprogramm des Kernel Netfilters (Firewall). Das heisst, die eigentlich
Features des Programms werden im/für den Kernel compiliert. Auf gut Deutsch der Netfilter muss mit in den
Kernel kompiliert werden, um die/zusätliche Firewall funktionen zu erhalten.

Bei SLES 11 und ab openSUSE 12.3 und bei Raspberry Pi:
libnfnetlink:
“wget http://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-1.0.1.tar.bz2”
“tar -xf libnfnetlink-1.0.1.tar.bz2”
“cd libnfnetlink-1.0.1”
“./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib64 –includedir=/usr/include”
Debian “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –includedir=/usr/include”
“make”
“make install”

libmnl:
“wget http://netfilter.org/projects/libmnl/files/libmnl-1.0.3.tar.bz2”
“tar -xf libmnl-1.0.3.tar.bz2”
“cd libmnl-1.0.3”
“./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib64 –includedir=/usr/include”
Debian “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –includedir=/usr/include”
“make”
“make install”

libnetfilter_conntrack:
“wget http://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.4.tar.bz2”
“tar -xf libnetfilter_conntrack-1.0.4.tar.bz2”
“cd libnetfilter_conntrack-1.0.4/”
“./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib64 –includedir=/usr/include”
Debian “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –includedir=/usr/include”
“make”
“make install”

“wget http://www.iptables.org/projects/iptables/files/iptables-1.3.8.tar.bz2”
“tar -xjvf iptables-1.3.8.tar.bz2”
“cd iptables-1.3.8”
Ab Version “iptables-1.4.1” existiert ein Makefile inkl. “./configure”
bei 32 BIT “./configure” oder bei SuSE “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –includedir=/usr/include –enable-devel –enable-libipq” (IPtables schaufelt die Libs jetzt nach “/usr/local/libexec/xtables” ??????. Wenn man den Pfad halbwegs SuSE (<=10.3) konform ändern will (“ls -al /usr/lib/iptables”) so muss man beim configure “–libexecdir=/usr/lib/iptables” eingeben)
Bei 64 BIT “./configure” oder bei SuSE “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib64 –includedir=/usr/include –enable-devel –enable-libipq” (IPtables schaufelt die Libs jetzt nach “/usr/local/libexec/xtables” ??????. Wenn man den Pfad halbwegs SuSE (<=10.3) konform ändern will (“ls -al /usr/lib64/iptables”) so muss man beim configure “–libexecdir=/usr/lib64/iptables” eingeben)
Debian “./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –includedir=/usr/include –enable-devel –enable-libipq”
“make”
“make install”
Bei Debian eventuell einige Dateien richtig kopieren: “cp -frv /usr/sbin/iptables* /sbin/”,  “cp -frv /usr/sbin/iptables* /usr/local/sbin/” “rm -frv /sbin/iptables” “ln -s /usr/sbin/iptables /sbin/iptables” und für IPv6
“cp -frv /usr/sbin/ip6tables* /sbin/” und “cp -frv /usr/sbin/ip6tables* /usr/local/sbin/” .
VERALTET für SuSE <= 10.3 und iptables <=1.4.0:
“cd /usr/sbin” bei Fedora und Debian “cd /sbin”
“mv iptables iptables.old”
“mv iptables-batch iptables-batch.old” bei Fedora nicht noetig
“mv iptables-restore iptables-restore.old”
“mv iptables-save iptables-save.old” bei Fedora nicht noetig
“cp -frv /usr/local/sbin/iptables* /usr/sbin/” bei Fedora “cp -frv iptables* /sbin/”. Bei Debian “cp -frv /usr/local/sbin/iptables* /sbin/”
“cp -frv /usr/local/lib/iptables/* /usr/lib/iptables/” bei Fedora “keine Ahnung”. Bei Debian “cp -frv /usr/local/lib/iptables/* /lib/iptables/”
“cd ~/iptables-1.3.8/”
“make install-devel”
“cp -frv /usr/local/include/libipq.h /usr/include/”
“cp -frv /usr/local/lib/libipq.a /usr/lib/”

Wenn die Versionsangaben über “iptables -V” nicht stimmen sollte so muss vor der Kompilierung
die “vi ../release.sh” überprüft werden ob dort die richtige Versionsnummern stehen. -> “VERSION=1.4.8”
“PREV_VERSION=1.4.7”
Nachdem “./configure …” muss die “vi ./iptables-<$VERSION>/include/iptables/internal.h” editiert werden. -> “#define IPTABLES_VERSION “1.4.8””

#############################################################################
Kommandos
“iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 443” = Port Redirection vor Packet Ankunft an die Applikation
“iptables -A INPUT -m string –algo bm –string “wdfcn867″ -j DROP” = Match den Inhalt der Packet auf z.B. wdfcn867 .

Post Revisions: