IPv6, DNS, nginx, Ubuntu 16.04 LTS, jemand 'ne Idee?

  • Hallo zusammen!


    Ich beschäftige mich seit Tagen mit IPv6 und scheine das ganze irgendwie nicht auf die Reihe zu bekommen. Immer, wenn ich mit IPv6 auf den Server zugreifen will, kommt eine Fehlermeldung, selbst ein Ping ist nicht möglich. Ich suche deshalb hier jemanden der mir hilft der Reihe nach IPv6 einzurichten und meinen Webserver (nginx) so zu konfigurieren, dass letztlich alles klappt. Ich habe die Voreinstellungen wiederhergestellt, d.h. im Moment ist kein IPv6 konfiguriert.


    Ich würde das ganze gerne Schritt für Schritt machen, damit ich das wirklich verstehe. Soll ja nicht der letzte Server bleiben den ich betreibe ;)


    Also:


    Im SCP wird mir für IPv6 folgendes angezeigt: 2a03:4000:7:c6::/64


    Hinten raus müsste ich mir ja die Adresse aussuchen können, hab ja ein ganzes Subnetz. 2a03:4000:7:c6::1 ist dann aber schon eine valide Adresse die ich verwenden könnte, oder?


    Im CCP unter Domains müsste ich dann zwei Einträge hinzufügen, die etwa so aussehen sollten:


    Code
    *   AAAA    2a03:4000:7:c6::1
    @   AAAA    2a03:4000:7:c6::1


    Bloß auf dem Server, da hakt's dann. Die Standard /etc/network/interfaces sieht bei mir so aus:



    Die IPv4 Adresse ist, wie man sieht, via dhcp konfiguriert. Ich gehe mal davon aus, dass ich die auch lieber statisch konfigurieren sollte?


    Und wenn ich das richtig sehe, müsste ich für IPv6 die Datei so erweitern:


    Code
    iface ens3 inet6 static
        address 2a03:4000:7:c6::1
        netmask 64
        gateway fe80::1


    Danach Server neustarten und zumindest ein Ping sollte dann doch funktionieren, oder nicht?


    Im Netcup Wiki zu IPv6 wird dann noch empfohlen, eine /etc/sysctl.d/50-IPv6.conf anzulegen, wobei leider nicht erklärt wird, wofür. Ist diese *zwingend* nötig?

  • Du solltest auf jeden Fall IPv4 auch auf statisch stellen, richtig. Deine vorgeschlagene Konfiguration sieht soweit korrekt aus.


    Bitte beachte, dass eventuell einmalig ein poweroff im Servercontrolpanel notwendig ist, bevor das IPv6-Subnetz erreichbar ist!

    Im Netcup Wiki zu IPv6 wird dann noch empfohlen, eine /etc/sysctl.d/50-IPv6.conf anzulegen, wobei leider nicht erklärt wird, wofür. Ist diese *zwingend* nötig?

    Dadurch verlässt sich Dein Server nicht mehr auf RA (Router Advertisement) Meldungen, siehe: https://de.wikipedia.org/wiki/Neighbor_Discovery_Protocol


    Grob gesagt ist dadurch der Gateway wirklich fix auf fe80::1 gestellt, ohne dass etwas dazwischen funken oder ausfallen könnte.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Super, vielen Dank. Ich setze das gleich mal um.


    Wg. IPv4: Server ist wie gesagt Ubuntu 16.04 LTS, IP ist 46.38.240.223. Ich nehme an meine /etc/network/interfaces müsste für IPv4 dann so aussehen:


    Code
    iface ens3 inet static
            address 46.38.240.223
            netmask 255.255.252.0
            broadcast 46.38.243.255
            gateway 46.38.240.1

    Im Wiki steht noch, man soll diese Zeile hinzufügen:

    Code
    dns-nameservers 46.38.225.230 46.38.252.230

    Wo/Wie kommt die da mit rein? Ein Fehler hierbei schließt mich aktuell ja vom System aus (also, vom Zugriff via VCP Console mal abgesehen). Deshalb bin ich da vorsichtig :)

  • So, IPv4 ist richtig konfiguriert, gibt doch nix über Trial&Error.


    Nur IPv6 macht mir Probleme. Alles genau wie oben beschrieben konfiguriert, auch den Server komplett heruntergefahren und über VCP wieder gestartet. Nur wenn ich "ip addr" im Terminal eingebe wird mir zwar meine konfigurierte IPv4 Adresse angezeigt, aber die von IPv6 stimmt leider nicht mit der Konfiguration überein:


    Das passt so nicht. Ping direkt auf die IPv6-Adresse funktioniert auch nicht. Jemand 'ne Idee?

  • Da ist auch nichts von Deiner IPv6-Konfiguration zu sehen. Das ist nur die (immer vorhandene) Link-Local Adresse.


    Steht irgendwas dazu im Kernellog oder Syslog?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Da ist auch nichts von Deiner IPv6-Konfiguration zu sehen. Das ist nur die (immer vorhandene) Link-Local Adresse.

    Achso, okay. Aber sollte die IPv6 Adresse nicht trotzdem gelistet werden? Lokal am Rechner/Laptop kann ich die jeweilige Adresse ja auch einsehen?!


    Im Kernellog (dmesg) sowie im Syslog (journalctl, weil systemd) kann ich nichts erkennen. Und wenn ich nach Begriffen das ganze durchgreppe kann ich leider auch nichts erkennen, was irgendwie darauf hindeuten würde, dass hier was schiefläuft. Leider auch kein Eintrag dazu, ob es überhaupt richtig läuft. Das irritiert mich gerade zutiefst :/


    Gibt es sonst noch Möglichkeiten herauszufinden wo der Fehler liegen könnte? Ich hab das Gefühl ich übersehe hier was total simples, bei all meinen anderen Geräten hat IPv6 nie ein Problem dargestellt (nunja, sind aber auch keine vServer…).

  • Achso, okay. Aber sollte die IPv6 Adresse nicht trotzdem gelistet werden? Lokal am Rechner/Laptop kann ich die jeweilige Adresse ja auch einsehen?!

    Eine IP-Adresse wird nur dann gelistet, wenn sie auch an eine Schnittstelle gebunden wurde; wie oben ausgeführt, fehlt offensichtlich der zugehörige Block (Du hast aber oben etwas diesbezügliches bereits zitiert) oder er wird in Deinem Fall nicht korrekt geparst. (Wenn das im Netcup-Wiki nicht erwähnt ist, wäre eine Übernahme eines gemeinsamen Beispiels für IPv4 und IPv6 ggf. sinnvoll.)


    Ich verwende folgende Einträge (habe die o.g. Adressen substituiert):

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Kannst du mal deine komplette /etc/network/interfaces posten?

    Klar, sieht so aus (Das Verzeichnis interfaces.d ist übrigens leer):


  • Wenn du den Befehl

    Code
    service networking restart

    ausführst, läuft der ohne Probleme durch oder schlägt der fehl?

    Ich hatte mal die Situation, dass sich durch CopyPasten in meiner Config scheinbar ein \r\n eingeschlichen hatte, sehen tut man das in nano natürlich nicht ^^

    Deine Config sieht soweit in Ordnung aus.

  • Das schlägt fehl, wobei ich jetzt nicht weiß ob das daran liegt, weil die Schnittstelle ja zum Zeitpunkt des Befehls online/"up" ist:

  • OK, der Befehl sollte zum neu starten des Netzwerks normalerweise ohne Probleme durchlaufen. Das es bei dir fehlschlägt erhärtet für mich den Verdacht, dass sich etwas in deine Config eingeschlichen hat.


    Ich habe jetzt nicht genau die Syntax/Parameter im Kopf, aber starte mal deinen Server neu und führe dann, am besten in der VNC Konsole, folgendes aus:

    Code
    ifdown -v ens3; ifup -v ens3

    Dies startet dein Network Interface neu und gibt verbose Meldungen aus. Dabei solltest du sehen, an welcher Stelle das Problem auftritt.


    Ein anderer Ansatz wäre, deine Konfiguration ab auto ens3 zu löschen und händisch neu zu schreiben (ohne CopyPaste). Dann sollte sich kein unsichtbarer Character einschleichen können!

  • Hallo,


    das hatte ich auch das ich nicht via IPv6 auf dem Server so richtig kommen wollte.

    Habe dann mal einen Hinweis gefunden und nun klappt es.


    Schau mal in nachfolgende Datei die hat bei mir folgenden Inhalt:


    Datei: /etc/network/interfaces




  • Man findet einige Threads, dass die Kombination IPv4 (DHCP) und IPv6 (statisch) hauptsächlich Probleme bereitet.

  • So, die Ausgabe vom Befehl:

    In meiner Config sind übrigens keine versteckten Zeichen o.ä. Zum einen, weil ich die sowieso selbst geschrieben habe (nicht kopiert!), zum anderen, weil auch der Hexeditor sagt, dass da wirklich nur das drin steht, was ich drin haben wollte :)


    Ich seh mir mal die Dateien in if-pre-up.d an, evtl. entdecke ich da noch was.


    Edit: Die Dateien in besagtem Ordner sind generische Bash-Dateien, nix was jetzt spezifisch für irgendein Interface wäre. Ich schließe die daher mal als Ursache aus und rätsle weiter.

  • Das klappt besser mit dem Ändern in /etc/default/networking:

    Code
    # Configuration for networking init script being run during
    # the boot sequence
    # Set to 'no' to skip interfaces configuration on boot
    #CONFIGURE_INTERFACES=yes
    # Don't configure these interfaces. Shell wildcards supported/
    #EXCLUDE_INTERFACES=
    # Set to 'yes' to enable additional verbosity
    #VERBOSE=no
    VERBOSE=yes

    denn die Kombi ifupdown dekonfiguriert nicht, wenn es der Meinung ist, dass es gar nicht konfiguriert ist.

    Dann solltest nun auch die ausführlichen Fehlermeldungen beim Neustart im journal bzw syslog angezeigt bekommen.


    In deiner sysctl-Konfiguration hattest du beim Kopieren aus dem Wiki ja eth0 gegen ens3 ersetzt? Überprüfe das deaktivieren der Router Advertisments mal mit sysctl net.ipv6.conf.ens3.accept_ra


    Viel Erfolg


    Christian

  • In deiner sysctl-Konfiguration hattest du beim Kopieren aus dem Wiki ja eth0 gegen ens3 ersetzt? Überprüfe das deaktivieren der Router Advertisments mal mit sysctl net.ipv6.conf.ens3.accept_ra

    Ich tippe schneller als dass ich das kopiere und dann anpasse ;)


    Ich nehme an man muss den Wert auf null setzen und dann (zumindest alles was das Netzwerk betrifft) neustarten?

  • chrko: Ich hab das mit den Router Advertisments mal so probiert, wie ich es verstanden habe (soll heißen: Keine Ahnung, ob das funktioniert hat). Jedenfalls brachte es keine Änderung, IPv6 will bei mir einfach nicht funktionieren und langsam gehen echt die Ideen aus. Eigentlich™ sollte das ja ganz easy sein (und hätte auch schon funktionieren müssen).

  • Hallo KopfKrieg,

    Ich würde vorschlagen, Deine Fragen vom Forum in einen IRC-Kanal zu verlegen, um (deutlich!) schnellere Rückmeldungen zu erhalten.

    Daneben gibt es z.B. auf serverfault.com einige Diskussionen, was die Nutzung von ifup/ifdown anbelangt – versuche es ggf. einmal mit "ifconfig ens3 down|up".

    Dank SCP kannst Du ja problemlos mit den Netzwerkeinstellungen herumspielen. Ich würde in Anbetracht der Zeit, die Du bereits damit verbracht hast, auch ins Auge fassen, einmal die IPv4-Netzwerkeinstellungen zu löschen und allein mit IPv6-Definitionen zu arbeiten oder letztere auf "ens3:1" zu verlagern; auch das Booten eines Ubuntu/Knoppix-Live-Images (im Optimalfall mit einer menügeführten Einrichtung von IPv4-/IPv6-Konnektivität; wenn das auch nicht funktioniert, wäre es zumindest ein Anhaltspunkt dafür, daß ggf. der Fehler außerhalb der KVM liegen könnte) und/oder das nachträgliche manuelle Hinzufügen einer IPv6-Adresse/Default-IPv6-Route mittels ip sollte explizit durchprobiert werden.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing