Hallo!
Habe mich mal die letzten Tage etwas mit iptables befasst und ein kleines Skript gebaut. Es sollte fuer einen Server sein der Hauptsaechlich auf eth1 routen soll. Einsatzort soll Suse 9.3 sein.
#!/bin/sh
#
#versuch eine eigene Firewall zu erstellen
#definierten Zustand zu erstellen und alle Regeln loeschen
case "$1" in
start)
echo "Starte iptables"
#
#Loeschen aller bisherigen Regeln
iptables -F
iptables -t nat -F
#
#Routing/Forwarding starten
rcnamed start
echo 1 >/proc/sys/ipv4/ip_forward
#
#Ein Router sollte Pakete vom Typ Destination-unrechable bearbeiten
iptables -A INPUT -i eth0 icmp-type destination-unrechable -j ACCEPT
#
#Ports fuer eMule oeffnen
iptables -A INPUT -i eth0 -p tcp -dport 4661:4663 -j ACCEPT -d -s snake
iptables -A INPUT -i eth0 -p udp -dport 4665 -j ACCEPT -d -s snake
iptables -A INPUT -i eth0 -p udp -dport 5662 -j ACCEPT -d -s snake
#
#Ports fuer Bittorrent oeffnen
iptables -A INPUT -i eth0 -p tcp -dport 6969 -j ACCEPT -d -s snake
iptables -A INPUT -i eth0 -p tcp -dport 6881:6889 -j ACCEPT -d -s snake
iptables -A INPUT -i eth0 -p tcp -dport 3881:3889 -j ACCEPT -d -s snake
#
#Ports fuer Applejuice oeffnen
iptbles -A INPUT -i eth0 -p tcp -dport 7390 -j ACCEPT -d -s snake
#
#Ports fuer WinMX oeffnen
iptables -A INPUT -i eth0 -p tcp -dport 6699 -j ACCEPT -d -s snake
iptables -A INPUT -i eth0 -p udp -dport 6257 -j ACCEPT -d -s snake
#
#Ports fuer IRC oeffnen
iptables -A INPUT -i eth0 -p tcp -dport 3334:3335 -j ACCEPT -d -s snake
#
#Ports fuer ICQ oeffnen
iptables -A INPUT -i eth0 -p tcp -dport 24500:24505 -j ACCEPT -d -s snake
#
#Regeln erstellen fuer Established
iptables -N block
iptables -A block -m state -state ESTABLISHED,RELATED -j ACCEPT
iptables -A block -m state -state NEW -i eth0 -j ACCEPT
iptables -A block -j DROP
#
#Von Input und Forward Ketten zu dieser Kette springen
iptables -A INPUT -j block
iptables -A FORWARD -j block
#
#Alle ausgehenden Pakete maskieren
iptables -t -nat -A POSTROUTING -o eth0 -j MASQUERADE
stop)
echo "Stoppe iptables"
#FERTIG
Bitte nicht steinigen ist erst der erste Versuch!
Gruss Burner
PS: Ist der Doc im Urlaub?