PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit IPchains im Script



Payne
31-08-2001, 22:04
Hi, auf meinem neu eingerichteten Router habe ich mir ein Reconnect-Script geschrieben, welches durch einen Cron-Job ausgeführt wird. Wenn die Verbindung unterbrochen wurde, connecte ich den Router so wieder neu:

killall pptp (yup, österreichisches adsl)

/etc/init.d/network restart (man weiß ja nie ;) )

pptp 10.0.0.138 (verbindung wird hergestellt)

echo 1 >/proc/sys/net/ipv4/ip_forward (ich habe das (noch) nicht in meinen Kernel eingebunden, da ich mir das Kernel-Kompilieren noch nicht zutraue)ipchains -A forward -j MASQ -i ppp0 (einfach alles routen)


So, wenn ich das als Root in der Bash normal, manuell eingebe, klappt auch alles, schließlich bin ich auch gerade online ;) . Jetzt habe ich mir das schon vorhin erwähnte Script geschrieben, welches durch einen Cronjob ausgeführt werden soll.

#####
#!/bin/sh
killall pptp
sleep 10 (hm vielleicht ein bisschen übertrieben, was solls)
/etc/init.d/network restart
sleep 5
pptp 10.0.0.138
sleep 5 (brauch ne weile bis er online ist)
echo 1 >/proc/sys/net/ipv4/ip_forward
sleep 1
ipchains -A forward -j MASQ -i ppp0
###

wenn ich das script als root auführe, reconnectet sich der router auch neu.

Aber jetzt endlich zum Problem:
Die zwei Zeilen für das Routing werden anscheinend nicht ausgeführt. Ich weiß nicht warum. Ich muss die bis jetzt immer erst noch manuell eingeben, sonst wird nichts geroutet :(

Woran könnte das liegen ?

jgbauman
31-08-2001, 22:21
Vielleicht sind fuer den cronjob die Suchpfade nicht vollstaednig.
Gib mal den vollen Pfad fuer ipchains an (kannst du mit
which ipchains
nachschlagen)
z.B.
/sbin/ipchains -A forward -j MASQ -i ppp0

Payne
31-08-2001, 22:40
Nein, daran lag es nicht :(

chris hat mir in #tux den Tipp gegeben, aber daran liegt es nicht :(

Ich glaube, beim echo... das will er schon nicht ausführen.

Habt ihr noch weitere Tipps ?

Payne
01-09-2001, 17:14
...das IPchains zeug muss einfach im ip-up script reingeschrieben werden.