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