Config ServerNET Bridging
Aus OpenVPN Wiki
Einleitung
Diese Konfiguration hat den Vorteil dass die Clients sich so verhalten als wären sie im lokalen Netzwerk eingebunden - sie bekommen alle NetBIOS Broadcasts etc., können problemlos auf Netzwerkfreigaben zugreifen, an LAN-Spielen teilnehmen oder sich auf nur lokal zugängliche Dienste einloggen (z.B. auf das Webinterface des Routers oder auf IP-Range begrenzte VNC-Server).
Installation von OpenVPN auf dem Server und den Clients
siehe Install_Windows bzw. Install_Linux
Laden des TUN-Drivers (nur Linux)
Der Kernel muss ein entsprechendes Modul bereitstellen (tun.o bzw. tun.ko) oder TUN/TAP-Support einkompiliert haben. Danach kann man es als root einfach mit folgendem Befehl laden:
root@erde# modprobe tun
Falls der TUN/TAP Driver nicht gefunden wird (vor allem bei virtuellen Maschinen der Fall) muss man das Device von Hand erstellen:
mkdir -p /dev/net mknod /dev/net/tun c 10 200 chmod 600 /dev/net/tun
Hinweis: Der TUN Driver stellt auch das TAP Interface bereit.
Erzeugen von Zertifikaten/Schlüsseln
Windows: siehe C:\Program Files\OpenVPN\easy-rsa\readme.txt Die in dieser Datei beschriebenen Schritte ausführen um die Schlüssel für Server und Client(s) zu erzeugen. Folgende Dateien auf den Server kopieren:
- ca.crt
- server.crt
- server.key
- dh1024.pem
Folgende Dateien auf den Client kopieren:
- ca.crt
- client.crt
- client.key
Linux/Unix: Easy-rsa befindet sich im Tarball des Sourcecodes bzw. kann unter http://openvpn.net/easyrsa.html heruntergeladen werden. Die Vorgehensweise ist analog zu Windows.
Öffnen des benötigten Ports der Firewall
Steht der Server hinter einer Firewall/einem Router so müssen dort der entsprechende Port auf den Server weitergeleitet werden. Der default-port von OpenVPN ist 1194/UDP.
Erstellen der Netzwerkbrücke auf dem Server
Windows XP: OpenVPN hat bereits einen virtuellen Netzwerkadapter erstellt. In den Netzwerkverbindungen die Detailansicht einschalten - eine Netzwerkverbindung sollte den Gerätenamen "TAP-Win32 Adapter V8" tragen - das ist der virtuelle OpenVPN Netzwerkadapter. Diese Netzwerkverbindung sowie die normale Netzwerkverbindung auswählen, rechtsklicken und "bridge connections" auswählen. Danach in den Eigenschaften der neuerstellten Netzwerkbrücke eine fixe IP zuweisen.
Linux/Unix: Am Ende der Anleitung auf http://openvpn.net/bridge.html befindet sich ein Bridge Start/Stopscript für Linux. Dieses muss angepasst und vor dem Start von OpenVPN ausgeführt werden.
Hinweis: Unter Windows 2000 und früher ist das Erstellen einer Netzwerkbrücke nicht möglich. Windows 2003 Server erlaubt nur in gewissen Versionen das Erstellen von Netzwerkbrücken. Unter Linux geht beim Ausführen des Scriptes in manchen Fällen die Standardroute zum Router verloren (und entsprechend die Internetverbindung), diese muss dann mit dem "route"-Befehl manuell ergänzt werden oder man schreibt das Script entsprechend um.
Tipp Windows 2000: Mit dem Programm "Ethernet Bridge" von http://www.ntkernel.com/ kann mann auch unter Windows 2000 (Server) eine Bridge bauen.
Anpassen der Konfigurationsdateien
Konfigurationsdatei für den/die Client(s):
client # entspricht den Direktiven: tls-client und pull remote my-openvpn-server.dyndns.com 1194 # Hostname/externe IP des Servers/Routers, Port entsprechend anpassen proto udp # Protokoll UDP, für TCP: proto tcp-client dev tap # evtl. tap0 unter Linux # Hier die Pfade anpassen um auf die erstellten Keys zu verweisen ca ca.crt cert client.crt key client.key ns-cert-type server # Eine Sicherheitsmaßnahme verb 3 # Zum Debugging erhöhen mute 50 # Zum Debugging auskommentieren
Konfigurationsdatei für den OpenVPN-Server:
server-bridge 192.168.1.10 255.255.255.0 192.168.1.220 192.168.1.230 # Gateway des Netzwerks _ Subnetmask _ StartIP _ EndIP port 1194 # Auf Port 1194 horchen proto udp # Protokoll UDP, für TCP: proto tcp-server dev tap # evtl. tap0 unter Linux # Hier die Pfade anpassen um auf die erstellten Keys zu verweisen ca ca.crt cert server.crt key server.key dh dh1024.pem client-to-client # Daten von VPN-Client zu VPN-Client wird direkt in OpenVPN weitergeleitet # float # Nur wenn Clients ihre IPs während der Verbindung wechseln ping-timer-rem keepalive 20 180 # Alle 20 Sekunden pingen. 3 Minuten Timeout fuer CLientverbindung verb 3 # Zum Debugging erhöhen mute 50 # Zum Debugging auskommentieren
Autostart auf dem Server einrichten, mit dem Client connecten
OpenVPN muss jetzt auf dem Server mit der server.ovpn Konfigurationsdatei gestartet werden:
Windows XP: Der OpenVPN Installer hat bereits einen Service angelegt der nur noch gestartet bzw. auf "Automatic" gesetzt werden muss (Admin-Privileges erforderlich).
Danach können die Clients sich connecten indem sie OpenVPN mit der client.ovpn Konfigurationsdatei starten. Für Windows-Clients existiert ein komfortables GUI unter [[1]].
