Falsche IPv6 Konfiguration?

  • Allen ein gesundes Jahr 2017. Hoffe sind alle gut reingekommen.


    Ich habe folgendes Problem: Ein VPS 20 G7 soll via IPv6 erreichbar sein. Funktionierte nicht. Habe natürlich DNS, Firefall und den Webserver geprüft. Alles sagt mir es sollte gehen. Dann ist mir aufgefallen, dass ich mit dem Befehl

    Code
    ifconfig -a

    eine andere IPv6 erhalte, als im SCP steht:

    Code
    root@serv1:~# ifconfig -a
    ens3      Link encap:Ethernet  Hardware Adresse a6:78:01:98:dd:27
              inet Adresse:46.xxx.xxx.xxx  Bcast:46.3xx.xxx.255  Maske:255.255.252.0
              inet6-Adresse: xxxx:xxxx:xxxx:1ff:fe98:dd27/64 Gültigkeitsbereich:Verbindung


    Das hat mich verwirrt. Habe dann mit

    Code
    ip -6 addr

    nochmal die direkte IPv6 Ausgabe versucht zu bekommen. Das Ergebnis:

    Code
    2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
        inet6 xxxx:xxxx:xxxx:1ff:fe98:dd27/64 scope link
           valid_lft forever preferred_lft forever


    Ich muss an dieser Stelle sagen, dass ich bisher immer super um die ganze Netzwerk-Geschichte herumgekommen bin. Meine Idee wäre nun, dass ich das Network-Interface statisch konfiguriere. In der Conf habe ich folgendes stehen:



    Demnach sollte ens3 ja dynamisch die richtige IP bekommen. Das funktioniert bei IPv4 ja auch. Aber IPv6 halt nicht. Nun dachte ich mir ich müsste einfach zusätzlich die IPv6-Autodetect anstoßen und habe (naiv wie ich bin)

    Code
    iface ens3 inet6 dhcp

    hinzugefügt. Der Restart

    Code
    root@serv1:~# systemctl restart networking
    Job for networking.service failed because a timeout was exceeded. See "systemctl status networking.service" and "journalctl -xe" for details.

    sagt aber nichts was mir hilft ein Problem zu finden


    Meine nächste Idee war zu versuchen die IPv6 statisch zu setzen. Dazu habe ich folgendes hinzugefügt:

    Code
    iface ens3 inet6 static
    address xxxx:xxxx:xxxx:00f9:0000:0000:0000:0000


    Das Ergebnis war, dass ich nun beide IPv6's hatte:

    Code
    ens3      Link encap:Ethernet  Hardware Adresse a6:78:01:98:dd:27
              inet Adresse:46.xxx.xxx.xxx  Bcast:46.3xx.xxx.255  Maske:255.255.252.0
              [b]inet6-Adresse: xxx:xxx:7:f9::/64 Gültigkeitsbereich:Global[/b]
              inet6-Adresse:  xxxx:xxxx:xxxx:1ff:fe98:dd27/64 Gültigkeitsbereich:Verbindung


    Meine Adresse war also eingetragen, es funktionierte aber nicht.


    Nun weiß bin ich halt an dem Punkt, wo ich mit meinem laienhaften Wissen im Bereich Interfaces feststecke. Evenetuell hat ja jemand eine Idee und kann mir helfen.


    Gruß

  • Hallo Michael,


    danke für den Hinweis. Habe es versucht aber es klappt nicht. Eventuell stimmt es ja wirklich, was da oben steht, dass die Anleitung nur für KVM gedacht ist.


    Habe folgende Anweisung hinzugefügt:

    Code
    # Conf IPv6 Adresses
    iface ens3 inet6 static
    address xxxx:xxxx:xxxx:f9::
    netmask 64
    gateway fe80::1


    Als Gateway habe ich die Angabe aus dem SCP genomen

  • Einmal kurz grundsätzlich zu IPv6 Adressen:
    Die Zeiten wo man nur eine Adresse hatte sind mit v6 vorbei. Die Adressen haben immer einen sogenannten Gültigkeitsbereich.
    Dieser kann zum Beispiel "global" sein, aber auch "Verbindung" bzw "link". Das ist auch der Fall bei der "anderen" IP Adresse die du gefunden hast. Die wird wohl mit fe80:: anfangen, oder?


    Du möchtest also tatsächlich, wie bei der statischen Konfiguration zwei Adressen in der Liste stehen haben.


    Die Konfiguration auf meinem VPS 20 sieht so aus:


    Zusätzlich muss noch darauf geachtet werden, dass die Firewall nicht zu viel verschluckt. Da gibt es ein paar Dinge, die zu zulassen möchtest.


    Ich hatte allerdings auch schon mehrfach das Problem, dass IPv6 initial auf einem Server nicht funktioniert hat und zunächst vom Support repariert werden musste. Dazu kann man einmal aus dem Rettungssystem heraus die v6 Verbindung testen.


    Hier dazu ein kleines Log wie es aussieht wenn es nicht klappt:


    Bei diesem Fehlerbild würde ich mich mal an den Support wenden.

    Current Servers

    morpheus: Root-Server M SSD v6a2
    apoc: VPS 50 G7
    link: Storage-Server S 1000 G7

  • Vielen Dank eNBeWe für den Exkurs. Meine Config sieht jetzt so aus:


    Nach einem Neustart klappt es nun mit der ersten Adresse xxxx:xxxx:7:f9::. Aber leider bekomme ich auf xxxx:xxxx:7:f9::1 keine Verbindung. Wie schon im ersten Beitrag beschrieben, habe ich wenig Ahnung von IPv6. Ich gehe eigentlich davon aus, dass ich alles bspw. im Bereich von xxxx:xxxx:7:f9::YYYY nutzen kann (also xxxx:xxxx:7:f9::1 oder xxxx:xxxx:7:f9::11 oder xxxx:xxxx:7:f9::111 oder halt auch xxxx:xxxx:0007:00f9:ffff:ffff:ffff:ffff). Liege ich da falsch?


    Edit: Anders ausgedrückt: Wie "zähle" ich meine IPv6 "hoch"?


    Edit2: wenn ich als IP-Adresse address xxxx:xxxx:7:f9::1/64 eingebe funktioniert es auf xxxx:xxxx:7:f9::1, aber nicht mehr auf xxxx:xxxx:7:f9::

  • EDIT: Sorry, ich war wohl zu schnell, gerade ist mein Netz wieder weg :(

    [s]bei mir ging es bisher nur wenn ich die ipv4 via dhcp mache und die ipv6 dann statisch setze. Zusätzlich habe ich noch den Gateway gesetzt und die Angaben von hier übernommen: IPV6 läuft nur kurzzeitig
    [/s]
    zbsp




    iface ens3 inet dhcp


    iface ens3 inet6 static
    address xxxx:xxxx:7:f9::1/64
    gateway fe80::1

  • Das :: in der Adresse ist eine Kurzschreibweise für "Hier mit Nullen auffüllen". Daher konfigurierst du mit :: am Ende halt die Adresse, die hinten eine 0 hat, und mit ::1 halt die Adresse, die auf 1 endet. Grundsätzlich hast du ein Präfix mit 64 Bit zugewiesen bekommen. In diesem Präfix kannst du dir jede beliebige (und beliebig viele) Adressen auswählen. Trotzdem musst du natürlich konfigurieren, welche Adresse du nutzen willst. Der Server hört nicht auf das gesamte Präfix.


    Mach mal den Test im Rettungssystem. Eventuell muss der Support noch mal was im Routing reparieren. Ich habe den Verdacht, dass die Einrichtung von IPv6 nicht immer so ganz sauber funktioniert wenn die Server eingerichtet werden.

    Current Servers

    morpheus: Root-Server M SSD v6a2
    apoc: VPS 50 G7
    link: Storage-Server S 1000 G7

  • Kurzzeitiges v6 klingt meistens nach einer falsch eingestellten Firewall. Wenn du die Router Advertisements nicht durchlässts kann es nach kurzer Zeit nicht mehr klappen.

    Current Servers

    morpheus: Root-Server M SSD v6a2
    apoc: VPS 50 G7
    link: Storage-Server S 1000 G7

  • Das :: in der Adresse ist eine Kurzschreibweise für "Hier mit Nullen auffüllen". Daher konfigurierst du mit :: am Ende halt die Adresse, die hinten eine 0 hat, und mit ::1 halt die Adresse, die auf 1 endet. Grundsätzlich hast du ein Präfix mit 64 Bit zugewiesen bekommen. In diesem Präfix kannst du dir jede beliebige (und beliebig viele) Adressen auswählen. Trotzdem musst du natürlich konfigurieren, welche Adresse du nutzen willst. Der Server hört nicht auf das gesamte Präfix.


    Mach mal den Test im Rettungssystem. Eventuell muss der Support noch mal was im Routing reparieren. Ich habe den Verdacht, dass die Einrichtung von IPv6 nicht immer so ganz sauber funktioniert wenn die Server eingerichtet werden.


    Sorry der Nachfrage, aber ich muss jede einzelne IPv6-Adresse die ich aktiv nutzen will auf dem Server einrichten? Ich mein es ist nicht viel Arbeit, aber etwas dynamischer würde ich mir das schon wünschen. Also wen dem so ist, dass ich jede Adresse einzeln hinzufüge (und am Ende ein eganz lange Liste habe; lang ist bei mir so 30), dann habe ich kein Problem mehr.

  • Sorry der Nachfrage, aber ich muss jede einzelne IPv6-Adresse die ich aktiv nutzen will auf dem Server einrichten?

    Na klar, ein 64er-Präfix hat viel mehr Adressen als das geamte legacy Internet. Du musst dem Server schon mitteilen, wo er reagieren soll.

  • So klar finde ich das nicht. Ich ging davon aus, dass ich dem Server mitteilen kann, dass er von E bis H lauschen soll. Vermutlich liegt es aber an meinem fehlenden Wissen bezüglich Netzwerk und den Anforderungen an das System bei entsprechend großen Subnetzen.


    Danke für alle Antworten! Hat mir sehr geholfen.

  • Kannst Du ja, es sind z.B. bei Debian lediglich 2 weitere Zeilen in /etc/network/interfaces pro IP-Adresse:

    Code
    iface eth0 inet6 static
            address 2001:db8::1/64
            gateway fe80::1
            accept_ra 0
    iface eth0 inet6 static
            address 2001:db8::ad:dc01/64
    iface eth0 inet6 static
            address 2001:db8::ad:53/64
    iface eth0 inet6 static
            address 2001:db8::ca2d/64

    usw. Das kann man auch automatisieren. Da bist Du dann bereits bei Konfigurationsmangement-Systemen.


    Oder Du kannst über AnyIP Pakete für alle Adressen akzeptieren. Das sollte aber nur nutzen, wer genau weiß was er tut.



    Zusatz: Auf Debian-Systemen solltest Du in /etc/network/interfaces die IPv6-Konfiguration vor der legacy IP-Konfiguration vornehmen, um bestimmte Fehlerbilder (z.B. IPv6 läuft nur kurzzeitig) zu vermeiden.

    --
    .A.

    3 Mal editiert, zuletzt von .A. ()

  • eNBeWe
    Danke für den Tip, die Fehlerursache hat sich eben aufgetan/behoben :)


    .A.

    Zitat

    Zusatz: Auf Debian-Systemen solltest Du in /etc/network/interfaces die
    IPv6-Konfiguration vor der legacy IP-Konfiguration vornehmen, um
    bestimmte Fehlerbilder (z.B. IPv6 läuft nur kurzzeitig) zu vermeiden.

    Mein Held, damit hatte ich Wochen zu kämpfen und nix hat geholfen :). Danke für den Hinweis!, vllt wäre das ein Kandidat fürs Wiki. Können Kunden ins Wiki schreiben?

  • Was hat das denn für einen Effekt, wenn man die IPv6 Konfig über die IPv4 Konfig setzt?

    Bei einem sauber konfigurierten System hat es gar keinen Effekt. Nur wenn ich hier über die Probleme mit IP lese, haben solche Systeme Seltenheitswert. Und dann wird die weniger problematische IP-Konfiguration zuerst gelesen und eingerichtet. ifupdown lässt anschließend beim Einschalten von Lecay-IP seine Finger von einem bereits funktionierenden IP. Anders herum richtet es zusammen mit Legacy-IP immer auch IP ein, und da es noch keine Werte hierzu gelesen hat, nimmt es eben die Defaultwerte.


    Im Prinzip ist ifupdown für parallele Lecacy-IP und IP-Konfigurationen auch eher ungeeignet. Die Reihenfolge ist auch nur ein Workaround, Abschalten von IPv4 ist die richtige Lösung.