diwaffm
Goto Top

Wie kann ich unter Windows (XP) eine Route in ein VPN einrichten, von dem ich eine Dynamische Adresse zugewiesen bekomme?

Hi Leute,

um von einem Windows XP Rechner aus Verbindung zu einem MSSQL-Server aufbauen zu können, muss ich mich per VPN mit einem Einwahlserver verbinden.
Dieser Server weist mir aus einen Pool von 50 Adressen eine dynamische Adresse zu.

Wenn ich das zugewiesene Gateway der dynamischen Adresse nutze, kann ich vom Windows XP-Rechner aus keine Verbindung mehr ins lokale Netzwerk und ins Internet mehr herstellen.
Schalte ich die Nutzung dieses Gateways aus, geht das wieder. Der SQL Server ist aber nur erreichbar, wenn das Gateway aktiv ist, oder wenn ich von Hand eine Route eintrage.

Da ich nun jeweils unterschiedliche Adressen zugewiesen bekomme, muss ich nach jedem Verbindungsaufbau die Route neu eintragen.

Beispiel:
Ich bekomme die 10.10.10.1 zugewiesen.
Der SQL-Server liegt auf der 10.10.13.100

Also richte ich als Route ein:
10.10.13.0 255.255.255.0 10.10.10.1

Gibt es einen Weg, die .1 variabel zu halten - oder muss ich 50 Routen (für jede mögliche zugewiesene Adresse) einrichten.
Alternativ wäre natürlich ein Skript möglich dass die zugewiesene Adresse ausliest und die Route entsprechend setzt...

Ciao

dirk

Content-Key: 165187

Url: https://administrator.de/contentid/165187

Printed on: April 19, 2024 at 17:04 o'clock

Member: DasBreaker
DasBreaker Apr 26, 2011 at 13:01:08 (UTC)
Goto Top
Hi,

Versuch mal den Befehl. (Nutzung als Gateway muss aus sein und die Verbindung muss aufgebaut sein)

route -p add 10.0.0.0 mask 255.0.0.0 [GATEWAY IP DES VPN SERVERS] metric 1 if [DEINE LOKALE IP VON DER VPN VERBINDUNG]

Der Parameter -p sorgt dafür dass dies eine Statische Route ist und nicht nach einen neustart gelöscht wird

10.10.13.0 255.255.255.0 10.10.10.1
Kann als route nicht funktionieren da 10.10.13.0 und 10.10.10.0 nicht im selben Netz währen.
Abgesehen davon ist 10.0.0.0 eine Class-A Adresse und sollte darum im Standartfall immer die Subnetzmaske 255.0.0.0 haben
Member: diwaffm
diwaffm Apr 26, 2011 at 13:06:11 (UTC)
Goto Top
Zitat von @DasBreaker:
route -p add 10.0.0.0 mask 255.0.0.0 10.10.10.1 metric 1 if [DEINE LOKALE IP VON DER VPN VERBINDUNG]

Mein Problem ist ja, dass die IP von der VPN Verbindung ständig (d.h. bei jeder Einwahl) wechselt...
Da würde mir auch die permanente Route nichts nützen.

Oder habe ich da jetzt einen Denkfehler...

ciao

dirk
Member: aqui
aqui Apr 26, 2011 at 13:13:43 (UTC)
Goto Top
Du kannst die statische Route fest auf die Schnittstellennummer setzen, denn die ändert sich nicht beim PPTP Interface. Mit "route print" kannst du die Interface ID Nummern sehen bei aktivierter Schnittstelle.
Member: DasBreaker
DasBreaker Apr 26, 2011 at 13:16:09 (UTC)
Goto Top
Zitat von @diwaffm:
> Zitat von @DasBreaker:
> route -p add 10.0.0.0 mask 255.0.0.0 10.10.10.1 metric 1 if [DEINE LOKALE IP VON DER VPN VERBINDUNG]

