Hallo,
Ich habe ein Problem mit der Quell-Adresse des ersten IP-Pakets bei ISDN-Einwahl mit dynamischer Adress-Zuweisung. Die Details: Von einem Rechner (SLES8) wird ein anderer Server per ISDN angewählt. Die Interfaces des Rechners:
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:30:05:25:01:ce brd ff:ff:ff:ff:ff:ff
3: ippp0: mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
7: sit0@NONE: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
und folgende Routing-Tabelle:
172.30.203.241 dev ippp0 scope link
172.25.6.0/24 dev eth0 proto kernel scope link src 172.25.6.22
default via 172.25.6.1 dev eth0
Die IP-Adresse für das Interface ippp0 wird bei der Einwahl dynamisch aus einem Pool vergeben. Für die ippp-Interfaces habe ich Masquerading konfiguriert. ip_forward=1 und ip_dynaddr=7 sind gesetzt.
Chain PREROUTING (policy ACCEPT 235 packets, 53626 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 9 packets, 980 bytes)
pkts bytes target prot opt in out source destination
2 168 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
0 0 MASQUERADE all -- * ippp0 172.25.6.22 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 12 packets, 1232 bytes)
pkts bytes target prot opt in out source destination
Nach der Einwahl wird die Routingtabelle mit einem Skript entsprechend geändert, so dass der Server hinter dem Einwahlknoten erreichbar ist. Das klappt auch prima:
172.30.203.241 via 172.30.204.1 dev ippp0 src 172.30.204.10
172.30.204.1 dev ippp0 proto kernel scope link src 172.30.204.10
172.25.6.0/24 dev eth0 proto kernel scope link src 172.25.6.22
default via 172.25.6.1 dev eth0
ABER: Wenn ich DoD verwende, hat das erste Paket als Source-IP die Adresse der Ethernetkarte eth0 (172.25.6.22) und wird nicht maskiert. Es wird dann die richtige Wähl-Verbindung aufgebaut, aber das Paket wird entweder auf der Gegenseite geblockt oder die Gegenseite weiss nicht wohin mit der Antwort. Kurz gesagt, ich habe das Problem, dass die Pakete, die den Verbindungsaufbau anstossen nicht umgeschrieben werden und damit verloren gehen.
Wie kann ich erreichen, dass bereits das erste Paket die richtige IP-Adresse als Source bekommt. Oder mache ich etwas grundsätzlich falsch?
Grüße, Pascal