ppp.link script Problem und T-DSL

moxxito

Daemonizer
Erstmal Hallo zusammen,

ich beginne mein erstes Posting gleich mal mit einem Problem. Eine Suche im Forum hat leider keinen Tip zu Tage gebracht. Ich versuche zur Zeit bei meinem T-DSL link einen Wechsel der ip fest zu stellen. Mehrere man's später weiss ich nun folgendes:

ppp (nicht pppd) ruft von sich aus das script ppp.linkup bzw ppp.linkdow im /etc/ppp auf. Dieses verwende ich, um ein eigenes bash script zu starten, dass für mich ein paar logger generiert und meine snort.conf auf die aktuelle ip ändert. Mein Problem ist jetzt das z.B. nach einem killall -SIGINT ppp, nicht immer die im ppp.linkup an ppp-reconnect übergebenen Variablen ausgefüllt werden. Im real life sieht das so aus:

--- ppp.linkup script:

#!/bin/sh
# Test Script for ip-up
MYADDR:
!bg /etc/ppp/ppp-reconnect MYADDR HISADDR INTERFACE

--- ppp.reconnect script:

#!/usr/local/bin/bash
# (c) Tom 2003
# This script is called by /etc/ppp.linkup if the ddial DSL Connection has been
# reestablished.
# The following parametes are used
#
MYADDR=$1 <-- um die gehts
HISADDRE=$2 <-- um die gehts
INTERFACE=$3 <-- um die gehts
SNORTCFG=/usr/local/etc/snort.conf
SNORTCFGTMP=/usr/local/etc/snort.conf.tmp


# Inform Syslog
logger -t T-DSL "DSL Link reconnected with ip $MYADDR"

# Change my Snort setup so the new address is used
logger -t T-DSL "Reconfiguring snort to new ip $MYADDR on $INTERFACE"
if [$1 != ""]
sed "s/^var HOME_NET.*/var HOME_NET=\[192\.168\.80\.0\/24,$MYADDR\]/g" $SNORTCFG > $SNORTCFGTMP
cp $SNORTCFGTMP $SNORTCFG
chmod 0700 $SNORTCFG
killall -SIGHUP snort

Jetzt hoffe ich mal darauf, das hier jmd. eine Idee dazu hat.

-moxxito
 
Hi Moxxito,

ich benutze auf meinem Router auch die ppp.linkup- und ppp.linkdown- Scripte, u.a. um ein DynDNS-update zu machen. Vielleicht hilft es Dir ja weiter, wenn ich auf die Tatsache hinweise, das PPP standardmässig ein Interface-Alias für eine neu zugewiesene IP-Adresse auf tun<x> anlegt, die aber dummerweise nicht die höchstwertige Stelle einnimmt und an Scripte übergeben wird. Dieses verhalten habe ich umschifft, indem ich in der ppp.conf folgenden Eintrag hinzufügte:
> disable iface-alias
Kann diese Verhalten jemand bestätigen? Ich hoffe das es Dich weiter bringt.

Bye,
Dirk
 
Original geschrieben von mos6510
Hi Moxxito,
Hallo Dirk,

ich benutze auf meinem Router auch die ppp.linkup- und ppp.linkdown- Scripte, u.a. um ein DynDNS-update zu machen. Vielleicht hilft es Dir ja weiter, wenn ich auf die Tatsache hinweise, das PPP standardmässig ein Interface-Alias für eine neu zugewiesene IP-Adresse auf tun<x> anlegt, die aber dummerweise nicht die höchstwertige Stelle einnimmt und an Scripte übergeben wird.
Das machet er allerdingsnur wenn -nat bzw. nat enable yes gesetzt wurde. Ich benutzedazu den natd und nicht das ppp "interne nat.
Dieses verhalten habe ich umschifft, indem ich in der ppp.conf folgenden Eintrag hinzufügte:
> disable iface-alias
Kann diese Verhalten jemand bestätigen? Ich hoffe das es Dich weiter bringt.

Danke auf jedenfall für den Tip. Ich habe es mal mit der option nat enable no getestet, da dort auch das iface-alias ausgeschaltet wird. Keider hat das nichts geändert.
Bye,
Dirk

Cya
 
Alles neu macht der Herbst :),

wie es aussieht habe ich den Fehler gefunden, wenn auch nicht verstanden. Laut man-pages wird ppp.linkup erst aufgerufen, wenn ein ip-Link oben ist, ergo eine ip-Adresse vergeben wurde. Wie es aussieht "überholt" sich ppp selbst, wenn ein nachfolgendes script mit !bg aufgerufen wird. Mit der shell Direktive scheint er es jetzt zu tun.

neues ppp.linkup schript:

#!/bin/sh
# Test Script for ip-up
default:
! sh -c "/etc/ppp/ppp-reconnect MYADDR HISADDR INTERFACE"

So hat er zumindest 10 mal nacheinander die ip an das nachfolgende script übergebn und snort muss nicht mehr sterben :)

Gruss

mox
 
Zurück
Oben