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