Ich bin hier am verzweifeln! Ich habe mir ein iptables Script geschrieben und es nach /etc/network/if-pre-up.d/iptables.sh verschoben. Dazu mit chmod a+x ausführbar gemacht.
Vorher hatte ich das Script auch in /etc/init.d und per ln -s einen Link auf /etc/rcS.d/s55iptables.sh gesetzt.
Doch egal was ich mache, er führt es einfach nicht aus!
iptables -L ergibt immer nur die Debian Defaultregeln:
Code: Alles auswählen
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Code: Alles auswählen
!/bin/bash
# Pfad-Variable, damit die Befehle gefunden werden, wenn die Firewall automatisch
# von ip-up.local/ip-down.local ausgeführt wird.
PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin
export PATH
# Das Interface, also eth0,ippp0, etc.
IF=eth1
# Ermitteln der vom ISP zugewiesenen IP-Adresse
# LOCIP = lokale IP-Adresse/IP-Adresse des Interface,
# awk wird als Feldseparator der ":" und Whitespace
# zugewiesen, in Feld 4 steht die locale IP-Adresse,
# gesucht wird nach der Zeile die "inet" enthält.
LOCIP=$(ifconfig $IF | awk '{ FS=":|[ \t]+" } ; /\<inet\>/ { print $4 }')
# Module laden
modprobe ip_tables
modprobe iptable_filter
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_state
modprobe ipt_LOG
# sind hier auskommentiert da für das Firewall-Beispiel nicht benötigt
#modprobe iptable_mangle
#modprobe iptable_nat
#modprobe ip_nat_ftp
#modprobe ipt_MASQUERADE
# alle chains entleeren
# Tabelle filter
iptables -F
# Tabelle nat
iptables -t nat -F
# Tabelle mangle
iptables -t mangle -F
# Setzt in allen Tabellen die policy, entsprechend den Regeln des Einzelplatz Firewalls.
# Es werden alle 3 chains der Tabelle filter auf DROP, der Rest auf Accept gesetzt.
# Tabelle filter
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Tabelle nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# Tabelle mangle
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# Pakete mit privaten IP-Adressen bzw. Loopback-Adressen abweisen
iptables -A INPUT -i $IF -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i $IF -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i $IF -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i $IF -s 127.0.0.0/8 -j DROP
# neue und ungültige Packete abweisen
iptables -A INPUT -i $IF -m state --state NEW,INVALID -j DROP
[...]
Gruß
seels