• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ip-up.local manuell ausführen

Hi Forum!
Jedesmal wenn ich die Datei ip-up.local manuell über die Konsole ausführe, bekomme ich nur Fehlermeldungen. Wenn sie beim Start einer Internetverbindung automatisch ausgeführt wird ist alles OK. In der ip-up.local stehen meine ganzen Firewallregeln drin, deshalb ist das blöd bei einer Änderung jedesmal die Verbindung zu restarten.

Aufbau der Datei (Beispiel):
Code:
DEV_INET=$1
IP_INET=$4
IP_GATEWAY=$5

DEV_LOOP=lo
IP_LOOP=127.0.0.1

DEV_LAN=eth1
IP_LAN=192.168.0.1

IPTABLES=/usr/sbin/iptables
...
$IPTABLES -N dns_gate
$IPTABLES -A INPUT  -i $DEV_INET             -d $IP_INET -p udp --sport 53          --dport $PORTS_HIGH -m state --state ESTABLISHED,RELATED     -j dns_gate
$IPTABLES -A INPUT  -i $DEV_LAN  -s $LOC_NET -d $IP_LAN  -p udp --sport $PORTS_HIGH --dport 53          -m state --state NEW,ESTABLISHED,RELATED -j dns_gate
$IPTABLES -A OUTPUT -o $DEV_INET -s $IP_INET -d $ANY     -p udp --sport $PORTS_HIGH --dport 53          -m state --state NEW,ESTABLISHED,RELATED -j dns_gate
$IPTABLES -A OUTPUT -o $DEV_LAN  -s $IP_LAN  -d $LOC_NET -p udp --sport 53          --dport $PORTS_HIGH -m state --state ESTABLISHED,RELATED     -j dns_gate
$IPTABLES -A dns_gate -j ACCEPT
...

Ausführen tue ich so:

Code:
server:/etc/ppp # ./ip-up.local

In den Fehlermeldung steht immer etwas von Bad Argument und Try iptables -h bla und das zu fast jeder Zeile im Skript. Das Problem hab ich schon seit SuSE 9.0. Momentan läuft 10.1

Kann ich ein Skript noch auf eine andere Art ausführen, denn ich glaube es liegt daran.
Ausserdem hab ich in den LOGS noch "iptables: Unknown error 4294967295".

Kann mir jemand zu meinen Problemen ein paar Tips geben?
 
Die Parameter dürften doch aber schon vom pppd übergeben worden sein, oder?
Falls nicht, wie kann ich das lösen, ohne das Skript grossartig verändern bzw. jedesmal IP_INET=$4 ermitteln zu müssen. Auf $1 und $5 kann ich notfalls verzichten.

Kann ich das vielleicht beim aufrufen des Skriptes mit angeben?
 
*DU* rufst doch das Skript auf und nicht der pppd. Dann kann der auch keine Parameter übergeben.

Lösungsvorschläge:

Schreib Deine Firewallregeln in ein getrenntes Skript und lass das von ip-up.local aufrufen.

Schreib ein Skript das ip-up.local mit den korrekten Parametern aufruft (welche das genau sind weiß ich ohne Nachforschen auch nicht).
 
Genau!
Danke für die Anregungen :D

Hierzu schon mal was gehört "iptables: Unknown error 4294967295"?
 
Nö. Ich habe eben mal grob nach der Fehlernummer gegoogelt und da diese mit iptables aber mal gar nix zu tun habende aber irgendwie kuriose Info gefunden:

"4294967295 is the largest odd number of sides for which a regular polygon can be constructed using a compass and straightedge. This construction is possible only if the number is a product of distinct Fermat primes (3, 5, 17, 257 or 65537)."

Na sowas :mrgreen:

Wenn man nach 'iptables 4294967295' googelt dann kommt auch jede Mange Zeugs aber das darfst Du selber durchlesen.

Ich gehe mal davon aus daß es ein Folgefehler wegen der fehlenden Parameter ist.
 
Aufruf von ip-up.local mit:
Code:
server:~ # ../etc/ppp/ip-up.local dsl0 2 3 82.54.162.180 63.114.192.34
und alles ist OK. keine Fehlermeldungen mehr bis auf "iptables: Unknown error 4294967295" der genau hier auftritt

$IPTABLES -A INPUT -i ! $DEV_LOOP -m unclean -j invalid

Hängt wohl mit einem fehlenden Kernel Modul zusammen ...
 
Oben