1. Einführung
Vorab:
ich habe bereits eine Howto auf Basis von FreeS/WAN
und IPSec geschrieben. Diese wurde jedoch nicht fertig. Da FreeS/WAN
nicht mehr weiterentwickelt wird und OpenVPN
ein (meiner Meinung nach) würdiger Nachfolger ist, habe ich die
Howto umgestellt. Wer Interesse an der FreeS/WAN- Howto hat, findet
diese auf meiner Homepage www.64-bit.de
oder kann diese
per Mail bei mir anfordern.
1.1 Scenario
Oft möchte man zwei Netzwerke
über mehr oder weniger weite Entfernungen miteinander verbinden.
Oder man will mit einem Notebook oder von zu Hause auf das
Firmennetzwerk zugreifen. Wenn es nur um den Download verschiedener
Dateien geht eignet sich hierfür schon ein FTP-Zugang. Wenn man
jedoch Wert auf Sicherheit legt und auch verschiedene Netzwerkdienste
nutzen will benutzt man am besten ein
Virtual
Private Network (VPN) auf der Basis von
OpenVPN. Hiermit werden zwei Knoten
(
VPN-Gateways) miteinander
verbunden
und die Daten die über diese Verbindung laufen werden
verschlüsselt. Als Leitung benötigt man keine
Direktverbindung
(z.B. eine teuere Direktverbindung von Knoten zu Knoten) sondern man
kann das 'unsichere' Internet zur Übertragung nutzen.
OpenVPN benutzt
eigene kryptographische Verfahren auf Basis von OpenSSL zur Verschlüsselung.
Diese sind
allgemein anerkannte Standardverfahren. Es wird jedoch KEIN IPSec benutzt! Wer IPSec benutzen will, sollte die
FreeS/WAN- Howto lesen!
Für einen VPN-Gateway ist normalerweise eine feste IP-Nummer
notwendig.
Denn irgendwie müssen die Clients den Gateway ja finden.
Flatrate-Nutzer müssen nun jedoch nicht aufhören zu lesen.
Diese sollten auf einen Nameserverdienst (z.b.
DNS2Go) zurückgreifen oder
müssen sich mit mehr oder weniger komplizierten Scripten
aushelfen.
Zum Aufbau eines VPN-Gateways
benötigt man mindestens zwei Netzwerkinterfaces (meist die
Netzwerkkarte und die Internetverbindung). Ich gehe davon aus,
daß die Netzwerkgrundkonfiguration (Netzwerkkarte, ISDN- Karte/
Modem, DSL usw.) schon vorgenommen wurde. Weiterhin ist auch der
Internetzugang eingerichtet. Wer noch Probleme mit den Begriffen Gateway oder Routing hat sollte sich zuerst ein
wenig mit diesen vertraut machen.
Mit den Beispielen dieser Howto werden
die VPN-Server für folgende Verbindungen eingerichtet:
- Client-Gateway (C2G): eine Verbindung
zwischen zwei Rechnern; wird bei Firmen seltener gebraucht;
z.B. kann der Admin Daten zwischen den Servern sicher austauschen,
Interessant für Privatleute die nur auf
ihren Rechner zu Hause zugreifen wollen
- Client-Netzwerk (C2N): Zugriff von
einem Rechner mit dynamischer IP-Adresse (Roadwarrior genannt)
auf das interne Netzwerk
- Netzwerk-Netzwerk (N2N): Verbindung zwischen
zwei
Firmennetzwerken
- Ethernet-Tunnel: Netzwerk-Brücke
zum Verbinden von Netzwerken; wird benötigt wenn weitere Dienste
und/oder
'nicht' TCP/IP-Protokolle verwendet werden sollen
Anm.: ich weiss: ich benutze teilweise Englisch (Client oder Gateway) und teilweise
Deutsch (Netzwerk).
Es hat sich halt so eingebürgert, dass ein Gateway nicht
'Übergang' genannt wird und ein Netzwerk immer noch ein Netzwerk
ist. Ich bin übrigens kein Freund der 'Verenglischung' deutscher
Begriffe, aber manchmal geht es halt nicht anders.
In den Beispielen haben wir eine Zentrale, eine Zweigstelle und einen Roadwarrior. Die Zentrale besitzt eine Standleitung,
die Zweigstelle eine
DSL-Standleitung und der Roadwarrior
einen privaten Internetzugang. Die beiden VPN-Gateways sind gleichzeitig auch
als Standardgateways bei den
Clients eingetragen. Netzwerkinfos:
- Zentrale:
- Name des VPN-Gateways: erde
- OS: Linux
- Netz: 192.168.0.0/24
- IP-Nummer:
192.168.0.254
- Internet-IP-Nummer:
193.158.2.160
- Zweigstelle
- Name des VPN-Gateways: mars
- OS: Linux
- Netz : 192.168.1.0/24
- IP-Nummer:
192.168.1.254
- Internet-IP-Nummer: 238.195.2.100
- Roadwarrior
- Netz:
192.168.2.0/24
- OS: M$ Windows 2000
Internet-IP-Nummer:
dynamisch
Die Netzwerkadressen sollten sich
natürlich
unterscheiden, da es ansonsten zu Problemen beim Routing und der
Vergabe der IP-Adressen käme.
Die Beispiele dieser HOWTO ist
orientieren sich zur Zeit noch eng an der SUSE- und Gentoo-Distribution.
Abweichungen zu anderen Distributionen sind jedoch soweit ich
weiß
nur gering (meist Pfadangaben). Daher dürften auch Benutzer von
anderen Distributionen hiermit weiterkommen.
Zur
Übertragung wird standardmäßig Port 1194 benutzt.
Dieses muss natürlich auf einer vorgeschalteten Firewall/ Router
durchgelassen werden.
1.2 Ablehnungshinweise und Copyright
Dieses Dokument wurde eigentlich von
mir
geschrieben, um später noch zu Wissen wie man welche Einstellungen
vornimmt. Jeder ist selbst dafür verantwortlich, was mit der
eigenen Hardware geschieht. Falls die Hardware in Rauch und Flammen
aufgeht (...nahezu unmöglich!) übernehme ich dafür keine
Verantwortung. DER AUTOR ÜBERNIMMT KEINE HAFTUNG FÜR
EVENTULLE
FOLGESCHÄDEN AUFGRUND DER ANWENDUNG DER IN DIESEM DOKUMENT
BEREITGESTELLTEN INFORMATIONEN.
Falls Sie beabsichtigen, dieses
Dokument in eine Veröffentlichung aufzunehmen, nehmen Sie bitte
Kontakt zu mir auf. Ich werde dann mein Möglichstes tun, Ihnen die
aktuellsten Informationen zur Verfügung zu stellen. In der
Vergangenheit wurden längst überholte Versionen von
Linux-HOWTO-Dokumenten veröffentlicht, was den Entwicklern
ständigen Kummer bereitete, da sie mit Fragen gequält wurden,
die in den neueren Versionen bereits beantwortet waren.
Das Dokument darf gemäß der
GNU General Public
License verbreitet werden. Insbesondere bedeutet dieses,
daß der Text sowohl über elektronische wie auch
physikalische
Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf,
solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle
Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer
Publikation in Papierform ist Dirk
Bender hierüber zu zu informieren.
1.3 Weitere Dokumentationen
Diese Howto ist kein Ersatz für
die Man-Pages. Sie soll nur als Step-by-Step-Anleitung dienen. Die
nächstbeste Informationsquelle sind die Dokumentationsdateien, die
mit Linux selbst ausgeliefert werden. Es gibt bereits einige davon und
die meisten können im Verzeichnis
/usr/doc und seinen
Unterverzeichnissen gefunden werden. Auch auf meiner Homepage (
Linux Dokumentationen)
sind einige Dokumentationen über Linux, Netzwerk usw.
zusammgengestellt.
1.4 Linux Newsgruppen
Falls die oben genannten
Dokumentationen und diese HOWTO die Fragen nicht klären
können, dann kann man sich an die Linux-Newsgruppen wenden.
Natürlich sollte man es zuerst mit der Lektüre der Newsgruppe
versuchen, anstatt blindlings eine Frage zu schicken. Es ist
nämlich gut möglich, daß dieselbe Frage bereits
gestellt
wurde.
1.5 Neue Versionen dieses Dokuments
Neue Versionen dieses Dokuments erhält man auf meiner Homepage:
Linux
Dokumentationen