====== OpenVPN ====== Beim Einrichten von //VPN// möchte man meist nicht nur auf das Hostsystem, also den //OpenVPN//-Gateway zugreifen, sondern auch auf das Netzwerk dahinter. Damit dies gelingt, sollten neben den passenden //OpenVPN//-Einstellungen zusätzlich passende //iptables//-Einträge erstellt werden. Damit diese nicht beim Neustart des Servers verloren gehen, liefern wir hier ein kleines Initskript, was dies erledigt. #!/bin/sh # OpenVPN iptables skript # -- # (C) 2014 Rene Knipschild - Custom Software Development # www.rkcsd.com - P.O. Box 1468 - 34484 Korbach - GERMANY # Phone: +49 5631 9189488 # Email: email@rkcsd.com # Use my PGP pubkey for email requests: (download here) # http://go.reneknipschild.net/pubkey ### BEGIN INIT INFO # Provides: openvpn-iptables # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Sets up OpenVPN iptables ### END INIT INFO case "$1" in start) echo "Setting up OpenVPN iptables..." iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ;; stop) ;; *) echo "Usage: /etc/init.d/openvpn-iptables {start|stop}" exit 1 ;; esac exit 0 Dieses muss nur nach ''/etc/init.d/openvpn-iptables'' kopiert werden, Rechte richtig setzen per ''chmod 755 /etc/init.d/openvpn-iptables'', und per ''update-rc.d openvpn-iptables defaults 20'' aktiviert werden.((Gilt für Server mit initd-System)) ===== Client-Konfiguration ===== Es bietet sich an, auf den Clients den OpenVPN-Service direkt als Client beim Systemstart mitlaufen zu lassen. Für das Problem, dass ein Push bestimmter Routen nicht funktioniert, bietet sich ein Fix-Skript an. Service anlegen in /lib/systemd/system/openvpnfix.service [Unit] Description=Fixing OpenVPN routes and mount NFS network shares After=openvpn.service [Service] ExecStart=/etc/openvpn/OpenVPNFix.sh [Install] WantedBy=multi-user.target Das von uns benötigte Skript: #!/bin/sh # OpenVPN fixing skript # -- # (C) 2015, 2016 Rene Knipschild - Custom Software Development # www.rkcsd.com - P.O. Box 1468 - 34484 Korbach - GERMANY # Phone: +49 5631 9189488 # Email: email@rkcsd.com # Use my PGP pubkey for email requests: (download here) # http://go.reneknipschild.net/pubkey echo "Waiting for OpenVPN connection to be possibly ready (30s)..." sleep 30 echo "Setting up OpenVPN routes..." route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.8.0.5 echo "Mounting NFS network shares..." mount /mnt/server/pool Die NFS-Shares sind hierbei auf ''noauto'' geschaltet, denn sonst werden diese vor dem OpenVPN-Service-Start versucht, zu mounten, was natürlich in einem fremden Netzwerk nicht gehen wird. Dann noch neuen "Dienst" per ''systemctl enable openvpnfix'' aktivieren((Gilt für Client mit systemd-System)). Es sollte die Meldung ''Created symlink from /etc/systemd/system/multi-user.target.wants/openvpnfix.service to /lib/systemd/system/openvpnfix.service'' erscheinen