SuSE Support-Datenbank

Titel: dynamische IP-Nummern: Probleme beim Aufbau und Abbau

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

dynamische IP-Nummern: Probleme beim Aufbau und Abbau

Bezieht sich auf

Kernel: Versionen ab 2.0.30

Symptom:

Sie haben eine syncPPP-Verbindung mit dynamischen IP-Nummern bei Ihrem Provider. Dial-on-demand funktioniert, allerdings gibt es zwei Probleme:
  1. Beim Verbindungsaufbau wird zwar gewählt, das auslösende Programm hängt aber. Beispiel: Im Web-Browser wählen Sie eine Seite an, die Verbindungs wird richtig aufgebaut, aber die Seite wird erst nach Reload angezeigt.
  2. Nachdem eine Verbindung aufgebaut wurde, wird immer wierde neu gewählt, obwohl anscheinend kein Programm mehr Pakete verschickt.

Ursache:

Das Netzinterface ist mit einer bestimmten lokalen IP-Nummer konfiguriert, die dem ersten IP-Paket als Absenderadresse mitgegeben wird. Durch den Verbindungsaufbau wird aber eine neue IP-Nummer bestimmt. Das erste Paket wird also verschickt, allerdings ist die Absenderadresse nun falsch und kann vom Server nicht beantwortet werden (bzw. wird an eine falsche Adresse zurückgeschickt)

Das auslösende Programm, z.B. der Web-Browser bekommt hiervon nichts mit - die Sockets bleiben offen und es werden bis zu einem Timeout (etwa 20 Minuten) immer wieder Pakete darüber geschickt, was einen Verbindungsaufbau bewirkt. Selbst das Beenden der Programme nützt nichts.

Lösung:

Wirkliche Abhilfe schafft hier nur der RST-provoking mode durch einen Kernel-Patch von Erik Corry.

Dabei wird bei dem Paket die Quell-IP-Nummer ausgetauscht gegen die jetzt aktuelle dynamische IP-Nummer, was bewirkt, daß beide Seiten diesen Socket schließen. Beide oben beschriebenen Probleme sind damit gelöst.

Zur Aktivierung gibt man das Kommando:

echo 7 > /proc/sys/net/ipv4/ip_dynaddr
Bei Erfolg sieht man in /var/log/messages Meldungen der folgenden Art:
ip_rewrite_addrs(): shifting saddr from 1.1.1.1 to 149.228.142.50 (state 2)
Ab S.u.S.E. Linux 6.0 (bzw. 5.2, 3. Auflage) wird dieser Befehl automatisch durch die /etc/rc.config- Variable
IP_DYNIP="yes"
ausgeführt. Bis S.u.S.E. Linux einschliesslich 5.2 sorgen Sie durch einen Eintrag z.B. in /sbin/init.d/boot.local:
#! /bin/sh
#
# Copyright (c) 1996 S.u.S.E. GmbH Fuerth, Germany.  All rights reserved.
#
# Author: Florian La Roche , 1996
#     Werner Fink , 1996
#         Burchard Steinbild , 1996
#
# /sin/init.d/boot.local
#
# script with local commands to be executed from init on system startup
#
. /etc/rc.config
echo Running /sbin/init.d/boot.local.

echo "Enable RST-Provoking Mode"
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
#
exit 0

Hinweise zum verwendeten Kernel

Mehr Infos zu diesem Patch findet man bei installierten Quellen in /usr/src/linux/Documentation/networking/ip_dynaddr.txt

Den Original-Patch finden Sie hier: http://www.image.dk/~ehcorry/linux/

Originalquellen bis 2.0.33

Der RST-Patch ist noch nicht integriert. Installieren Sie den Patch manuell (s.u.) und generieren Sie einen eigenen Kernel.

Originalquellen ab 2.0.34 (ab pre4)

Der RST-Patch ist integriert.

S.u.S.E. Kernel bis 5.1

Wir empfehlen die Installation neuerer Kernelquellen, z.B. von ftp://ftp.suse.com/pub/5.2/suse/d1/lx_suse.rpm".

S.u.S.E. Kernel ab 5.2

Sowohl in den Kernelquellen, als auch in den vorcompilierten Kerneln ist der RST-Patch enthalten.

---

Siehe auch:

---

Stichwörter: ISDN, SYNCPPP, IPPPD, DIAL ON DEMAND, DYNAMISCHE IP-NUMMERN, PAKET GEHT VERLOREN, RST, PROVOKING, PATCH, DYNIP, IP_DYNADDR

---

Kategorien: PPP

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

SDB-dynippatch, Copyright SuSE GmbH, Nuremberg, Germany - Version: 11. Sep 1997
Impressum - Zuletzt generiert: 24. Feb 1999 11:06:09 by maddin with sdb_gen 1.00.0