dckg.net
Blog
Tools
Downloads
Dienstag, 19 September 2017 in Linux, Netzwerk
IPv6 beim Hoster
2017:
Woran erkennt man einen guten Hoster?
>>> IPv6 ist out of the box fertig & funktionsfähig eingerichtet. <<<
Hatte ich bis jetzt nur bei den teuren Cloud-Hostern wie bspw. DigitalOcean erlebt.

Aber nein, jeder Hoster macht es anders.
Die einen statisch, die anderen via DHCP, mal mit SLAAC, mal mit DHCPv6, mal mit beidem.
Ich kann es wirklich verstehen, warum die Adaption von IPv6 so lange dauert, jeder macht, was er will.

Des Weiteren gibt's noch Profis, die einem eine IPv6 /128 andrehen wollen (OVH Kimsufi.com).
Doch bei einem dedicated server muss es größer als /64 sein, sonst kann man die VMs gleich vergessen.
VM ist ein /64 ok.

Spätestens bei der Installation via Debian netinstall nützt auch eine Vorkonfiguration des Providers in den seltensten fällen etwas.
Wer bei Rootservern die Provider Images nutzt, dem ist nicht mehr zu helfen.
Ob Monitoring-Zugang oder globaler SSH-Key für die Wartung, auf meinem Server nicht.

IPv6 Konfiguration

 

Netcup.de

root@linux ~ # cat /etc/network/interfaces
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
address 37.123.146.199
netmask 255.255.252.0
gateway 37.123.144.1

iface ens3 inet6 static
address 2a03:beef:6:cafe::
netmask 64
gateway fe80::1

Man freut sich, bis das Lease ausläuft, weil die RAs nicht mehr ankommen.

sysctl -w net.ipv6.conf.ens3.accept_ra=1 
root@linux ~ # sysctl -a | grep net.ipv6.conf. | grep -E "accept_ra\s|auto"
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.docker0.accept_ra = 0
net.ipv6.conf.docker0.autoconf = 0
net.ipv6.conf.ens3.accept_ra = 0
net.ipv6.conf.ens3.autoconf = 0
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.autoconf = 1
net.ipv6.conf.veth186e0ba.accept_ra = 0
net.ipv6.conf.veth186e0ba.autoconf = 0
net.ipv6.conf.veth3ff6179.accept_ra = 0
net.ipv6.conf.veth3ff6179.autoconf = 0
net.ipv6.conf.vethe96ba96.accept_ra = 0
net.ipv6.conf.vethe96ba96.autoconf = 0

Entgegen dem Debian default ist accept_ra auf 0, was den Netcup Settings entspricht.
Ganz wichtig ist, per Controlpanel einmal herunterzufahren und wieder zu starten.

 

Online.net

Doku

Und wenn man dann ließt, dass man mit IP-Tables den DHCPv6 Client rate-limitieren muss, sollten alle Alarmglocken läuten.
Das wird eklig!

dhclient6/dibbler/wide-dhcpv6-client, ich weiß es nicht mehr, hat einen Bug, das er nach ein paar Wochen praktisch eine DOS-Attacke gegen den DHCPv6 Server startet, was zu einer automatischen Abschaltung des Servers führt.
Da kommt Freude auf.
Wieder freischaltbar per Ticket.

Das Ding ist total verbuggt, verliert alle paar Tage die IPv6 Konnektivität:
accept_ra weiterhin auf default, 1.

root@linux ~ # cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

iface eth0 inet6 static
    address 2001:bbe:efca:fe00::
    netmask 56
post-up /sbin/ip -6 addr add 2001:bbe:efca:fe01::/64 dev eth0

Zusätlich läuft einmal am Tag dieses Skript:

root@linux ~ # cat dhclient6.sh 
#!/bin/bash
killall dhclient
dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0
ip -6 addr add 2001:bbe:efca:fe00::/56 dev eth0
ip -6 addr add 2001:bbe:efca:fe01::/64 dev eth0
# ip -6 addr add 2001:bbe:efca:fe02::/64 dev eth0
# ip -6 addr add 2001:bbe:efca:fe03::/64 dev eth0
# ...
root@linux ~ # curl icanhazip.com -6
2001:bbe:efca:fe01::

 

Hetzner.de

Dort hätte ich gerne einen Server, habe aber keinen, aber IPv6 ist dort static.
Also kein Grund zur Sorge.

Laut smokeping läuft alles ohne Aussetzer.

Bei accept_ra nicht vergessen, es ist kein boolean, sonder kann drei Werte annehmen: Kerneldocs.

Site optimised for Google Chrome / Chromium