Re: Internetscript auf die 8.2er Suse anpassen
Hallo Christian, hallo Leute, Christian Boltz <christian.boltz@nexgo.de> 09/04 11:43 >>>
Hallo Michael, hallo Leute,
ich glaube die PM hätte an die Liste gehen sollen, deshalb kürze ich jetzt mal nichts weg!
Am Montag, 1. September 2003 14:00 schrieb Michael Messner:
ich habe hier ein Script dass mir die Internetverbindung herstellen soll, da es aber auf die Suse8.0 abgestimmt ist und auf der 8.2er nicht mehr läuft, und ich mir mit Scripts leider noch nicht selber so toll helfen kann würde ich euch bitten das folgende Script mal durchzuschauen ob man das vielleicht so ummodelieren kann damit es auch auf der 8.2er läuft?!?
Kann man wahrscheinlich, aber es wäre nett, wenn Deine nächste Mail mit einem etwas kürzeren Satz beginnen würde ;-)
Bin mir bei der Mail etwas blöde vorgekommen (Ich hab hier n Script, könnt ihr mir das ändern?), da ich nicht so einen Eindruck aufkommen lassen wollte hab ich mit diesem etwas längeren Satz begonnen!
Noch eine Frage vorweg, falls meine nachfolgenden Änderungsvorschläge nicht helfen: Funktioniert ein direkter Aufruf des Scripts per /etc/init.d/scriptname start oder klappt das auch nicht?
inserv scriptname hast Du ausgeführt?
bisher hab ich nur versucht es händisch auszuführen!
-----------Script für XDSL von Inode-------------------------------
Da oben fehlt schon mal der Infoblock, anhand dessen insserv die Reihenfolge der Startscripte ermittelt. Schau Dir mal /etc/init.d/skeleton an und übernehme den "INIT INFO" Block (natürlich mit den nötigen Anpassungen, z. B. bei Reqired-Start)
Außerdem werden einige benötigte Variablen nicht gesetzt, z. B. $rc_done Dazu brauchst Du die folgenden Zeilen:
. /etc/rc.status rc_reset
ok, eingefügt!
(Erklärung dazu siehe /etc/init.d/skeleton)
. /etc/rc.config
Das ist schonmal das erste Problem, die rc.config ist veraltet (und war schon auf der SuSE 8.0 veraltet ;-) Die Zeile dürfte aber nicht weiter schaden, solange die /etc/rc.config existiert - ansonsten auskommentieren.
auskommentiert!
base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && XDSL=yes
test "$XDSL" = yes || exit 0
Dieses $XDSL ist anscheinend die einzige Variable, die aus der rc.config verwendet werden soll. Unter SuSE >= 8.0 ist es so gelöst, dass jedes Startscript, das in /etc/init.d/rcX.d verlinkt ist, auch tatsächlich ausgeführt wird; unter 7.3 waren alle Startscripte verlinkt und wurden ggf. abgebrochen, wenn sie nicht erwünscht waren.
Änderungsvorschlag: setze ein Kommentarzeichen # vor die obige Zeile.
gemacht
Lesetip zum Bootkonzept: man init.d
test -x /usr/sbin/pptp || exit 0
Nächste mögliche Stolperfalle: existiert /usr/sbin/pptp (wenn nicht, hilft pin /usr/sbin/pptp weiter) und ist es ausführbar? Nochwas: Ändere das "exit 0" bitte in "exit 5" ab, damit es als Fehler erkannt werden kann.
# fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /usr/bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode" startproc /usr/sbin/pptp inode || return=$rc_failed echo -e "$return" /sbin/route add -host 10.0.0.138 gw $GATEWAY ;; stop) echo -n "Disconnection from XDSL@inode" killproc -TERM /usr/sbin/pppd || return=$rc_failed killproc -TERM /usr/sbin/pptp || return=$rc_failed /sbin/route del -host 10.0.0.138
Hmm, da steht eine IP aus dem privaten Bereich fest drinnen. Sicher, dass das so stimmt?
ja, das stimmt so, soweit ich das verstanden habe ist das die IP des DSL-Modems.
echo -e "$return" ;; restart) $0 stop && $0 start || return=$rc_failed ;; reload) ;; status) echo -n "Checking for XDSL Connection: " checkproc /usr/sbin/pptp && echo "online" || echo "offline" ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0
------------Script für XDSL von Inode--------------------------
Danke Christian, das Script arbeitet nun, allerdings kommt noch ein Fehler beim Aufruf: ================./xdsl start================ SIOCDELRT: No such process ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Connecting to XDSL@inode done Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M] [netmask N] [mss Mss] [window W] [irtt I] [mod] [dyn] [reinstate] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject inet_route [-FC] flush NOT supported ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ----------------------------------------------------------------------------------------------- ab da geschieht nun der Verbindungsaufbau, und ich kann es auch wieder stoppen, allerdings muss ich vor einem neuen Verbindungsaufbau das Netzwerk neu starten! (/etc/init.d/network restart) ----------------------------------------------------------------------------------------------- linuxmike:/home/micmes # using channel 5 Using interface ppp0 Connect: ppp0 <--> /dev/pts/11 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x34952bd7> <pcomp> <accomp>] rcvd [LCP ConfRej id=0x1 <asyncmap 0x0> <pcomp> <accomp>] sent [LCP ConfReq id=0x2 <magic 0x34952bd7>] .... ================./xdsl start================ Vielleicht erkennst du oder jemand anders von euch ja noch den Fehler, ansonsten arbeitet es aber mal! Danke und bis dann mfg mIke
Hallo Michael, hallo Leute, Am Freitag, 5. September 2003 13:43 schrieb Michael Messner:
Christian Boltz <christian.boltz@nexgo.de> 09/04 11:43 >>> ^^^^^ Da solltest Du besser auf das 24-Stunden-Format umstellen oder mindestens AM/PM anhängen. Die Uhrzeit (23:43) würde dann auch erklären, warum...
Hallo Michael, hallo Leute,
ich glaube die PM hätte an die Liste gehen sollen,
Stimmt, war ein Fehler meinerseits. Details finden sich übrigens auch in der (wirklich zufälligen) sig, die mal wieder passt wie die Faust aufs Auge ;-)
deshalb kürze ich jetzt mal nichts weg!
Danke, so blickt der Rest der Liste auch noch durch ;-)
Am Montag, 1. September 2003 14:00 schrieb Michael Messner:
ich habe hier ein Script dass mir die Internetverbindung herstellen soll, da es aber auf die Suse8.0 abgestimmt ist und auf der 8.2er nicht mehr läuft, und ich mir mit Scripts leider noch nicht selber so toll helfen kann würde ich euch bitten das folgende Script mal durchzuschauen ob man das vielleicht so ummodelieren kann damit es auch auf der 8.2er läuft?!?
Kann man wahrscheinlich, aber es wäre nett, wenn Deine nächste Mail mit einem etwas kürzeren Satz beginnen würde ;-)
Bin mir bei der Mail etwas blöde vorgekommen (Ich hab hier n Script, könnt ihr mir das ändern?), da ich nicht so einen Eindruck aufkommen lassen wollte hab ich mit diesem etwas längeren Satz begonnen!
Ah so... Mir ging es übrigens hauptsächlich um den Bandwurmsatz - ein paar Punkte zwischendurch hätten die Lesbarkeit schon verbessert. Ist aber nicht weiter schlimm, ich neige auch manchmal dazu, einen Bandwurmsatz anzufangen, dann ganz langsam von einem zum anderen Thema zu schwenken, noch einen Einschub zu bringen, den ich besser in eine Fußnote packen würde, und anschließend immer noch keinen Punkt zu setzen, weil mir ja immer noch etwas einfällt, was unbedingt in diesen Satz gehört und nicht in eingenem Satz stehen sollte, da es dadurch so abgehackt aussehen würde und ich außerdem gelegentlich zu faul bin, einen Absatz zu machen, obwohl dadurch der Text wesentlich besser lesbar wäre als so ein langer Bandwurmsatz, bei dem man nicht mehr weiß, womit er angefangen hat, wenn man ihn zu Ende gelesen hat, und froh ist, dass wenigstens die Grammatik stimmt und nicht noch zusätzlich zur Verwirrung beiträgt, was aber auch nicht wirklich beim Verständnis dieses ewig langen Satzes, bei dem kaum jemand durchblickt und zu dem mir jetzt wirklich nichts mehr einfällt, mit dem ich den Satz noch länger machen könnte, hilft. :-))) *SCNR*
Noch eine Frage vorweg, falls meine nachfolgenden Änderungsvorschläge nicht helfen: Funktioniert ein direkter Aufruf des Scripts per /etc/init.d/scriptname start oder klappt das auch nicht?
inserv scriptname hast Du ausgeführt?
bisher hab ich nur versucht es händisch auszuführen!
---------Script für XDSL von Inode---------------------------
Da oben fehlt schon mal der Infoblock, anhand dessen insserv die Reihenfolge der Startscripte ermittelt. Schau Dir mal /etc/init.d/skeleton an und übernehme den "INIT INFO" Block (natürlich mit den nötigen Anpassungen, z. B. bei Reqired-Start)
Hast Du diesen Block inzwischen nachgetragen? Ist zwar aus der Sicht der Shell nur Kommentar, aber für insserv ist dieser Infoblock wichtig, damit das Script an der richtigen Stelle gestartet wird (also z. B. nach dem Netzwerk).
[...] Danke Christian, das Script arbeitet nun, allerdings kommt noch ein Fehler beim Aufruf:
================./xdsl start================ SIOCDELRT: No such process ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das kommt von irgendwo oberhalb der zugehörigen echo-Zeile. Ich bau den betreffenden Block des Scripts mal hier ein:
# fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /usr/bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode"
Stimmen die Pfade zu den Programmen in der Zeile GATEWAY=... alle? (müssten eigentlich, in meiner 8.2 passt es nämlich) Füge mal testweise am Anfang des Scripts set -v ein und sieh dann nach, nach welchem Befehl die Fehlermeldung kommt.
Connecting to XDSL@inode done
Der nächste Fehler lässt sich recht leicht eingrenzen, er dürfte von der Zeile
/sbin/route add -host 10.0.0.138 gw $GATEWAY
stammen.
Usage: [...] inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [...]
Ich kenne mich mit route nicht wirklich aus, jedenfalls scheint da ein Fehler im Aufruf zu stecken, auch wenn er von der Syntax her zu passen scheint. Hmm, Schuss ins Blaue: ist die Variable $GATEWAY korrekt gesetzt? Ein echo "*** Gateway: $GATEWAY" direkt vor dem route-Aufruf sollte Klarheit verschaffen. Wie sieht eigentlich die Ausgabe von route -n bei Dir aus (offline und online)?
ab da geschieht nun der Verbindungsaufbau, und ich kann es auch wieder stoppen, allerdings muss ich vor einem neuen Verbindungsaufbau das Netzwerk neu starten! (/etc/init.d/network restart)
Dürfte am gescheiterten route-Aufruf liegen. Gruß Christian Boltz --
Scheint aber kein kritischer Fehler zu sein :-) Nein, dass war nur ein Fehler in der Treibereinheit für meine Finger, die mich veranlasst hat zum falschem Zeitpunkt auf die falsche Taste zu drücken. ;-) [> Christoph Maurer und Jan Thoefel in suse-linux]
Morgen allerseits, Am Samstag, 6. September 2003 00:25 schrieb Christian Boltz:
Am Freitag, 5. September 2003 13:43 schrieb Michael Messner:
Christian Boltz <christian.boltz@nexgo.de> 09/04 11:43 >>>
Am Montag, 1. September 2003 14:00 schrieb Michael Messner:
Hast Du diesen Block inzwischen nachgetragen? Ist zwar aus der Sicht der Shell nur Kommentar, aber für insserv ist dieser Infoblock wichtig, damit das Script an der richtigen Stelle gestartet wird (also z. B. nach dem Netzwerk).
Nein, habe ich noch nicht, ich möchte eigentlich dass das Script vorher mal fehlerfrei läuft! Oder hab ich bei einem händischen Aufruf durch den fehlenden Block irgendwelche Nachteile? Was mir jetzt noch aufgefallen ist, ich muss das Script 2 x aufrufen! Beim ersten mal bricht es ab: ------------------------------------------------------------------------------------ linuxmike:/home/micmes # Linux_Diverses/linux_CD3/ADSL/xdsl start Connecting to XDSL@inodeanon warn[pptp_gre_bind:pptp_gre.c:78]: connect: Network is unreachable anon fatal[main:pptp.c:183]: Cannot bind GRE socket, aborting. startproc: exit status of parent of /usr/sbin/pptp: 1 failed *** Gateway: 172.16.204.1 ----------------------------------------------------------------------------------- route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.138 172.16.204.1 255.255.255.255 UGH 0 0 0 eth0 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 Beim 2ten mal läuft es durch, allerdings ist dabei die Gateway-Variable leer?!?
[...] Danke Christian, das Script arbeitet nun, allerdings kommt noch ein Fehler beim Aufruf:
================./xdsl start================ SIOCDELRT: No such process ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das kommt von irgendwo oberhalb der zugehörigen echo-Zeile.
Ich bau den betreffenden Block des Scripts mal hier ein:
# fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /usr/bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode"
Stimmen die Pfade zu den Programmen in der Zeile GATEWAY=... alle? (müssten eigentlich, in meiner 8.2 passt es nämlich)
Die Pfade passen.
Füge mal testweise am Anfang des Scripts set -v ein und sieh dann nach, nach welchem Befehl die Fehlermeldung kommt.
beim ersten Aufruf des Scriptes mit set -v rattert das ganze Script runter, die letzten Meldungen sind: echo "Usage: $0 {start|stop|status|restart}" exit 1 esac Connecting to XDSL@inodeanon warn[pptp_gre_bind:pptp_gre.c:78]: connect: Network is unreachable anon fatal[main:pptp.c:183]: Cannot bind GRE socket, aborting. startproc: exit status of parent of /usr/sbin/pptp: 1 failed *** Gateway: 172.16.204.1 test "$return" = "$rc_done" || exit 1 beim 2ten Aufruf: echo "Usage: $0 {start|stop|status|restart}" exit 1 esac Connecting to XDSL@inode done *** Gateway: Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M] [netmask N] [mss Mss] [window W] [irtt I] [mod] [dyn] [reinstate] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject inet_route [-FC] flush NOT supported test "$return" = "$rc_done" || exit 1 exit 0 und dann geht der Verbindungsaufbau weiter!
Connecting to XDSL@inode done
Der nächste Fehler lässt sich recht leicht eingrenzen, er dürfte von der Zeile
/sbin/route add -host 10.0.0.138 gw $GATEWAY
stammen.
Usage: [...] inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [...]
Ich kenne mich mit route nicht wirklich aus, jedenfalls scheint da ein Fehler im Aufruf zu stecken, auch wenn er von der Syntax her zu passen scheint. Hmm, Schuss ins Blaue: ist die Variable $GATEWAY korrekt gesetzt? Ein echo "*** Gateway: $GATEWAY" direkt vor dem route-Aufruf sollte Klarheit verschaffen.
siehe weiter oben, ich hoffe dir sagen die Ausgaben etwas mehr als mir!
Wie sieht eigentlich die Ausgabe von route -n bei Dir aus (offline und online)?
nach dem Bootvorgang: linuxmike:/home/micmes #route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 172.16.204.1 0.0.0.0 UG 0 0 0 eth0 mit dem xdsl-Script online gegangen: linuxmike:/home/micmes # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 62.99.171.186 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.138 172.16.204.1 255.255.255.255 UGH 0 0 0 eth0 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 62.99.171.186 0.0.0.0 UG 0 0 0 ppp0 mit dem xdsl die Verbindung gestoppt: linuxmike:/home/micmes #route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 Danke für deine Hilfe, ich stehe total an! mfg mIke
Hallo Michael, hallo Leute, Am Samstag, 6. September 2003 12:59 schrieb Michael Messner:
Am Samstag, 6. September 2003 00:25 schrieb Christian Boltz:
Am Freitag, 5. September 2003 13:43 schrieb Michael Messner:
Christian Boltz <christian.boltz@nexgo.de> 09/04 11:43 >>>
Am Montag, 1. September 2003 14:00 schrieb Michael Messner:
Hast Du diesen Block inzwischen nachgetragen? Ist zwar aus der Sicht der Shell nur Kommentar, aber für insserv ist dieser Infoblock wichtig, damit das Script an der richtigen Stelle gestartet wird (also z. B. nach dem Netzwerk).
Nein, habe ich noch nicht, ich möchte eigentlich dass das Script vorher mal fehlerfrei läuft! Oder hab ich bei einem händischen Aufruf durch den fehlenden Block irgendwelche Nachteile?
Für die Shell sieht der Block aus wie ein Kommentar, er stört also nicht. Er nützt beim händischen Aufruf aber auch nicht ;-)
Was mir jetzt noch aufgefallen ist, ich muss das Script 2 x aufrufen! Beim ersten mal bricht es ab: --------------------------------------------------------------------- --------------- linuxmike:/home/micmes # Linux_Diverses/linux_CD3/ADSL/xdsl start Connecting to XDSL@inodeanon warn[pptp_gre_bind:pptp_gre.c:78]: connect: Network is unreachable anon fatal[main:pptp.c:183]: Cannot bind GRE socket, aborting. startproc: exit status of parent of /usr/sbin/pptp: 1
failed
Findet sich dazu was in den Logs (/var/log/messages)?
*** Gateway: 172.16.204.1 --------------------------------------------------------------------- route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.138 172.16.204.1 255.255.255.255 UGH 0 0 0 eth0 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Es sind also nur Routen gesetzt auf Deine Netzwerkkarten eth0 und eth1 sowie zu 10.0.0.138 (IIRC Dein DSL-Modem) über eth0
Beim 2ten mal läuft es durch, allerdings ist dabei die Gateway-Variable leer?!?
Siehe unten.
[...] Danke Christian, das Script arbeitet nun, allerdings kommt noch ein Fehler beim Aufruf:
================./xdsl start================ SIOCDELRT: No such process ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das kommt von irgendwo oberhalb der zugehörigen echo-Zeile.
Ich bau den betreffenden Block des Scripts mal hier ein:
# fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /usr/bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode"
Füge mal testweise am Anfang des Scripts set -v ein und sieh dann nach, nach welchem Befehl die Fehlermeldung kommt.
beim ersten Aufruf des Scriptes mit set -v rattert das ganze Script runter,
Stimmt. Ich hab inzwischen nochmal in man bash nachgesehen, ein set -x wäre wohl geschickter ;-)
die letzten Meldungen sind:
echo "Usage: $0 {start|stop|status|restart}" exit 1 esac Connecting to XDSL@inodeanon warn[pptp_gre_bind:pptp_gre.c:78]: connect: Network is unreachable
Der Rest dürfte ein Folgefehler sein.
anon fatal[main:pptp.c:183]: Cannot bind GRE socket, aborting. startproc: exit status of parent of /usr/sbin/pptp: 1
failed *** Gateway: 172.16.204.1
Hmm, die Bash arbeitet wohl erst den kompletten case-Block ab und führt dann die Befehle aus. Wie gesagt: probiers mal mit set -x Allerdings stört mich das "Network is unreachable" mehr als der Zeitpunkt, zu dem die Bash einen Befehl ausführt.
test "$return" = "$rc_done" || exit 1
beim 2ten Aufruf:
echo "Usage: $0 {start|stop|status|restart}" exit 1 esac Connecting to XDSL@inode done *** Gateway: Usage: inet_route [...]
Erklärung hierzu siehe unten
Hmm, Schuss ins Blaue: ist die Variable $GATEWAY korrekt gesetzt? Ein echo "*** Gateway: $GATEWAY" direkt vor dem route-Aufruf sollte Klarheit verschaffen.
siehe weiter oben, ich hoffe dir sagen die Ausgaben etwas mehr als mir!
Ich sehe daran, dass nicht immer eine default route gesetzt ist (die wird nämlich mit dem grep ... | cut ermittelt)
Wie sieht eigentlich die Ausgabe von route -n bei Dir aus (offline und online)?
nach dem Bootvorgang:
linuxmike:/home/micmes #route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 172.16.204.1 0.0.0.0 UG 0 0 0 eth0
Es ist also eine default route (0.0.0.0) über eth0 gesetzt.
mit dem xdsl-Script online gegangen:
linuxmike:/home/micmes # route -n Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface 62.99.171.186 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.138 172.16.204.1 255.255.255.255 UGH 0 0 0 eth0 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 62.99.171.186 0.0.0.0 UG 0 0 0 ppp0
Da hat sich einiges getan ;-) - Das DSL-Modem hat einen eigenen Routing-Eintrag (statt default route) - Anfragen an 62.99.171.186 (vermutlich die IP, die Du bei der Einwahl erhalten hast), gehen über ppp0 - Die default route geht ebenfalls über ppp0
mit dem xdsl die Verbindung gestoppt:
linuxmike:/home/micmes #route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Ähnelt dem Zustand nach dem Booten, allerdings fehlt die default route zum DSL-Modem (10.irgendwas), was wohl zu obigem "Network unreachable" führen dürfte. Für den passenden Route-Befehl bin ich jetzt zu müde, schau selbst mal in man route nach ;-) BTW: Ich wage zu behaupten, dass Du nicht rcnetwort restart befehlen müsstest - ein rcroute restart sollte genügen ;-) Gruß Christian Boltz -- - Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt. - Linux ist für die, die wissen wollen, warum er funzt. - DOS ist für die, die wissen wollen, warum er nicht funzt, und - Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
Hallo, was ist das für eine xDSL Anbindung, inode@home oder inode@student, in A ? oder was spezielles wenn obiges fehlt ein route und Parameter in der pptp config. -- MfG / Regards Günther J. Niederwimmer
Hallo allerseits, Am Sonntag, 7. September 2003 09:33 schrieb Günther J. Niederwimmer:
was ist das für eine xDSL Anbindung, inode@home oder inode@student, in A ?
oder was spezielles
xdsl@home
wenn obiges fehlt ein route und Parameter in der pptp config.
also die pptp config müsste passen: ==========/etc/ppp/options=============== defaultroute #replacedefaultroute noipdefault name "michael.messner@home" noauth debug ==========/etc/ppp/options=============== mfg mIke
Hallo Michael,
was ist das für eine xDSL Anbindung, inode@home oder inode@student, in A ?
xdsl@home
wenn obiges fehlt ein route und Parameter in der pptp config.
also die pptp config müsste passen:
==========/etc/ppp/options=============== defaultroute #replacedefaultroute noipdefault name "michael.messner@home" noauth debug ==========/etc/ppp/options===============
bei mir funktioniert es nur mit defaultroute replacedefaultroute ^^^^^^^^^^^^^^^^^ und einem "händischen" ip route add to 10.0.0.138 dev eth(x) -- MfG / Regards Günther J. Niederwimmer
Mahlzeit allerseits, Am Donnerstag, 18. September 2003 12:35 schrieb Günther J. Niederwimmer:
bei mir funktioniert es nur mit
defaultroute
replacedefaultroute ^^^^^^^^^^^^^^^^^
die Änderung habe ich vom Inode-Support.
und einem "händischen" ip route add to 10.0.0.138 dev eth(x)
Siehe dazu meine letzte Mail mit dem soweit funktionierenden Script. mfg mIke -- Linux-Magazin: http://www.linux-magazin.de/
Hallo Christian, hallo Liste, so bin nun endlich wiedermal dazugekommen das Internetscript anzuschauen! Am Sonntag, 7. September 2003 01:34 schrieb Christian Boltz:
[... Viel Hilfe beim Script...]
Das Script funktioniert nun soweit! Hier nun das überarbeitete Script: Alle geänderten Zeilen habe ich mit^^^^ gekennzeichnet! ---------------xdsl@home Script für Suse 8.2--------------- #! /bin/sh # # by Mike Holzer (m.holzer@inode.at) # 23-07-2002 # # /etc/init.d/xdsl # . /etc/rc.status ^^^^^^^^^^^^^^ rc_reset ^^^^^^^^ base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && XDSL=yes # test "$XDSL" = yes || exit 0 #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test -x /usr/sbin/pptp || exit 5 # fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" route del default return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode" /sbin/route add -host 10.0.0.138 gw $GATEWAY # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #Gateway wurde zuspät deffiniert (erst 2 Zeilen später) startproc /usr/sbin/pptp inode || return=$rc_failed^ # /sbin/route add -host 10.0.0.138 gw $GATEWAY #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #Hier die zuspäte Bestimmung des Gateways echo -e "$return" ;; stop) echo -n "Disconnection from XDSL@inode" killproc -TERM /usr/sbin/pppd || return=$rc_failed killproc -TERM /usr/sbin/pptp || return=$rc_failed /sbin/route del -host 10.0.0.138 echo -e "$return" ;; restart) $0 stop && /etc/init.d/network restart && $0 start || return=$rc_failed #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #/etc/init.d/network restart wurde eingefügt da die nach einem Stop der #Internetverbindung die IP per DHCP neu bezogen werden muss! ;; reload) ;; status) echo -n "Checking for XDSL Connection: " checkproc /usr/sbin/pptp && echo "online" || echo "offline" ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0 ---------------xdsl@home Script für Suse 8.2--------------- Das einzige was noch nicht funktioniert, ist wenn mit "xdsl stop" die Verbindung gekappt wird ein "xdsl start" nicht funktioniert, da man derzeit noch händisch "/etc/init.d/network restart" ausführen muss! Da wäre noch eine Überprüfung im Script super, die ich leider noch nicht hinkriege! Vielleicht hat von euch noch jemand eine Idee dafür?!? Dafür müsste route -n geprüft werden: Wenn route -n in der Art aussieht: --------------------route -n-------------------- Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 --------------------route -n-------------------- dann muss eine neue IP bezogen werden, wenn route -n ähnlich dieser Ausgabe aussieht kann die Verbindung direkt aufgebaut werden. --------------------route -n-------------------- Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 172.16.204.1 0.0.0.0 UG 0 0 0 eth0 --------------------route -n-------------------- Es ginge also um die letzte Zeile! Danke für eure/deine Hilfe mfg mIke -- Software für Linux: http://packman.links2linux.de/ http://www.freshmeat.net/ http://rpmfind.net/
Hallo Michael, hallo Leute, Am Donnerstag, 18. September 2003 11:10 schrieb Michael Messner:
Am Sonntag, 7. September 2003 01:34 schrieb Christian Boltz:
[... Viel Hilfe beim Script...]
Das Script funktioniert nun soweit!
Schön!
[...] Das einzige was noch nicht funktioniert, ist wenn mit "xdsl stop" die Verbindung gekappt wird ein "xdsl start" nicht funktioniert, da man derzeit noch händisch "/etc/init.d/network restart" ausführen muss! Da wäre noch eine Überprüfung im Script super, die ich leider noch nicht hinkriege! Vielleicht hat von euch noch jemand eine Idee dafür?!?
Dafür müsste route -n geprüft werden:
Wenn route -n in der Art aussieht:
--------------------route -n-------------------- Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
dann muss eine neue IP bezogen werden, wenn route -n ähnlich dieser Ausgabe aussieht kann die Verbindung direkt aufgebaut werden.
--------------------route -n-------------------- Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 196.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 172.16.204.1 0.0.0.0 UG 0 0 0 eth0 --------------------route -n--------------------
Es ginge also um die letzte Zeile!
/sbin/route -n | grep '^0\.0\.0\.0' >/dev/null || rcnetwork restart ^^^^^^^^^^^^^^^^^ wird ausgeführt, wenn die Zeile "0.0.0.0" nicht in der Ausgabe von route -n gefunden wird. Gruß Christian Boltz --
Und nun rate mal, warum ausgerechnet v.a. Vielschreiber mutt verwenden. Sicher nicht, weil KMail besser waere. Weil eine Handvoll muttschisten die alle dazu gezwungen hat? ;) [> David Haller und Manfred Misch in suse-linux]
participants (3)
-
Christian Boltz
-
Günther J. Niederwimmer
-
Michael Messner