Was sind dynamische IP-Nummern?
IP-Nummern sind knapp und daher teuer. Die Provider versuchen deshalb IP-Nummern einzusparen, indem sie sich nur (mindestens) so viele IP-Nummern zuweisen lassen, wie sich gleichzeitig bei Ihnen einwählen können. Die Anzahl der potenziellen Rechner, die sich einwählen könnten ist aber höher, daher kann nicht mehr für jeden Rechner eine IP-Nummer fest zugeordnet werden.
Der Trick besteht also darin, daß auf eine feste Zuordnung Rechner - IP-Nummer verzichtet wird und stattdessen bei jedem Verbindungsaufbau aus einem freien Pool eine ausgewählt wird, die dem Client mitgeteilt wird. Diese Technik nur beim PPP-Protokoll benutzt werden, nicht bei rawip.
Diese Methode ist prima, wenn man nur eine Arbeitstation hat und Session-orientiert arbeitet: Verbindung aufbauen, surfen, surfen, Mails austauschen, surfen und schließlich Verbindung abbauen.
Will man nur ein klein wenig mehr (transparenten Internetzugriff), stellt sich schnell heraus, daß das Internetkonzept und dynamische IP-Nummern nicht zusammenpassen.
Folgende Punkte sind für einen transparenten Internetzugriff wünschenswert:
Dieses läßt sich mit ISDN wunderbar lösen, vor allem deshalb, weil der Verbindungsaufbau im Gegensatz zu einem Modem sehr schnell geht (wenige Sekunden).
Folgende Punkte sind bei dynamischen IP-Nummern nicht realisierbar:
Die Probleme: Aus dem Offene-Sockets-Problem ergeben sich zwei Punkte, die bei einem IZG mit dynamsichen IP-Nummer beachtet werden müssen:
Abbruch
und
Reload
zu drücken.
Abhilfe schafft hier zum einen, daß man den Client nicht erlaubt direkt in das Internet eine Verbindung aufzubauen (über Masquerading), sondern nur über Proxies (siehe Squid. Aber auch diese Methode ist nicht zuverlässig.
Wirkliche Abhilfe schafft nur die Aktivierung des RST-provoking mode. Dabei wird bei dem Paket die Quell-IP-Nummer ausgetauscht gegen die jetzt aktuelle dynamsiche IP-Nummer, was bewirkt, daß beide Seiten diesen Socket schließen.
Diese Modus ist leider noch nicht in den offiziellen Kernel gekommen. Den Patch von Erik Corry findet man hier:
http://www.image.dk/~ehcorry/linux/
Er ist für Kernel der Version bis 2.0.33 passend, ab Version
2.0.34 wird er vermutlich im Standard-Kernel sein. Im Standrdkernel
von S.u.S.E. Linux 5.2 (und im Quellpaket lx_suse
ist dieser
Pacth schon enthalten.
(Offen: 2.1?)
Zur Aktivierung gibt man das Kommando:
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
(Oder nur 5
, für den quiet-Mode).
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)
Aktivierung bei S.u.S.E.:
Trage in /sbin/init.d/i4l_hardware
vor dem Start des
isdnlog folgende Zeilen ein:
test -z "$I4L_DYNIP" ||
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
(das wird vermutlich bei S.u.S.E. Linux später als 5.2 der Fall sein)
und trage in /etc/rc.config
ein:
I4L_DYNIP="yes"
Der Provider stellt nur dynamische IP-Nummern zur Verfügung, während der Konfiguration von i4l werde ich aber nach IP-Nummer gefragt - welche IP-Nummer soll ich denn da angeben?
i4l arbeitet mit einer transparenten Netzanbindung, d.h. logisch gesehen ist die Verbindung immer aktiv, auch wenn noch garnicht gewählt wurde und keine dynamischen IP-Nummern ermittelt werden konnten. Um dieses Pseudo-Netzwerk zu konfigurieren müssen aber zwangsläufig IP-Nummern angegeben werden.
Es empfiehlt sich daher, eine Pseudo-IP-Nummer zu benutzen,
z.B. dieselbe, die man auch für seine Ethernetanbindung
benutzt. Das ist möglich, da die PPP-Verbindung als
pointopoint
-Verbindung (beim ifconfig
) konfiguriert
wurde, dies ist ein spezieller Modus, durch den der
Kernel weiß, daß hier nur eine Verbindung zwischen
zwei Punkten stattfindet. Warum Point-To-Point (PtP)
als pointopoint angegeben wird, weiß ich auch nicht ....
Um keinen Konflikt mit offiziellen IP-Nummern zu provozieren,
sollte man eine aus dem privaten Bereich wählen, z.B.
192.168.1.1
.
Falls man bei T-Online angeschlossen ist oder dies plant:
Benutze nicht 192.168.0.*
, darüber werden z.T.
interne Dienste wie Cept abgehandelt.