Inhaltsverzeichnis
VPN Dokumentation
Grundsätzliches
- Jeder Teilnehmer bekommt ein Class B Subnetz aus dem Bereich 10.0.0.0/8 zugewiesen.
- Die Netze 10.0.0.0/16 und 10.255.0.0/16 sind reserviert.
- Jeder Teilnehmer muss ein gültiges X509 Zertifikat - ausgestellt auf seinen Hostnamen - besitzen (vorzugsweise von CAcert, da kostenlos).
Aufteilung der jeweiligen Subnetze
Netzaufteilung
- 10.x.0.0/24: spezielle individuelle Verwendung (z.B. Management, Transfernetz, …)
- 10.x.1.0 - 10.x.9.0/24: private Netze (Server, Clients, …)
- 10.x.10.0/24: DMZ Netz
- 10.x.11.0/24: VPN Netz (Diese Netze sollen nur über VPN erreichbar sein, z.B. für Serverdienste)
- 10.x.12.0/25: VPN dynamisches Client Netz (Adressen aus diesem Netz koennen zb. Notebooks, welche in das Netz einwaehlen, dynamisch zugewiesen werden)
- 10.x.12.128/25: VPN festes Client Netz (Adressen aus diesem Netz koennen zb. Notebooks, welche in das Netz einwaehlen, fest zugewiesen werden)
- 10.x.20.0/24: WLAN Netz
- 10.x.255.0/24: spezielle individuelle Verwendung (z.B. Management, Transfernetz, …)
Hostaufteilung
- 10.x.x.1: Gateway
- ab 10.x.x.10: Server
- ab 10.x.x.50: Clients
Für andere Geräte wurden keine Regeln festgelegt. Diesen können beliebige IP Adressen zugewiesen werden.
OpenVPN Konfiguration
port
Definition
Der auf beiden Seiten des OpenVPN Tunnel zu verwendende OpenVPN Port setzt sich wie folgt zusammen: 88 + kleineresOktett + größeresOktett
Folgendes gilt:
- Oktett = Dezimalwert des zweiten Oktetts des Teilnehmers (Beispiel: Netz des Teilnehmers: 10.21.0.0/16 → Oktett: 21)
- Sollte der Port den Bereich gültiger Ports übersteigen (> 65536), dann sind am Anfang so lange '8' wegzulassen, bis der Port in einen gültigen Bereich gelangt.
- Für zwei dreistellige Oktette wird (wenn es jemals so weit kommt) eine Sonderregelung erlassen.
Beispiel
- Netz 1: 10.21.0.0/16
- Netz 2: 10.9.0.0/16
Das zweite Oktett von Netz 2 ('9') ist kleiner als das zweite Oktett von Netz 1 ('21'). Da das Ergebnis größer 65536 wäre, wird am Anfang eine 8 weggelassen. Die Formel zum Bau des Ports lautet: 8 + 9 +21. Der zu verwendende Port lautet also: 8921
Ausnahme
Der Port 8800 ist fuer interne VPN Tunnel, sozusagen fuer die Verwendung des Server Client Prinzips in Verbindung mit dem dafuer reservierten Netz 10.x.12.0/24, reserviert.
ifconfig
Definition
Die ifconfig Option definiert die Point-to-Point IP Adressen für das virtuelle tun Interface. Für diese Adressen wird das 10.0.0.0/16 Netz verwendet.
Die IP Adressen bauen sich wie folgt auf: 10.0. <zweites Oktett des lokalen Subnetzes> . <zweites Oktett des remote Subnetzes> Es muss immer zuerst die lokale IP Adresse und anschließend die IP Adresse des Partners angegeben werden. Für die IP Adresse des Partners muss die Betrachtungsweise natürlich umgekehrt werden (oder besser gesagt: es muss aus der Richtung des Partners betrachtet werden).
Beispiel
- Netz 1: 10.21.0.0/16
- Netz 2: 10.9.0.0/16
Der Konfigurationseintrag sollte in Netz 1 wie folgt aussehen:
ifconfig 10.0.21.9 10.0.9.21
Der Konfigurationseintrag sollte in Netz 2 wie folgt aussehen:
ifconfig 10.0.9.21 10.0.21.9
tls-server/tls-client
Definition
Eine der beiden Seiten muss der tls-server sein, die andere Seite der tls-client. Es ist völlig irrelevant, welche Seite welche Rolle übernimmt. Das in tls-auth benannte keyfile sollte für jeden Tunnel einzigartig sein und vom tls-server erzeugt werden (mittels openvpn –genkey).
Vergebene IP Subnetze
| Subnetz | Vergeben an | externe Hostadresse | DNS Domain(s) | Nameserver | Admin E-Mail | Kommentare |
|---|---|---|---|---|---|---|
| 10.1.0.0/16 | Markus Schuster | g84.dyndns.org | cash-zone.local 1.10.in-addr.arpa | 10.1.1.1 | markus@cash-zone.local | |
| 10.2.0.0/16 | Florian Zavatzki | sol.homelinux.org | blue-network.local 2.10.in-addr.arpa | 10.2.1.11 | bc@blue-network.local | |
| 10.3.0.0/16 | Roland Weber | 94060rj-weber2006.dyndns.org | rj-weber.local 0.3.10.in-addr.arpa 1.3.10.in-addr.arpa 10.3.10.in-addr.arpa 11.3.10.in-addr.arpa 20.3.10.in-addr.arpa 25.3.10.in-addr.arpa | 10.3.1.1 | administrator@rj-weber.de | |
| 10.4.0.0/16 | Andreas Schiermeier | vpn-itpa-as.procolli.de | schiermi.local (18.06.07) pixelinfarkt.de (18.06.07) 4.10.in-addr.arpa { 0.4.10.in-addr.arpa (18.06.07) 1.4.10.in-addr.arpa (18.06.07) 10.4.10.in-addr.arpa (18.06.07) } | 10.4.1.2 | schiermi@schiermi.local | schneller als Roland ;) |
| 10.255.0.0/16 | Global | hell.local | belzebub@hell.local | Endpoint WAN Tunnel - Testphase |
kritische IP-Adressen
- 10.6.6.6: virtuelle PtP-IP vieler Mobiltelefone bei der GPRS/UMTS-Einwahl
- 10.64.64.64: virtuelle Fallback PtP-IP des PPPD wenn im PPP-Dialog keine andere mitgeteilt wurde (z.B. UMTS-Karten)
Beispiel OpenVPN Konfiguration
Diese Beispielkonfiguration verbindet die beiden Netze 10.1.0.0/16 und 10.2.0.0/16.
WICHTIG: server.dyndns.org-tlsauth.key und client.dyndns.org-tlsauth.key besitzen den gleichen Inhalt und sind nur zur leichteren lokalen Handhabung unterschiedlich benannt.
tls-server (10.1.0.0/16)
- openvpn-server.conf
remote client.dyndns.org proto udp dev tun2 persist-tun persist-key ifconfig 10.0.1.2 10.0.2.1 port 8812 comp-lzo float keepalive 10 60 daemon management localhost 8812 keysize 256 tls-server tls-auth client.dyndns.org-tlsauth.key tls-remote client.dyndns.org ca x509.crt/cacert.crt cert x509.crt/server.dyndns.org.crt key x509.key/server.dyndns.org.key route 10.2.0.0 255.255.0.0 user nobody group nogroup
tls-client (10.2.0.0/16)
- openvpn-client.conf
remote server.dyndns.org proto udp dev tun1 persist-tun persist-key ifconfig 10.0.2.1 10.0.1.2 port 8812 comp-lzo float keepalive 10 60 daemon management localhost 8812 keysize 256 tls-client tls-auth server.dyndns.org-tlsauth.key tls-remote server.dyndns.org ca x509.crt/cacert.crt cert x509.crt/client.dyndns.org.crt key x509.key/client.dyndns.org.key route 10.1.0.0 255.255.0.0 user nobody group nogroup
