Hallo Alex, danke für den Tip. Mein Skript besteht nur aus vier Zeilen, insofern denke ich kann man das schon hier posten. Es heisst iptables-start, liegt unter /etc/init.d und hat die permissions a la chmod 755. Verlinkt habe ich es nach /etc/init.d/rc3.d und /etc/init.d/rc5.d mit dem Linknamen S99iptable-start. #! /bin/sh echo "starte ip-tables" /usr/sbin/iptables -F; iptables -t nat -F; iptables -t mangle -F /usr/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward echo "iptables gestartet" > /root/iptables-gestartet.txt Die letzte Zeile habe ich angehängt, um zu kontrollieren, ob das Skript gestartet wurde. Und siehe da: Es wurde gestartet, denn die Kontrolldatei wurde in der Tat angelegt. Das Problem liegt also darin, daß die iptables-Kommandos nicht wirkungsvoll ausgeführt werden. Die zwei Zeilen, die iptables aufrufen, sollen lediglich Masquerading für das device ppp0 einrichten. Ob das ganze erfolgreich ausgeführt wurde, kontrolliere ich mit iptables -t nat -L. Da sehe ich, daß Masquerading aktiv ist. Und wie gesagt: Bei Bootvorgang wird das Skript aufgerufen, aber kein Masquerading eingerichtet. Rufe ich es manuell auf, so klappt das dann ganz gut. Mein Verdacht war, daß dies daran liegt, daß das device ppp0 bei Skriptaufruf noch gar nicht existiert und dies Probleme verursacht, also habe ich das Skript auch mal in der letzten Zeile von /etc/ppp/ip-up eingetragen, aber auch das hat nichts gebracht. Nun weiss ich nicht mehr in welche Richtung ich "forschen" soll. Hat irgendjemand noch eine Idee? Hilfe! Gruß Dejan P.S.: Was heisst TOFU nochmal? Alex Klein schrieb:
Hallo,
* Am 25.12.2001 zauberte Dejan Milosavljevic:
Hallo Michael,
alles klaro! Danke für den Tip.
Habe jetzt ein start-script erstellt und dieses iptables-start genannt. Dieses habe ich unter /etc/init.d abgelegt und symbolisch nach rc3.d und rc5.d gelinkt. Der Linkname ist S99start-iptables. Das Seltsame ist: Das Skript wird nach dem Booten (SuSE-Linux 7.3) nicht ausgeführt. Durch ein manuelles Aufrufen lässt sich das Script sehr wohl aufrufen und die iptables-Regeln werden brav realisiert (nat für ppp0).
Gibt es irgendwie einen Fall, wo die rcx.d-Skripte nicht ausgeführt werden? Ist da was bekannt?
Mach bitte keine TOFU mehr.
Siehe http://www.learn.to/quote http://www.suse-etikette.de.vu/etikette.txt
Du solltest Dir /etc/rc.d/skeleton auf /etc/init.d/start-iptables kopieren und dann /etc/init.d/start-iptables editieren.
--------------------8<--------------
case "$1" in start) [....] stop) [....] try-restart) [....] *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit --------------------8<--------------
Dieser Teil der Struktur ist sehr wichtig, da die Skripte ja auch mit z.B. "rcfoo start" gestartet werden. Gestoppt werden sie dann mit "rcfoo stop" usw.
Hat Dein Skript außerdem die richtigen Permissions?
Wenn es nicht gerade lang ist, dann solltest Du es mal posten. Wenns mehr ist, dann lieber per PM oder irgendwo ins Netz stellen und URL posten.
-- Gruß
Alex
-- Siolvhe Fälle nennen wir dann patienten. Unsere Pfleger waren oder sind immer noch solche Fälle, was sie automatisch zu Patieneten macht. Also bist du Patient , bist du Pfleger und Umgekehrt. [WoKo in dag°]
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com