Mein Problem ist ja, dass die IP von der VPN Verbindung ständig (d.h. bei jeder Einwahl) wechselt...
Da würde mir auch die permanente Route nichts nützen.

Oder habe ich da jetzt einen Denkfehler...

ciao

dirk

Welche IP meinst du deine Lokale oder die des VPN GW ?

Also selbst wenn
wenn du...
route print
... eingibst musst du eine Schnittstellenliste haben, den nimmst du einfach die Zahl der Schnittstelle.

0x1 ........................... MS TCP Loopback interface
0x2 ...00 30 05 d4 bf b7 ...... Realtek RTL8169/8110 Family Gigabit Ethernet NIC

"MS TCP Loopback interface" währe die VPN verbindung und hat die Nummer 1.
Den machst du halt einfach...

route -p add 10.0.0.0 mask 255.0.0.0 [GATEWAY IP DES VPN SERVERS] metric 1 if [schnittstelle]

Abgesehen davon fällt mir gerade auf (ich habe mir fix ne Testumgebung mit Server 2008 gebaut ;) ), dass diese route standartmäßig erstellt wird selbst wenn das Nutzen als GW aus ist also wenn du 2 min wartest nachdem die Verbindung aufgebaut ist sollte das Subnetz trotzdem erreichbar sein also auch den MSSql Server.
Member: diwaffm
diwaffm Apr 26, 2011 at 13:59:08 (UTC)
Goto Top
Zitat von @aqui:
Du kannst die statische Route fest auf die Schnittstellennummer setzen, denn die ändert sich nicht beim PPTP Interface. Mit
"route print" kannst du die Interface ID Nummern sehen bei aktivierter Schnittstelle.

Was aber nur funktioniert, wenn sich die IP des Gateways nicht ändert, oder?
Das tut sie aber: siehe weiter unten.


Zitat von @DasBreaker:

Welche IP meinst du deine Lokale oder die des VPN GW ?

Die die ich bei der Einwahl ins VPN zugewiesen bekomme.
Ist aber die gleiche, die auch als Standardgateway für diese Verbindung übertragen wird

[code]
PPP-Adapter VPN_MSSQL:

Verbindungsspezifisches DNS-Suffix:
IP-Adresse. . . . . . . . . . . . : 10.10.10.2
Subnetzmaske. . . . . . . . . . . : 255.255.255.255
Standardgateway . . . . . . . . . : 10.10.10.2
[/code]


Zitat von @DasBreaker:

Also selbst wenn
wenn du...
route print
... eingibst musst du eine Schnittstellenliste haben, den nimmst du einfach die Zahl der Schnittstelle.

0x1 ........................... MS TCP Loopback interface

Ja.


route -p add 10.0.0.0 mask 255.0.0.0 [GATEWAY IP DES VPN SERVERS] metric 1 if [schnittstelle]

Womit sich wieder das Problem ergibt, dass [GATEWAY IP DES VPN SERVERS] immer identisch mit der zugewiesenen IP Adresse ist.


Abgesehen davon fällt mir gerade auf (ich habe mir fix ne Testumgebung mit Server 2008 gebaut ;) ), dass diese route
standartmäßig erstellt wird selbst wenn das Nutzen als GW aus ist also wenn du 2 min wartest nachdem die Verbindung
aufgebaut ist sollte das Subnetz trotzdem erreichbar sein also auch den MSSql Server.

Ist unter Windows XP und auch unter Windows 2000 leider nicht so.

Ciao

