linux-l: Netzwerk, VPN etc....

Carsten Wartmann c.wartmann at gmx.net
Di Nov 14 15:02:22 CET 2000


Hi,

ich habe es geschafft eine VPN Verbindung mit pptp aufzubauen, es geht 
in das Intranet meines Arbeitgebers. Es war etwas kompliziert, da
natürlich alles nur für das andere OS beschrieben
war.... Interessanterweise dient ein ?BSD als server... ;-)

Allerdings bin ich jetzt dabei stecken geblieben, das ganze etwas
automatischer zu machen.

Was habe ich gemacht:

pptp für Linux compiliert

http://cag.lcs.mit.edu/~cananian/Projects/PPTP/

ppp-2.3.10 mit MS-CHAP patch gepatcht, compiliert installiert

mero:/usr/src/pptp-linux-1.0.2# cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
carsten         www.server.de	<secret>
carsten         fw		<secret>
www.blender.nl  *		<secret>

Bei der letzen Zeile bin ich nicht sicher, ich glaube die tut nix,
wenn man "noauth" als pppd option angibt...

Jetzt baue ich eine ganz normale ppp verbindung mit meinem provider
auf.

Dann pptp starten:

mero:/usr/src/pptp-linux-1.0.2# ./pptp www.server.de debug noauth
(unknown)[1346]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:531]: Client connection established.
(unknown)[1346]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:637]: Outgoing call established.

Das geht, pppd wird von pptp aufgerufen und CHAPt sich ein.

mero:/usr/src/pptp-linux-1.0.2# ifconfig 

[···]

ppp1      Link encap:Point-to-Point Protocol  
          inet addr:192.168.5.221  P-t-P:192.168.5.101  Mask:255.255.255.0
          UP POINTOPOINT RUNNING  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0 
          Memory:1a17038-1a17c04 


Da ist das Interface.

Die "inet addr:" ist übrigens nicht statisch, da kann auch was anderes 
stehen (ist wohl ein DHCP Ding...)

So:

mero:/usr/src/pptp-linux-1.0.2# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localhost       *               255.255.255.255 UH    0      0        0 dummy0
pg3-nt.berlin.n *               255.255.255.255 UH    0      0        0 ppp0
192.168.5.101   *               255.255.255.255 UH    0      0        0 ppp1
192.168.0.0     *               255.255.255.0   U     0      0        4 eth0
127.0.0.0       *               255.0.0.0       U     0      0        8 lo
default         pg3-nt.berlin.n 0.0.0.0         UG    0      0       57 ppp0

Jetzt habe ich mit meine recht beschränkten Kenntnissen eine route gesetzt:

mero:/usr/src/pptp-linux-1.0.2# route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.5.101
mero:/usr/src/pptp-linux-1.0.2# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localhost       *               255.255.255.255 UH    0      0        0 dummy0
pg3-nt.berlin.n *               255.255.255.255 UH    0      0        0 ppp0
192.168.5.101   *               255.255.255.255 UH    0      0        0 ppp1
192.168.0.0     *               255.255.255.0   U     0      0        4 eth0
192.168.4.0     192.168.5.101   255.255.255.0   UG    0      0        0 ppp1
127.0.0.0       *               255.0.0.0       U     0      0        8 lo
default         pg3-nt.berlin.n 0.0.0.0         UG    0      0		60 ppp0

Jetzt kann ich per IP-adresse auf das Intranet zugreifen.... Wenn ich
die hosts im Intranet in /etc/hosts eintrage auch mit dem Namen... 

Aber das muss doch einfacher gehen? 

Kann nicht ppp diese Routen automatisch setzen? (da die IP die ich
bekomme dynamisch ist kann da ja so in ein script geschrieben nicht
gehen...)

Ich habe auch einen Nameserver in dem Intranet, wie müsste die
resolv.conf aussehen? Mein naiver Versuch (nach manpage aber ohne zu
verstehen wie das das gemeint ist) sieht so aus:

mero:/usr/src/pptp-linux-1.0.2# cat /etc/resolv.conf
#search imago-viva.de 
domain  imago-viva.de

nameserver 212.122.128.10
nameserver 212.122.129.10

domain intra.server.de
nameserver 192.168.4.2 

hostresorder local bind


Ach ja ich musste noch folgendes in /etc/ppp/options
eintragen:

212.xx.xx.xx:
call www.server.de
debug 

und in /etc/ppp/peers/www.server.de:

noauth      
debug       
defaultroute 
noipdefault  
user carsten


Ach ja, wie kann ich verhindern, dass das ip-up nochmals beim Aufbau
des VPN aufgebaut wird? Wenn das ginge, dann könnte man ja den Aufbau
ins ip-ip packen aber das wird mir sonst zu rekursiv....


Danke für jeden Hinweis!

Carsten.



Mehr Informationen über die Mailingliste linux-l