Beiträge von bsv

    Hallo,


    wollte mal was zurückgeben, da ich meistens auf Andere gewartet hatte...

    Und wollte auch mal mutig sein, habe also mal das Update aufgespielt:

    - TS-473

    - Containerstation/Docker (Hauptanwendung) mit:

    LxD Containern für Nextcloud, Pihole, NGINX-Reverse Proxies, etc. 2-3 Ubuntu 22.04 LTS Instanzen

    - NVIDIA GeForce GTX 1050 TI

    - Plex mit Hardware decocing NVIDIA

    - Home Assistant Core

    - Mosquitto, netdata, portainer-ce, phpmyadmin, nest-rtsp, heimdall, esphome, collabraoffice

    - APC an USB


    Läuft alles ohne Probleme.



    Grüße


    Gerhard

    Hallo,



    danke für die versuchte Hilfe, aber:

    - Tailscale ist zwar VPN aber eine Art zentral gemanaged Peer to Peer VPN Netz...

    das will ich so halt mal nicht...

    - QVPN - wie auch "tiermutter" geschrieben hat - macht eben kein ipv6 Traffic über den Tunnel...


    Daher bin ich weiter dran den wireguard-Server als LxD Container mit ipv6 zum laufen zu bringen.


    Hat sonst jemand noch Erfahrung mit Kernelmodulen?


    In der Zwischenzeit habe ich für meinen Kernel "Linux version 5.10.60-qnap" die ipv6tables crosscompiliert.

    Ging eigentlich ohne Probleme.


    Nur jetzt die Frage:

    Auf meiner TS-473 sind alle Kernelmodule "flach in /lib/modules/5.10.60-qnap zu finden...


    Auf meiner Ubuntu-Maschine crosscompliert:

    /lib/modules/5.10.60-qnap/kernel/net/ipv6:

    ah6.ko

    esp6.ko

    ipcomp6.ko

    ipv6.ko

    sit.ko

    tunnel6.ko

    xfrm6_tunnel.ko


    und im nächsten SubDir "netfilter":

    ip6table_filter.ko

    ip6table_mangle.ko

    ip6table_nat.ko

    ip6_tables.ko

    ip6t_ipv6header.ko

    ip6t_NPT.ko

    ip6t_REJECT.ko

    nf_log_ipv6.ko

    nf_reject_ipv6.ko


    Jetzt die Fragen, ob:

    1. ich wahrscheinlich die zusätzlichen reinkopieren und alle vorhandenen Dateien ersetzen soll?

    - da ansonsten eben die oben stehende Fehlermeldung kommt, wenn ich versuche nur "ip6table_nat.ko" zu laden.

    - weil sonst wahrscheinlich die anderen Module dazu nicht passen?


    2. Falls aber meine Crosscompileden Module irgendwie nicht passen,

    2a. bootet meine QNAP dann dennoch?

    2b. kann ich sie dann dennoch über IPv4 erreichen?



    Grüße


    Gerhard

    Hallo,


    würde ich gerne glauben, bzw. vielleicht verstehe ich da etwas nicht richtig.


    Im QVPN Menu gibt es ja keine Möglichkeit für den Server eine IPv6 Adresse anzuwenden.

    Da gibt es ja nur die Voreinstellung mit dem 198.18.7.0 Netz.


    Selbst das finde ich nicht verständlich, da dieses Netz ja kein privates Netz ist.

    Theoretisch könnten dieses Netz ja im Internet belegt sein...


    Aber zurück zum IPv6, habe ich da etwas falsch verstanden?



    Grüße


    Gerhard


    Gerade erst Deinen "Edit" gelesen, passt also zu meinem Kenntnisstand...


    Und hier weitere Details zu meinen Fehlermeldungen mit der Bitte um Tipps bei dem Versuch mit insmod das Modul zu laden:


    Code
    [2892706.669003] ip6table_nat: Unknown symbol ip6t_unregister_table (err -2)
    [2892706.675855] ip6table_nat: Unknown symbol ip6t_register_table (err -2)
    [2892706.682497] ip6table_nat: Unknown symbol ip6t_unregister_table_exit (err -2)
    [2892706.689765] ip6table_nat: Unknown symbol ip6t_alloc_initial_table (err -2)
    [2892706.696839] ip6table_nat: Unknown symbol ip6t_do_table (err -2)

    Hallo,


    wenn Du ausschließlich IPv4 über QVPN machst, dann klappt das.


    Dabei habe ich allerdings keine IPv6 Möglichkeit gefunden oder verstanden darüber aufzusetzen.


    Daher mein Versuch über einen LxD Ubuntu Container mit eben auch IPv6.

    Da wird aber ein Fehlen von dem ip6table_nat.ko Modul im QNAP Kernel bemängelt.


    Daher der Versuch das entsprechende Kernelmodul zu compilieren, was ich auch schon geschafft habe - meine ich zumindestens.


    Jetzt habe ich aber leider:

    Code
    insmod: can't insert 'ip6table_nat.ko': invalid module format

    oder

    Code
    modprobe: module ip6table_nat.ko not found in modules.dep


    Da fehlen mir die entsprechenden Kenntnisse oder es passt doch noch etwas nicht.


    Dazu ist jeder Tipp willkommen...



    Grüße


    Gerhard

    Hallo,


    kannst Du hier dann die Einstellung bzw. Änderung aufführen, die Du für Wireguard verwendet hast?


    Ich versuche auch unter dem LxD Ubuntu Container den Wireguard Server auf ipv6 zu bekommen.


    Allerdings fehlt das Kernelmodul ip6table_nat.ko was ich auch gerne compilieren würde.

    D.h. das make menuconfig bzw. das make danach erstellt mir den Kernel und alle möglichen Module. Soweit bin ich immerhin schon gekommen...

    Allerdings weiß ich nicht in welchem Abschnitt in dem menuconfig ich dieses Modul zum Compilieren "aktivieren" kann.



    Grüße


    Gerhard

    Verstehe, aber war jetzt nur ein vermeintlich einfacher Docker-Container. Ich war da schon ständig am Löschen und alle möglichen Dinge ausprobieren.

    Ist nicht die Idee den Portainer grundsätzlich so zur Vergügung zu stellen...


    Das Thema Sicherheit passt jetzt auch nicht hier her, kann gerne verschoben werden, oder wie auch immer.


    Wie siehst Du es z.B. mit Applikationen wie Nextcloud.

    Da wäre es ja das gleiche Prinzip...


    Grüße


    Gerhard

    Workaround: Docker mit IPv6, öffentliche IPv6-Adresse


    (Meine Wortwahl mag da und dort fachlich nicht 100% richtig sein, da ich kein wirklicher IT-Experte bzw. kein Docker-Experte bin…)


    QNAP TS-473 mit QTS 5.0.0 1853

    aktuelle Containerstation, die mit einer Dockerversion 20.10.7-qnap läuft



    Ziel ist es die Dockercontainer mit IPv6 auszustatten, damit über DS-Lite Internetanschlüsse ein Zugriff vom Internet auf einen Dockercontainer möglich wird.

    Z.B. nextcloud, Portainer hier auch als Beispiel verwendet, oder, oder…


    • der Internet-Provider liefert an den Router das Subnet: „2a01:c23:814f:d00::/56
    • das Docker Configfile: /share/CACHEDEV1_DATA/.qpkg/container-station/etc/docker.json um
      "ipv6": true,
      "fixed-cidr-v6": "2a01:c23:814f:d00:d::/80",

    ergänzt.

    --> ein File unter  /etc/docker mit daemon.json bringt nichts, da QNAP den dockerd mit eben einer eigenen Config-Angabe startet.


    Die von mir verwendete IPv6 Adresse ist eine öffentliche IPv6 Adresse, die vom Internet-Provider dem Router zugewiesen wurde.

    In dem Beispiel hier ist es das „2a01:c23:814f:d00::/56“.

    von diesem zugewiesenen Subnet nehme ich den nächsten kleineren Bereich mit "2a01:c23:814f:d00:d::/80"


    Vorsicht, diese Adresse ändert sich bei den meisten Providern täglich!!!

    Dies fange ich damit ab, dass ich mit einem Script regelmäßig die IPv6 Adresse vom Router kommend mit der hier in Docker eingetragenen, vergleiche.

    Sollte sich das IPv6 Subnetz geändert haben, dann ändert ein Script das docker.json file (bzw. das File "/opt/etc/ndppd.conf" siehe weiter unten) und startet die Containerstation neu.

    --> /etc/init.d/container-station.sh restart


    Damit das Docker-Subnet im lokalen Netz bzw. beim Defaultgateway (bei mir der Internet-Router) bekannt wird, habe ich den "ndppd" auf der QNAP installiert:

    • NDP - Neighbor Discovery Protokoll
    • zuvor das Packet „Entware-std“ installiert, was den "opkg" Paketmanager mitbringt
    • darin konnte ich dann wiederum mit "opkg install ndppd" diesen Neighbor Discovery Daemon Proxy installieren
    • der wiederum die Config braucht:
      • /opt/etc/ndppd.conf
    Code
    proxy qvs0 {
    rule  2a01:c23:814f:d00::/56 {
    static
    }
    }
    • qvs0 ist Interface das NDP hört und rausgibt
    • die „rule“ ist das IPv6 Subnetz, was der Internet-Provider dem Internetrouter gibt.
    • obwohl es eine Option „auto“ gibt, die laut Beschreibung eher zu verwenden sei:
      • hat „auto“ bei mir nicht funktioniert
      • mit „static“ kommt zwar eine Warnung, aber funktioniert


    die Container mit IPv6 anlegen:

    Dazu muss anscheinend die Option -p wie folgt verwendet werden.


    Hier ein Beispiel mit dem Portainer:

    Code
    docker run  -d -p '[::]:8000:8000/tcp' -p '[::]:9000:9000/tcp' --name=portainer-ce-gk-1  --restart=always --pull=always -v /var/run/docker.sock:/var/run/docker.sock -v  /share/GK/Portainer:/data portainer/portainer-ce:2.9.2


    Damit ist nun der Portainer-Container über eine IPv6 Adresse erreichbar.



    Die Portfreigabe am Router ist halt routerspezifisch.

    Aber klar, die IPv6 Adressen mit diesen Ports (hier eben 8000 und 9000) müssen noch am Router freigegeben werden, damit ein Zugriff aus dem Internet funktionieren kann.


    Ich hoffe, dass ich vielleicht ein bisschen helfen kann.

    Klar, dieser Workaround ist etwas rustikal oder wie auch immer man es nennen kann.


    Aber läuft bei mir seit zwei Tagen und auch zwei IPv6 Subnet-Änderungen problemlos überlebt.



    Grüße



    Gerhard

    P.S. da sich die IPv6 Adresse sich täglich ändert, habe ich sie aus Gründen dem besseren Verständnis sichtbar stehen lassen...

    Und meine Scripts sind sicherlich verbesserungswürdig, bzw. meine sind recht hemdsärmlig entstanden...

    Hallo,


    ich habe jetzt QTS 5.0.0.1850 build 20211111 auf der TS-473.


    docker -v zeigt 20.10.7-qnap3 an.


    Allerdings bekomme ich mit dem File daemon.json unter /etc/docker (bzw. ist ja per Link in Wirklichkeit

    "/share/CACHEDEV1_DATA/.qpkg/container-station/etc/docker"):

    Code
    {
    "ipv6": true,
    "fixed-cidr-v6": "2a01:c23:85b3:4f00:c:/80"
    }

    Leider kein IPv6 eingeschaltet.


    Hat jemand da schon experimentiert oder ausprobiert?

    Oder hat mir Tipps dazu?



    Grüße


    Gerhard

    Wie Azreal783 geschrieben hat, es hängt da sicher an der Syntax.


    Leider bin ich auch kein Experte, aber gut im Copy und Paste, bzw. "abschauen":


    https://netplan.io/examples/


    Jetzt erst Zeit gefunden:

    ich habe in beiden Dateien die gleichen Einträge "10-lxc.yaml" und "10-lxd.yaml"


    in der ersten Zeile mit dem Key "network" kein Blank

    --> hier 0 Blanks network:

    --> hier 2 Blanks   version: 2

    --> hier 2 Blanks   ethernets:

    --> hier 4 Blanks     eth0:

    --> hier 6 Blanks       addresses:

    --> hier 8 Blanks         - 192.168.1.240/24

    --> hier 6 Blanks       gateway4: 192.168.1.1

    --> hier 6 Blanks       dhcp6: true


    Grüße

    Hallo,


    erst einmal über die Containerstation eine LXD Instanz "normal" erstellen.


    Dann per ssh:

    cd /etc/netplan


    Da sind zwar zwei Dateien was ich auch nicht ganz verstehe, aber ich habe probiert und mit den gleichen Einträgen in beiden dann das gewünschte Resultat erzielt:

    10-lxc.yaml

    10-lxd.yaml

    Code
    Inhalt:
    network:
    version: 2
    ethernets:
    eth0:
    addresses:
    - 192.168.1.240/24
    gateway4: 192.168.1.1

    Ich bin bei der yaml Syntax immer etwas unsicher und habe da immer mit Leerzeichen eingerückt...


    dann erst einmal mit "netplan try" ausprobieren, ob die Syntax etc. stimmt.



    Grüße



    Gerhard

    Hallo,


    ich bin immer noch auf dem Testsystem nun mit Ubuntu 21.04. Desktop unterwegs.


    Dabei habe ich gelesen (Docker github) und bemerkt, dass das Portforwarding für IPv6 auch entsprechend angegeben sein muss.

    Zudem benötigt es die Dockerversion 20.10.6 oder höher, da zuvor das portforwarding für IPv6 nicht funktioniert hat.


    Zur HIlfe: die Portangabe für IPv6 bedarf der folgenden Syntax:

    -p '[::]:9000:9000/tcp'


    Beim Versuch mit einem Portainer-Container hat es dann bestens funktioniert.

    Und damit eben dann auch über eine DS-Lite Internetanbindung und reinem IPv6-Zugriff auf diesen Portainer-Container.


    Meine TS-473 mit der aktuellen Firmware 4.5.4.1800 hat leider noch die Dockerversion wie oben schon erwähnt mit 20.10.3 -

    Somit brauche ich darauf keinen Test mit IPv6 machen, warte also auf eine höhere Dockerversion...



    Grüße



    Gerhard

    Hallo,


    unter https://docs.docker.com/config/daemon/ipv6 wird beschrieben, wie man unter Docker IPv6 aktiviert.


    Das habe ich mal testweise auf einem Ubuntu 20.04 Desktop gemacht.

    Als einfachen Test habe ich einen FHEM-Docker Container genommen.


    Zumindestens sehe ich nach dieser Änderung tatsächlich dann ein IPv6 Device mit eben dieser Adresse.

    Mehr habe ich noch nicht probiert.


    Hier die Frage, ob dies jemand schon auf einer QNAP probiert hat?


    Auf der QNAP ist ja die Dockerversion 20.10.3 - somit recht aktuell und müsste mit dieser Änderung auch zurecht kommen.


    Allerdings möchte ich hat mit solch einem Versuch nicht auch gleich meine vorhanden Container "zerstören"...

    Daher die Frage mal hier, ob es schon solche Versuche gibt.



    Grüße,



    Gerhard

    Hallo,


    kaum zu glauben:


    update Container Station 2.4.0.2316

    Mod: Nicht deklariertes Zitat ohne Quellenangabe ... korrigiert! :handbuch::arrow: Forenregeln und Die Zitat Funktion des Forums richtig nutzen

    [Fixed Issues]

    - The application would display blank values for network interface and mode if both IPv4 and IPv6 settings were configured for network adapters in Network & Virtual Switch.


    Grüße


    Gerhard

    Hallo,


    nur keine Sorge, das war schon ein sehr sehr harter nächtelanger Kampf, viel probieren, die Hotline nerven, etc.

    In Summe waren es dann auch Wochen bis ich dann dies so rausgefunden hatte.


    Und ich habe ja selbst immer wieder auch Fragen, für die das Forum hier einfach super hilfreich ist.


    Da freue ich mich wirklich, dass ich auch mal helfen konnte!


    Grüße


    Gerhard

    Hallo,



    meine Konfig:


    TS-473, 4 x 1 GBit/sec LAN Ports


    2 gebündelt --> 802.3ad dynamic

    1 Standard 1 GBit/sec

    1 nicht verwendet


    - Ich benutze die eine als Test, Reserve, oder verschiedene temporären Dinge --> dadurch reicht mir da IPv4.

    - die 2 gebündelten sind meine "produktiven" Ports, mit auch über die Containerstation unterschiedlich eingestellten IPv4 Adressen


    Workaround:


    --> das geht, wenn man IPv6 an dem "1 Standard" Port disabled.


    D.h. nur "1 Port" hat IPv4 und IPv6, der andere nur IPv4 und der Bridge Mode funktioniert.



    Grüße



    Gerhard