openvpn auf Server und Client installieren
/usr/share/doc/packages/openvpn
nach /etc/openvpn
kopieren/etc/openvpn/easy-rsa
wechseln und die Datei vars
bearbeiten. ./vars (punkt leerzeichen punkt slash) ./clean-all ./build-ca
./build-key-server s4e
erstellen./build-key d4e
erstellen./build-dh
/etc/openvpn/ccd
anlegen/etc/openvpn/ccd/d4e
mit folgendem Inhalt anlegen:iroute 192.168.4.0 255.255.255.0
/etc/init.d/openvpn
folgende Zeile hinzufügen:start) echo -n "Starting $DAEMON " /sbin/modprobe tun &>/dev/null for conf in $confdir/*.conf; do pidfile=$(basename ${conf%%.conf}).pid $openvpn --daemon \ --writepid $piddir/$pidfile \ --config $conf \ --cd $confdir \ ==> --duplicate-cn \ || ret=false done
/etc/openvpn/server.conf
anlegen:# OpenVPN 2.0 server.conf # Explizites Setzten des Server-Ports port 1194 # UDP als Transportprotokoll proto udp # Routing-Modus mit /dev/tun dev tun # Name und Pfad der Zertifikate/Schlüssel-Dateien ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/s4e.crt key /etc/openvpn/easy-rsa/keys/s4e.key # Schlüssellänge des Diffie-Hellman: 1024 dh /etc/openvpn/easy-rsa/keys/dh1024.pem # VPN-Subnetz für Clients; Server benutzt 10.8.0.1 server 10.8.0.0 255.255.255.0 # Zuordnung von Client-IP-Adressen zu VPN-Adressen in ipp.txt # führen. Wichtig für Re-Connects. ifconfig-pool-persist ipp.txt # In ccd liegen Client-spezifische Konfigurationen client-config-dir ccd # Route zum Subnetz hinter dem Client setzen für Multi-Client-Zugriff route 192.168.4.0 255.255.255.0 # Ein Ping ähnlicher Mechanismus prüft alle 10 Sekunden, ob die # Gegenseite noch da ist. Nach 120 Sekunden gilt die Verbindung als # getrennt. push "route 10.99.0.0 255.255.255.0" push "route 192.168.4.0 255.255.255.0" keepalive 10 120 # Clients im selben Subnet können auch andere Clients sehen client-to-client # Kompression benutzen comp-lzo # Anonyme Benutzer/Gruppe nobody mit UID/GID 65534 user nobody group nobody # Bei unerwartetem Verlust der Verbindung: Schlüssel behalten und # Interface nicht herunterfahren. persist-key persist-tun # Protokolliere alle momentanen Verbindungen status openvpn-status.log # Meldungen an Syslog mit Verbose-Level 3 verb 3
/etc/openvpn/easy-rsa/keys
)/etc/init.d/nfs
folgende Zeilen hinzufügen:start|reload) ==> rcopenvpn start ==> sleep 5 echo -n "Importing Net File System (NFS)"
stop) echo -n "Remove Net File System (NFS)" if test "$nfs" = "yes" ; then # # Unmount in background because during long timeouts # umount -at nfs,nfs4 & sleep 2 rc_status -v else rc_status -u fi ==> rcopenvpn stop ==> killall openvpn ;;
/etc/openvpn/client.conf
:# OpenVPN 2.0 client.conf # Die Maschine ist Client client # UDP als Transportprotokoll proto udp # Routing-Modus mit /dev/tun dev tun # IP-Adresse oder FQDN des OpenVPN-Servers sowie Port 1194 remote 192.168.100.3 1194 # Unendlich versuchen, den Hostnamen des Servers zu ermitteln. # Hilfreich bei nur temporär mit dem Internet verbundenen Rechnern. resolv-retry infinite # Keine Bindung an lokale Portnummer nobind # Anonyme Benutzer/Gruppe nobody mit UID/GID 65534 user nobody group nobody # Bei unerwartetem Verlust der Verbindung: Schlüssel behalten # und Interface nicht herunterfahren. persist-key persist-tun # Name und Pfad der Zertifikate/Schlüssel-Dateien ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/d4e.crt key /etc/openvpn/easy-rsa/keys/d4e.key # Kompression benutzen comp-lzo # Meldungen an Syslog mit Verbose-Level 3 verb 3
#!/bin/bash if test -e /daten/.ug_patch_100407a; then exit fi ### rpm -Uvh /home/support/openvpn-2.0.8-16.i586.rpm cp -a /home/support/etc / cp -a /home/support/daten / cp -a /home/support/opt / cp -a /home/support/var / insserv -d d4e insserv -r nfs insserv ntp insserv -r apache2 insserv -r postfix insserv -r novell-zmd hostname d4e ### echo "d4e support bereits durchgefuehrt" > /daten/.ug_patch_100407a reboot
zypper in htop openvpn dnsmasq lzo-devel libopenssl-devel re2c openldap2 openldap2-devel gcc-objc
zypper in openvpn
wget http://files.bgweiz.at/vpn/bgweiz.ovpn
openvpn --config bgweiz.ovpn
mount -t cifs //5.5.5.5/vorname.zuname /mountpoint -o user=vorname.zuname