Open VPN
Server installieren
Repos und Abhängigkeiten
yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel iptables wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm rpmbuild --rebuild lzo-1.08-4.rf.src.rpm wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -Uvh lzo-*.rpm rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmService installieren
yum install openvpn yum install webminZusätzlich benötigen wir von www.webmin.com das openvpn Modul, welches wir in Webmin installieren.
Konfiguration Server
- Neue CD (Zertifizierungsstelle) generieren
- Neue Schlüssel generieren
- einen server Key
- für jeden VPN Client einen eigenen Key
- In der VPN Liste einen neuen VPN Server erstellen
vim /etc/openvpn/srv-vpn.conf
port 1194 proto udp dev tun0 ca keys/heimchen/ca.crt cert keys/heimchen/heimchen.crt key keys/heimchen/heimchen.key dh keys/heimchen/dh2048.pem server 192.168.10.0 255.255.255.0 crl-verify keys/heimchen/crl.pem cipher DES-CBC user nobody group adm status servers/SRV-VPN/logs/openvpn-status.log log-append servers/SRV-VPN/logs/openvpn.log verb 2 mute 20 max-clients 100 management 127.0.0.1 4711 keepalive 10 120 client-config-dir /etc/openvpn/servers/SRV-VPN/ccd comp-lzo persist-key persist-tun ccd-exclusive push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"
Konfiguration Client
In Webmin einen neuen Client anlegen. Es können nur Clients angelegt werden, für die es einen gültigen Schlüssel gibt. Dabei ist auf die Serveradresse zu achten:
- VPN im LAN: Lokale Adesse des VPN Servrs
- VPN im Internet: die dynDNS Adresse angeben
Dann die Informationen verbreiten. Damit kann man ein Datenpaket speichern, welches an den Benutzer gemailt werden kann
Linux Client
Am Client openvpn installieren und das Client Datenpaket in den Ordner /etc/openvpn entpacken. Jetzt kann der Client mit
openvpn /etc/openvpn/clientname.conf
gestartet werden
Microsoft Client
DEn Windows OpenVPN Client unter http://openvpn.se/download.html laden und installieren. Jetzt das Client Datenpaket nach …Programme\openvpn\config\ auspacken und den Client starten
Routing
Routing am Server aktivieren
vi /etc/sysctl.conf
Change the line: net.ipv4.ip_forward = 0 TO 1 Comment out this line: # net.ipv4.tcp_syncookies = 1
After type the following to save : sysctl -p
iptables
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to x.x.x.x service iptables save
Weitere Infos: http://wiki.freifunk.net/OpenVPN_Howto#Installation_unter_Linux
http://www.linuxforen.de/forums/showthread.php?t=169354
https://po2.uni-stuttgart.de/~ruslucas/openvpn-howto/
http://www.backenhoernchen.de/dokuwiki/computer/howtos/openvpn_howto
http://wiki.openvpn.eu/index.php/Hauptseite Sehr gute Anleitung
OpenVPN für WinCE Handys und PDA
http://www.rus.uni-stuttgart.de/nks/netzdienste/wlan_beschreibung/vpn_pda/openvpn/index.html
MTU Test
Bei event. Performance Problemen kann es sinvoll sein die MTU Einstellungen entsprechend der eigenen Leitung anzupassen, hierfür bietet OpenVPN die Möglichkeit eines MTU-Tests an. Um einen empirischen MTU-Test zu erstellen, muss in das OpenVPN Konfigurationsfile vor dem Start der Verbindung folgende Zeile ergänzt werden.
mtu-test
Wenn dann die Verbindung gestartet wird, benötigt der Test ca. 3 Minuten und das Verbindungslog sollte eine ähnliche Ausgabe wie diese schreiben.
Sep 8 16:03:44 ipfire n2n[3839]: Initialization Sequence Completed Sep 8 16:03:45 ipfire n2n[3839]: NOTE: Beginning empirical MTU test -- results should be available in 3 to 4 minutes. Sep 8 16:06:45 ipfire n2n[3839]: NOTE: Empirical MTU test completed [Tried,Actual] local->remote=[1253,1253] remote->local=[1253,1253]Hierbei wird von OpenVPN vorgeschlagen den Werte auf 1253 zu setzten, was erreicht werden kann in dem man 1253 in die Zeile „fragment“ im Webinterface schreibt, das mssfix sollte aktiviert sein, der eigentliche MTU Wert kann bei 1500 belassen werden.
Nach dem Test sollte die ergänzte „mtu-test“ Zeile aus dem Konfigurationsfile auch wieder gelöscht werden.
Mit dem Tool bwm-ng kann die Bandbreite getestet werden