Verständnissfrage zu macvlan

  • Hallo,

    ich hatte über Portainer Vaultwarden, Adguard Home und den Ngix Proxi Manager installiert. Alles hat bis zum letzten Update auch problemlos funktioniert. Da jetzt der Port 53 für Adguard vom System belegt ist habe ich mit Macvlan beschäftigt, eingerichtet und funktioniert auch so weit, jeder Container hat jetzt eine eigene IP.

    Was nicht mehr geht, ist über den Nginx Proxi Manager mit meiner Domain auf Vaultwarden zuzugreifen. Muss ich da noch was beachten oder geht das so gar nicht?

    Ich hoffe ihr versteht, was ich meine.

    Danke

  • montragon
    Naja, in NGINX musst du natürlich jetzt auf die IP-Adresse des Containers weiterleiten und nicht mehr auf die IP-Adresse des NAS.
    LG Willi

  • Was nicht mehr geht, ist über den Nginx Proxi Manager mit meiner Domain auf Vaultwarden zuzugreifen. Muss ich da noch was beachten oder geht das so gar nicht?

    Wenn du keine Routen erstellt hast, dann ist keine Kommunikation zwischen Host und MACVLAN Gerät möglich. Das wird von Docker von Haus aus blockiert. Du musst eine Route bei jedem Booten erstellen, die eine Verbindung herstellt.

  • @GreenHorn86 
    Die Einrichtung ist Bestandteil meines MacVlan Turorials, ich nehme an montragon ist nach dieser Anleitung vorgegangen.

  • montragon
    ich vermute, dass bei dir ev. in der Datei docker-network.sh etwas nicht stimmt.
    Stimmt die angegebene Netzwerkkarte? Stimmt der IP-Adressbereich? Ist die Datei ausführbar?
    Prüfe mal alle Angaben und poste ggf. die Fehlermeldung (bitte als Code formatiert) und Angaben zu deinem Netzwerksegment.
    LG Willi

  • montragon Poste doch mal deine genaue Fehlermeldung als Screenshot, dann kann man dir vielleicht weiterhelfen.
    Grundsätzlich sollte die Anleitung aus dem macvlan Tutorial [TUT] MacVlan konfigurieren - Schritt für Schritt Anleitung funktionieren.

    Meist schleicht sich beim Erstellen der sog. mcvlan-bridge und dem dazugehörigen Script (zum Start beim Hochfahren der NAS) ein Fehler ein.

    Folgende Dinge würde ich an deiner Stelle nochmal genau überprüfen:
    1. Ganz wichtig ist, bereits beim Erstellen des macvlan, die "excluded IP" festzulegen, auf welche du später deine macvlan-bridge legst.
    2. Ein weiterer Fehler könnte der sog. Netzwerkport sein. Ist der bei dir eth0 oder hast du eine bond eingerichtet usw.
    Falls sich deine Netzwerkschnittstelle geändert hat, kannst du es mit dem Befehl "ifconfig" in der Shell relativ schnell herausbekommen.
    3. Der Code für das Autostart-Script bitte exakt kopieren. Es gibt ja in der Anleitung einen "Inhalt kopieren" Button.
    Ich erwähne es nur, weil es schon User gab, die ein Leerzeichen zuviel im Script oder diverse Tippfehler hatten.
    4. Sobald der Service korrekt gestartet wurde, sollte auch die Ausgabe positiv konnotiert werden (siehe Bildanhang).
    Dann kannst du auch in Zukunft dein NAS ohne Probleme neu starten und die macvlan-bridge wird wieder korrekt etabliert/gestartet.
    5. Zuletzt kannst du noch selbst Überprüfen, ob deine macvlan-brigde korrekt funktioniert, indem du mal einen beliebigen Container (den du zuvor mit eigener IP ins macvlan eingebunden hast) anpingst, also ping "IP des Conainers" z.B. ping 192.168.178.99

    Alle Erklärungen (aus der obigen Aufzählung) finden sich selbstverständlich im erwähnten Tutorial. Ich habe hier lediglich etwas weiter ausgeholt, um -hoffentlich- zum besseren Verständnis und einer Fehlerlösung beizutragen.

  • Hallo und danke für die Hilfe.

    Nochmals alles genau noch Anleitung gemacht.

    meine docker-network.sh sieht folgendermaßen aus (und ja, bei mir ist es eth1)

    Bash
    #!/bin/sh
    ip link add mvl-brg link eth1 type macvlan mode bridge
    ip addr add 192.168.178.250/32 dev mvl-brg
    ip link set mvl-brg up
    ip route add 192.168.178.224/27 dev mvl-brg

    bei systemctl status docker-network.service kommt dann folgendes:

    Kann jemand erkennen an was es hier klemmt?

  • Ich will ja nichts sagen, aber ich meine da ist ein Tippfehler!
    Nach "ExecStart=" muss ein LEERZEICHEN!
    Dann folgt der entsprechende Pfad zum Verzeichnis /usr/local/sbin/docker-network.sh &

    Versuch´s mal damit, könnte funktionieren.

    Mein NAS

    Ugreen DXP6800 Pro | 64GB RAM Kingston FURY Impact DDR5-RAM, 4800 MHz | 4x 4TB WD Red SA500 SATA SSD | 2x 4TB Kingston DC600M SATA SSD

  • Ja, das ist schon richtig, aber nicht, dass wir uns jetzt missverstehen: im Skript selbst scheint ein Leerzeichen nach dem ExecStart Befehl zu fehlen, weshalb der Pfad nicht gefunden werden kann.

    Wenn du das Skript docker-network.service unter /etc/systemd/system mit nano öffnest, steht dann Folgendes:
    [Service] ExecStart= /usr/local/sbin/docker-network.sh &

    oder

    [Service] ExecStart=/usr/local/sbin/docker-network.sh &

    Mein NAS

    Ugreen DXP6800 Pro | 64GB RAM Kingston FURY Impact DDR5-RAM, 4800 MHz | 4x 4TB WD Red SA500 SATA SSD | 2x 4TB Kingston DC600M SATA SSD

  • Seit wann muss nach ExecStart= ein Leerzeichen hin? Das habe ich noch nie gesehen. Das taucht in keiner Doku auf.

  • Ich will mich irren, aber ich habe es so in meinem Skript und in der Anleitung findet es sich ebenfalls.
    Habe gerade nochmal zur Sicherheit selbst nachgesehen in meinem Skript.

    Mein NAS

    Ugreen DXP6800 Pro | 64GB RAM Kingston FURY Impact DDR5-RAM, 4800 MHz | 4x 4TB WD Red SA500 SATA SSD | 2x 4TB Kingston DC600M SATA SSD

  • Kann sein, dass du es so hast. Aber das heißt nicht, dass es SO SEIN MUSS. Siehe z.B. hier

    Quote

    Add the -f /etc/ssh/sshd-second_config parameter to the sshd command, so that the alternative configuration file is used:

    Code
    ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sshd-second_config $OPTIONS

    oder hier

    Die Dokumentationen haben das alle ohne Leerzeichen.

  • @GreenHorn86 Du hast recht. Kann sein, dass das vielleicht der Fehler ist. Ich habe es mir nochmal genau angeschaut und es sollte kein Leerzeichen auf den Befehl ExecStart folgen:

    [Service]
    ExecStart=/usr/local/sbin/docker-network.sh &

    Mein NAS

    Ugreen DXP6800 Pro | 64GB RAM Kingston FURY Impact DDR5-RAM, 4800 MHz | 4x 4TB WD Red SA500 SATA SSD | 2x 4TB Kingston DC600M SATA SSD

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!