Home / LinuxUser / 2003 / 07 / Interne Netze sicher zu einem großen virtuellen Netz verbinden

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

VPN für Arme

Interne Netze sicher zu einem großen virtuellen Netz verbinden

Trockenschwimmer

Nach diesen Vorbereitungen ist der Zeitpunkt für erste Tests gekommen. Versuchen Sie, sich in der root-Rolle vom Client aus per ssh als User vpn auf dem Server einzuloggen. Mögliche Fragen des ssh-Kommandos, ob Sie dem anderen Rechner vertrauen, beantworten Sie mit yes (Listing 2).

Listing 2

Erste Tests

client:~# ssh server.dyndns.org -l vpn
The authenticity of host 'server.dyndns.org (217.81.158.48)' can't be established.
DSA key fingerprint is 80:f5:44:74:f4:5e:d0:50:32:12:88:f7:f4:31:75:82.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server.dyndns.org' (DSA) to the list of known hosts.
Linux server 2.4.16 #6 Mon Apr 20 11:03:22 EST 2003 i686 unknown
No mail.
vpn@server:~$
vpn@server:~$ sudo /usr/sbin/pppd noauth
~9}#ÀZ}!}!} }9}"}k} }r} }'}%}zt2-*}'}"}

Klappt das passwortlose Einloggen, rufen Sie auf dem Server den pppd auf. Die aus wirren Zeichen bestehende Antwort in Listing 2 ist ganz normal. Sie beweist, dass der pppd auf dem Server-Rechner startete und nun versucht, den pppd der Gegenstelle anzusprechen. Da es den zur Zeit noch nicht gibt, brechen Sie den Prozess mit [Strg-C] ab, um weitere Einstellungen vorzunehmen.

Niemand mag das VPN jedes Mal von Hand starten. Daher gibt man dem Rechner den Auftrag, es beim Booten oder nach dem Aufbau der Internet-Verbindung automatisch herzustellen. Sind die Rechner über eine ordentliche Standleitung mit dem Internet verbunden, reicht es, das vpn-pppssh-Skript auf dem Client-Rechner nach /etc/init.d/ zu kopieren und es nach der Bootlogik der eingesetzten Distribution in die adäquaten Runlevel-Verzeichnisse zu verlinken. Unter Debian geht das wie in Listing 3.

Listing 3

Das VPN-Skript als Init-Skript für den Systemstart bei Debian einrichten

ln -s /etc/init.d/vpn-pppssh /etc/rc0.d/K10vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc1.d/K10vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc2.d/S99vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc3.d/S99vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc4.d/S99vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc5.d/S99vpn-pppssh
ln -s /etc/init.d/vpn-pppssh /etc/rc6.d/K10vpn-pppssh

Für Rechner mit DSL-Zugang, der meist alle 24 Stunden erneut aufgebaut werden muss, empfiehlt sich der Aufruf des VPN-Skripts nach jeder Einwahl des Clients. Hierfür kopiert man vpn-pppssh nach /usr/local/bin/ und legt in /etc/ppp/ip-up.d/ ein weiteres Skript (Listing 4) ab, das der pppd nach jeder Neueinwahl automatisch aufruft und so für den Aufbau des VPN sorgt.

Listing 4

VPN-Start bei der Internet-Einwahl

#!/bin/sh
if [ "$PPP_IPPARAM" = "vpn" ]; then
        # Das VPN soll sich nicht selbst starten
        exit 0
fi
/usr/local/bin/vpn-pppssh start

Praktische Details

Damit der Client aus Haus 5 nicht wissen muss, welche IP-Adresse der Server bei der letzten Einwahl zugewiesen bekam, nutzt die WG aus Haus 2 einen dynamischen DNS-Service (siehe Seite 66 f. und [5]), der für die vom Internetprovider dynamisch vergebene IP-Adresse einen festen Hostnamen zur Verfügung stellt.

Im Beispiel trägt der als Server dienende Rechner vom lokalen Netz aus gesehen die interne IP-Adresse 192.168.2.1. Den Gateway-Rechner von Haus 5 konfigurierten dessen Bewohner auf die interne IP-Adresse 192.168.5.1. Sie passen außerdem die Werte der Variablen SERVER_HOSTNAME, SERVER_USERNAME, SERVER_IFIPADDR und CLIENT_IFIPADDR im Skript an die eigenen Gegebenheiten an (Listing 5).

Listing 5

Anpassungen an vpn-pppssh

# Der Hostname bzw. die IP-Adresse des Servers
SERVER_HOSTNAME=server.dyndns.org

# Benutzername auf dem Server, mit dessen Rechten das VPN aufgebaut wird
SERVER_USERNAME=vpn
# Die IP-Adresse des VPNs auf dem Server:
SERVER_IFIPADDR=192.168.2.254
# Die IP-Adresse des VPNs auf dem Client:
CLIENT_IFIPADDR=192.168.5.254
# Der Adressbereich des internen Netzes auf Server-Seite:
SERVER_NET="192.168.2.0/24"
# Der Adressbereich des internen Netzes auf Client-Seite:
CLIENT_NET="192.168.5.0/24"

Um die Routing-Tabelle anpassen zu können, muss bekannt sein, welcher IP-Adressen-Bereich auf der einen wie auf der anderen Seite des Tunnels genutzt wird. Dafür sind die Angaben in SERVER_NET und CLIENT_NET nötig.

Damit alle Pakete ins Server-seitige Netz 192.168.2.0 durch den aufgebauten VPN-Tunnel gehen, muss man am Ende der Startsektion des vpn-pppssh-Skripts einen Befehl einfügen, der die Routing-Tabelle des Clients entsprechend erweitert:

route add -net $SERVER_NET gw $SERVER_IFIPADDR

Ein weiterer Befehl öffnet eine ssh-Verbindung zum Server und setzt dort mit Hilfe von sudo die passende Route zum Client:

ssh -o Batchmode=yes $SERVER_HOSTNAME -l $SERVER_USERNAME sudo /sbin/route add -net $CLIENT_NET gw $CLIENT_IFIPADDR

Dank der im Abschnitt "Trockenschwimmer" erklärten Anpassungen startet der Client das VPN-Skript selbsttätig, sobald er die Verbindung zum Internetprovider aufgebaut hat; die zwei zusätzlichen Befehle im Skript passen das Routing an. Nach spätestens einer Minute sollten die Rechner des anderen Netzes erreichbar sein, was sich z. B. mit ping schnell überprüfen lässt. Webserver oder Drucker im anderen Teilnetz sprechen die Bewohner von Haus 5 nun so an, als ob es sich um lokale Geräte handelt. Umgekehrt gilt für die WG aus Haus 2 dasselbe.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...