*** Björn Wiegner (bwiegner@t-online.de) schrieb in suse-linux heute: Mal ein wenig Manöver-Kritik...
[...] #### # # Eintrag in Logfile um zu ueberpruefen ob der Skript abgearbeitet wird. # ####
echo "Start ip-up.local" > /var/log/messages
Für sowas sollte man Dich eigentlich Rädern, Vierteilen und Ertänken ohne Dich sterben zu lassen und danach die Tropfenfolter anwenden, bis Du wahnsinnig wirst; auch wenn es nur für Dich zuhause ist und Du kein Admin sein solltest. Da kommt sowas wie logger -t ip-up.local -p daemon.notice "Start ip-up.local" hin!
[...] # Benoetigte Module laden modprobe ip_tables &> /dev/null modprobe ip_conntrack &> /dev/null modprobe ip_conntrack_ftp &> /dev/null modprobe ipt_state &> /dev/null modprobe iptable_nat &> /dev/null modprobe ipt_REJECT &> /dev/null modprobe ipt_MASQUERADE &> /dev/null
Die meisten dieser Module würde iptables automatisch selber laden. Ansonsten würde ich raten, die Module in einem boot oder runlevel script zu laden, damit man sich die Zeit für die Aufrufe von modprobe spart.
# Alle alten Regeln löschen, anschließend die Default-Policy setzen $IPTABLES -F $IPTABLES -X $IPTABLES -F -t filter $IPTABLES -F -t nat $IPTABLES -F -t mangle $IPTABLES -t filter -X $IPTABLES -t nat -X $IPTABLES -t mangle -X
Es macht keinen Sinn, hier die ganze Regelkette neu aufzubauen! Das dauert unnötig lange und löscht alles, was eventuell auch für andere Interfaces schon aufgesetz war. Es macht IMHO mehr Sinn, das meiste von dem hier zu lesenden in ein runlevel script zu packen und dort auf eine - zunächst vieleicht einfach nur leere oder nur ein ACCEPT oder REJECT enthaltende chain zu verweisen, die dann in ip-up.local geeignet gefüllt wird. Das dürften dann aber bei weitem nicht so viele Regeln sein, wie in diesem Beispiel. Mir ist nicht ganz klar, warum das alles in ip-up.local passiert. Ohne die Regeln in gänze analysiert zu haben, sehe ich vieles, was mit einem "-[io] <inet-device>" statt eines "-s $IP_INET" erschlagen werden könnte. In diesem Fall könnte es in ein runlevel script geschrieben werden. Statt SNAT sollte man MASQUERADE verwenden. Das hat in diesem Fall den selben Effekt, spart einem aber, jedesmal beim Wechsel der IP eine Regel schreiben und löschen zu müssen.
[...] echo "Start ip-up.local fertig !!!! (Hat wohl geklappt)" > /var/log/messages
S.o.
MfG Henning Hucke
--
"... die Aussage 'C-Programme sind portabel' ist lächerlich und nicht
haltbar, ..."
Jan Ritzerfeld in