dirk
Member: aqui
aqui Apr 26, 2011 at 14:20:39 (UTC)
Goto Top
Das ist Unsinn das sich die Gateway IP ändert. Je nachdem was für eine Hardware das ist ist der VPN Server immer unter einer fixen IP Adresse zu erreichen. Ein Gateway kann doch niemals eine dynmaische IP Adresse haben, das würde die Funktion jeden Routers konterkarieren !
Lediglich die Winblows Anzeige ist etwas "dümmlich" da PPTP ein P2P Protokoll ist mit einer 32 Bit Maske. Dementsprechend unsinnig ist die Windows Anzeige.
Frage also deinen Netzwerk Admin welche IP Adresse der VPN Server statisch hat und stelle die Route mit dem -p Paramter entsprechend darauf ein. Achte darauf das der Schnittstellenindex immer auf den virtuellen PPTP Adapter zeigt. Hier irrt Kollege DasBreaker übrigens denn dies ist nicht die Loopback Schnittstelle sondern eine separate Virtuelle.
Wenn du das beachtest klappt das im Handumdrehen egal ob XP, 2000 oder welches Winblows auch immer...
Member: DasBreaker
DasBreaker Apr 26, 2011 at 14:27:44 (UTC)
Goto Top
Zitat von @diwaffm:
> Zitat von @aqui:
> ----
> Du kannst die statische Route fest auf die Schnittstellennummer setzen, denn die ändert sich nicht beim PPTP Interface.
Mit
> "route print" kannst du die Interface ID Nummern sehen bei aktivierter Schnittstelle.

Was aber nur funktioniert, wenn sich die IP des Gateways nicht ändert, oder?
Das tut sie aber: siehe weiter unten.


> Zitat von @DasBreaker:
> ----

> Welche IP meinst du deine Lokale oder die des VPN GW ?

Die die ich bei der Einwahl ins VPN zugewiesen bekomme.
Ist aber die gleiche, die auch als Standardgateway für diese Verbindung übertragen wird

[code]
PPP-Adapter VPN_MSSQL:

Verbindungsspezifisches DNS-Suffix:
IP-Adresse. . . . . . . . . . . . : 10.10.10.2
Subnetzmaske. . . . . . . . . . . : 255.255.255.255
Standardgateway . . . . . . . . . : 10.10.10.2
[/code]


Das ist aüßerst merkwürdig
da deine IP und dass GW gleich sind und die SNM auf 255.255.255.255

bist du dir sicher dass du die IP automatisch beziehst und nicht statisch drinn hast ?



> Zitat von @DasBreaker:
> ----
>
> Also selbst wenn
> wenn du...
> route print
> ... eingibst musst du eine Schnittstellenliste haben, den nimmst du einfach die Zahl der Schnittstelle.
>
> 0x1 ........................... MS TCP Loopback interface

Ja.


> route -p add 10.0.0.0 mask 255.0.0.0 [GATEWAY IP DES VPN SERVERS] metric 1 if [schnittstelle]

Womit sich wieder das Problem ergibt, dass [GATEWAY IP DES VPN SERVERS] immer identisch mit der zugewiesenen IP Adresse ist.


> Abgesehen davon fällt mir gerade auf (ich habe mir fix ne Testumgebung mit Server 2008 gebaut ;) ), dass diese route
> standartmäßig erstellt wird selbst wenn das Nutzen als GW aus ist also wenn du 2 min wartest nachdem die
Verbindung
> aufgebaut ist sollte das Subnetz trotzdem erreichbar sein also auch den MSSql Server.

Ist unter Windows XP und auch unter Windows 2000 leider nicht so.

sry konnte ich ja net wissen aber ich mach dass heute abenden muss jetzt leider weg sry
Ciao

dirk

Member: tonabnehmer
tonabnehmer Apr 26, 2011 at 14:58:23 (UTC)
Goto Top
Hi,

ich hatte mal etwas ähnliches unter Windows XP und PPTP. Folgende Batch Datei sollte Abhilfe schaffen, falls Du das normale Windows VPN nimmst (k.A. ob das unter Windows 7 auch so geht):

@echo off
rasphone -d "Name Deiner VPN Verbindung"
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FINDSTR /R 10\.10\.10\.[0-9]* ') DO FOR %%B IN (%%A) DO SET IPADDR=%%B
route add 10.10.13.0 mask 255.255.255.0 %IPADDR%

Die Batch macht Folgendes:

