Hetzner und Proxmox: IPv6 mit Router-VM nutzen

For a english version of this article follow this link.

Nachdem meine Anleitung zur Einrichtung einer pfSense-Router-VM bei Hetzner so gut angekommen ist, möchte ich heute erläutern, wie man mit dieser VM auch das von Hetzner zugewiesene IPv6 nutzen kann.

Vorwort

Ich habe inzwischen dem pfSense-Projekt den Rücken gekehrt und bin voll auf OPNSense umgestiegen. Die Gründe hierfür sind vielfältig, in erster Linie gefällt mir aber das Interface der OPNSense einfach viel besser. Ob man nun aber eine pfSense- oder eine OPNSense-VM nutzt, dürfte völlig unerheblich sein – einzig die Menüpunkte könnten an unterschiedlichen Orten zu finden sein.

Hetzner weist jedem dedizierten Server ein /64-IPv6-Netzwerk zu, das man frei auf seine MAC-Adressen routen lassen kann. Hierzu muss man im Robot auf den kleinen Computer hinter dem IPv6-Subnet klicken. Hier stellen wir das Routing um auf die MAC-Adresse der Router-VM.

Konfiguration WAN-Interface

Die Konfiguration des WAN-Interface ist sehr einfach, daher möchte ich nur einen Screenshot vorzeigen:

Konfiguration des WAN-Interface für IPv6
Konfiguration des WAN-Interface für IPv6

Wie man sieht nutzen wir hier DHCP6 und lassen uns die IP-Adressse für das WAN von Hetzner zuweisen. Bei mir war ein Neustart der VM nötig, nachdem ich IPv6 auf dem WAN aktiviert habe. Im Dashboard sieht man die frisch zugewiesene IPv6-Adressen am WAN-Interface – in meinem Fall war das die fe80::250:56ff:fe00:222c.

Die DHCPv6-Client-Konfiguration (Request only an IPv6 prefix, Send IPv6 prefix hint und Use IPv4 connectivity) müssen unbedingt gesetzt werden – ohne diese Optionen hatte ich keinen Erfolg.

Konfiguration LAN-Interface

Auch hier möchte ich einen Screenshot nutzen, um die Konfiguration zu zeigen.

Konfiguration des LAN-Interface für IPv6
Konfiguration des LAN-Interface für IPv6

Als IPv6-Adresse nutzt ihr am besten die erste IPv6-Adresse aus dem von Hetzner zugewiesenen Subnet (bei mir: 2a01:4f9:2a:129e:: / 64). Weitere Einstellungen sind hier nicht notwendig!

Gateway-Konfiguration

Bei mir kam die OPNSense dann leider nicht immer nicht per IPv6 nach außen, weshalb ich noch einige Zeit gerätselt habe, was da nun los ist.

Unter System -> Gateways war dann der Fehler versteckt. Hier habe ich das Gateway entsprechend angepasst:

Konfiguration des Gateway für IPv6
Konfiguration des Gateway für IPv6

Ber mir war das Gateway nicht als Default Gateway gesetzt und ich habe die statische IPv6-Adresse eingetragen, statt das Gateway auf „dynamic“ zu belassen – das eigentliche Problem resultierte aber aus dem fehlenden Default Gateway.

Nach Abschluss der Arbeiten habe ich einen Neustart der OPNSense durchgeführt und erneut die IPv6-Erreichbarkeit getestet: mit Erfolg.

Konfiguration einer VM

Abschließend möchte ich noch zeigen, wie man eine Ubuntu- bzw. Windows-VM in diesem Setup per IPv6 erreichbar macht. Ich habe mich gegen die Nutzung von DHCP6 im internen Netz entschieden und konfiguriere die virtuellen Maschinen statisch.

Konfiguration Ubuntu/Debian

Die Konfiguration einer Ubuntu-/Debian-VM ist gewohnt einfach zu bewerkstelligen. Hierzu fügen wir in der Datei /etc/network/interfaces unseren IPv6-Konfigurationsblock ein:

iface ens18 inet6 static
    address 2a01:4f9:2a:129e::2 # frei wählbare IPv6-Adresse
    netmask 64
    gateway 2a01:4f9:2a:129e::1 # IPv6-Adresse der pfSense/OPNSense

Ziemlich simpel, nicht?

Konfiguration Windows

