Kaum ein Monat vergeht, in dem keine Presseberichte von einem größeren Datenleck die Runde machen – zuletzt traf es den Mietwagenanbieter Buchbinder. Die ... (mehr)

Umgang mit IPv6-Verkehr

Wenn Sie ein getunneltes VPN via IPv4 aufsetzen, Ihr Rechner aber parallel über eine gültige IPv6-Konfiguration verfügt, kann sich Ihr kompletter Internetverkehr via IPv6 am sicheren Tunnel vorbeimogeln, was natürlich nicht passieren darf. Hier gibt es zwei Optionen: Zum einen lässt sich IPv6 während einer aktiven VPN-Verbindung abschalten, was den kompletten Internet-Traffic auf IPv4 zwingt und durch den Tunnel schickt. Der etwas komplexere, aber korrekte Weg ist natürlich, passende IPv6-Routen auf dem OpenVPN-Server anzulegen und damit den IPv6-Traffic über den VPN-Tunnel zu senden (6over4-Tunneling).

Beispielumgebung mit Cloudserver

Für unseren Workshop rollen wir eine virtuelle Maschine mit CentOS 7 als VPN-Server auf der Google-Cloud-Plattform aus und richten das VPN via TCP-Port 443 ein. Wer in ein bestehendes Unternehmens- oder Heim-LAN tunneln möchte, kann dort eine VM oder einen Server bereitstellen – ein Raspberry PI genügt. Sie müssen dann aber sicherstellen, dass das System entweder über eine feste IP-Adresse oder einen FQDN (etwa mit DynDNS) von außen erreichbar ist. Die entsprechenden IP-Forwarding- und Port-Forwarding-Rules für den VPN-Zugang müssen auf dem Router bestehen.

Für unseren VPN-Server genügt eine günstige "n1-standard"-VM mit 3,75 GByte RAM, einer vCPU und einer 10 GByte Root-Disk. Da wir in unserem Szenario einen eigenen DynDNS-Dienst betreiben, bekommt der Cloudserver einen festen FQDN. Somit funktioniert die VPN-Clientkonfiguration unabhängig von den wechselnden IP-Adressen des Cloudservers. Googles CentOS-7-VMs integrieren von Haus aus das EPEL-Repository. Wer CentOS manuell installiert, muss dies mit »yum install epel-release« erledigen. Alle benötigten Pakete für den VPN-Server installieren Sie mit

yum install openvpn easy-rsa -y

Der Server und der Clouddienst benötigen zunächst passende Firewallregeln, um den VPN-Traffic via Port 443 auf das System zu lassen. Damit das VPN funktioniert, muss der Server zudem IPv4-Forwarding zulassen – eine Funktion, die Google bei Cloudservern per Vorgabe abschaltet. Diese Einstellung finden Sie in der Datei "/etc/sysctl.d/11-gce-network-security.conf". In ihr ändern Sie den Parameter "net.ipv4.ip_forward=0" auf "net.ipv4.ip_forward=1". Bei einem manuell installierten CentOS schreiben Sie den Parameter einfach ans Ende der Datei "/etc/sysctl.d/99-sysctl.conf". Da die Konfiguration erst nach einem Neustart greift, setzen Sie den Parameter interaktiv über das Kommando

sysctl net.ipv4.ip_forward=1

Zudem muss die Firewall des Rechners den ausgehenden IP-Traffic des Tunnels maskieren, was das Kommando

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

erledigt, wenn Sie iptables nutzen oder

firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE

mit Firewalld.

Bild 2: Auch unter Android ist OpenVPN nutzbar.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023