- Aufruf der unter Windows mit Bordmitteln erstellten VPN Verbindung (da kommt der Dialog wo Du ggf. das Passwort eingibts und OK klickst)
- Suchen der zugewiesenen IP Adresse aus dem bekannten Bereich (10.10.10.0/24)
- Setzen der Route ins Netz 10.10.13.0/24 über diese IP

Du kannst die Hinweise von aqui bzgl. des Namens der PPTP Schnittstelle beachten und ggf. die Batch Datei entsprechend ändern.

Grüße,
tonabnehmer
Member: diwaffm
diwaffm Apr 26, 2011 at 18:05:19 (UTC)
Goto Top
Zitat von @aqui:


Frage also deinen Netzwerk Admin welche IP Adresse der VPN Server statisch hat und stelle die Route mit dem -p Paramter
entsprechend darauf ein.

Mail ist raus...

Ciao

dirk
Member: diwaffm
diwaffm Apr 26, 2011 at 18:10:28 (UTC)
Goto Top
Zitat von @tonabnehmer:

ich hatte mal etwas ähnliches unter Windows XP und PPTP. Folgende Batch Datei sollte Abhilfe schaffen, falls Du das normale
Windows VPN nimmst (k.A. ob das unter Windows 7 auch so geht):

@echo off
rasphone -d "Name Deiner VPN Verbindung"
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FINDSTR /R 10\.10\.10\.[0-9]* ') DO FOR %%B IN (%%A) DO
SET IPADDR=%%B
route add 10.10.13.0 mask 255.255.255.0 %IPADDR%


Jau - das funktioniert.

Allerdings nur, wenn ich die .bat von Hand aufrufe.

Wenn ich sie mittels WScript aus einer ASP(classic) Webseite heraus aufrufe wird zwar die Verbindung aufgebaut - die Route aber nicht gesetzt.

Ich habe den Teil für die Route auch mal in eine eigene Batch-Datei gepackt und separat aufgerungen - funktioniert auch nicht. Auch nicht, wenn da nur "route add 10.10.13.0 mask 255.255.255.0 10.10.10.1" drin steht...

Anscheinend mag der WSH den route Befehl nicht...

Ciao

dirk
Member: tonabnehmer
tonabnehmer Apr 26, 2011 at 18:40:13 (UTC)
Goto Top
Zitat von @diwaffm:
> Zitat von @tonabnehmer:
> ----

> ich hatte mal etwas ähnliches unter Windows XP und PPTP. Folgende Batch Datei sollte Abhilfe schaffen, falls Du das
normale
> Windows VPN nimmst (k.A. ob das unter Windows 7 auch so geht):
>
> @echo off
> rasphone -d "Name Deiner VPN Verbindung"
> FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FINDSTR /R 10\.10\.10\.[0-9]* ') DO FOR %%B IN
(%%A) DO
> SET IPADDR=%%B
> route add 10.10.13.0 mask 255.255.255.0 %IPADDR%


Jau - das funktioniert.

Allerdings nur, wenn ich die .bat von Hand aufrufe.

Wenn ich sie mittels WScript aus einer ASP(classic) Webseite heraus aufrufe wird zwar die Verbindung aufgebaut - die Route aber
nicht gesetzt.

Ich habe den Teil für die Route auch mal in eine eigene Batch-Datei gepackt und separat aufgerungen - funktioniert auch
nicht. Auch nicht, wenn da nur "route add 10.10.13.0 mask 255.255.255.0 10.10.10.1" drin steht...

Anscheinend mag der WSH den route Befehl nicht...

Ciao

dirk

Ich hatte vorhin beim Test der Batch unter Windows 7 (nur setzen der Route) das Problem, dass ich Admin Rechte brauchte. Also musste ich die cmd.exe explizit als Administrator ausführen und dort die Batch aufrufen. Vielleicht liegt es ja daran. Mit WScript und ASP kenne ich mich nicht aus.