Auch die Konfiguration der Windows-VM ist ausnahmsweise ziemlich simpel. Man aktiviert in den Adaptereinstellungen IPv6, falls das noch nicht geschehen ist, und trägt dort die selben Daten ein, wie unter Linux:

  • Adresse: frei wählbare IPv6-Adresse aus dem Subnet
  • Subnetzmaske: /64
  • Gateway: IPv6-Adresse der pfSense/OPNSense

Bei beiden Konfigurationen muss man womöglich noch einen oder mehrere IPv6-Nameserver eintragen, damit die Namensauflösung ordentlich klappt.

Fazit

Im Internet liest man viele Horrorgeschichten über die Konfiguration von IPv6 bei Hetzner – beschäftigt man sich allerdings mal mit dem ganzen Setup ist die Einrichtung letztlich gar nicht schwierig und ziemlich flott erledigt.

Gerne beantworte ich Fragen oder nehme Hinweise zu meinem Setup entgegen. Perfekt ist es sicher nicht, das weiß ich, aber es funktioniert bei mir zuverlässig, weshalb ich darüber eigentlich ganz glücklich bin. Sollte dennoch jemand einen guten Tipp parat haben: gerne ab in die Kommentare damit!

Übrigens: diese Website ist nun auch per IPv6 erreichbar… ;-)

PHP 7.2 unter Debian 9

PHP wurde Ende letzten Jahres in Version 7.2 veröffentlicht und hat damit einen weiteren Meilenstein hinter sich gebracht. Wer jetzt schon die neuen Funktionen nutzen oder einfach nur aktuell sein will, kann PHP 7.2 unter Debian Stretch ganz einfach nachinstallieren.

Ondřej Surý stellt die aktuellsten Pakete in einem Repository zur Verfügung – man muss also zum Glück nicht selbst kompilieren. Um die Pakete zu nutzen, reichen folgende Schritte aus:

wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
apt-get update

Vor dem eigentlichen Upgrade kann man sich kurz die aktuell installierten PHP-Pakete anschauen (z.B. mit dpkg -l | grep php) und die entsprechenden Pakete mit vorangestelltem php7.2 installieren. Beispiel gefällig?

apt install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring \
php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml libapache2-mod-php7.2

Diese Paketliste ist mit Sicherheit nicht für alle Systeme gültig, daher gilt wie immer: erst denken, dann abschreiben! Ich habe danach die alten php7.0-Pakete mit apt entfernt.

Microsoft Modern Keyboard mit Fingerabdruck-ID

Microsoft ist ja schon seit recht langer Zeit auch Hersteller von ziemlich beliebter Computer-Peripherie – die Intellimouse sollte wohl jedem PC-Benutzer ein Begriff sein.

Der Hersteller aus Redmond hat in letzter Zeit aber nicht nur die Intellimouse Classic auf den Markt geworfen, sondern auch eine neue Tastatur mit dem sperrigen Namen „Microsoft Modern Keyboard mit Fingerabdruck-ID“. Ich habe mir die Tastatur bestellt und sie ausgiebig getestet.

Weiterlesen…Microsoft Modern Keyboard mit Fingerabdruck-ID

nginx, Let’s Encrypt und iOS

iOS-SSL-ErrorGestern kontaktierte mich einer meiner Kunden, weil nach der SSL-Umstellung einer Website diese Seite nicht mehr mit iOS-Geräten aufrufbar war.

Zwar konnte ich das Problem auf meinem iPhone und iPad mit aktuellsten iOS nachstellen, allerdings nicht in Desktop-Browsern (auch nicht dem Safari) oder mit Hilfe des Qualys SSL-Test.

Das Zertifikat war zwar frisch ausgestellt worden, dennoch funktionierte es ja in Desktop-Browsern und auch im SSL-Test problemlos, weshalb ich das Fehlerbild erstmal auf iOS geschoben hatte.

Andere Maschinen, die auch mit nginx und Let’s Encrypt-Zertifikaten betrieben werden, waren problemlos zu erreichen, nur auf diesem Server erhielt ich die Fehlermeldung, die auch im Screenshot zu sehen ist:

Safari kann die Seite nicht öffnen, da die Netzwerkverbindung unterbrochen wurde.

Sehr, sehr seltsam… Mister Google hat mich aber gerettet, nachdem ich wirklich keine Ahnung mehr hatte, was ich tun sollte. Hier ist das Problem auch beschrieben und die Lösung wird gleich mitgeliefert:

ssl_session_cache shared:SSL:10m;

muss in die nginx-Konfiguration eingetragen werden (der Wert kann natürlich angepasst werden), nginx reloaden und – tada – auch iOS kann die Seiten nun aufrufen, yay!