Problem mit Buster und MACVLAN

  • Ich habe einen Raspberry 4 mit 8GB im Einsatz. Dieser soll über Docker einige Anwendungen beherbergen. Damit es keine Konflikte mit den Ports gibt, habe ich Docker so konfiguriert, dass die einzelnen Container über MACVLAN jeweils eine eigene feste IP-Adresse und MAC-Adresse bekommen.

    Und damit beginnt auch mein Problem: Jeder Container bekommt neben der fest zu geteilten IP-Adresse noch eine dynamische IP-Adresse zugeordnet. Diese kann man aber nicht anpingen. Nach jedem reboot bekommen die Container eine neue dynamische IP-Adresse zugeordnet (die angezeigte MAC-Adresse ist jedesmal eine andere) ... und damit wird die Fritzbox mit immer mehr verwendeten IP-Adressen zugemüllt.

    Auf der Suche nach einer Lösung bin ich im Internet auf mehrere andere User getroffen, die ein ähnliches Problem haben ... aber alle keine Lösung.

    Ich habe diverse Dinge ausprobiert:

    - anstelle des Raspberry PI 4 haben ich einen 2'er ausprobiert.

    - dem Raspberry selbst habe auch eine feste IP-Adresse vergeben

    - 32bit und 64bit Buster

    - nur einzelne Container installieren um hier die Fehlerquelle auszuschließen

    - SSD-Boot und SD-Boot

    Bei einer Sache bin ich jetzt fündig geworden. Ich habe ansatt RASBIAN Pi OS mal Ubuntu ausprobiert ... und siehe da: es funktioniert. Die Fehlerquelle scheint also Buster zu sein. Jetzt könnte ich ja einfach Ubuntu verwenden. Nur leider ist Ubuntu nach meiner Recherche nicht so einfach und auch nicht von Dauer dazu zu bewegen, direkt ohne SD von der SSD zu booten.

    Hat jemand eine Idee was mein Problem mit Buster beheben kann?

    Gruß

    Ulf

  • Nach jedem reboot bekommen die Container eine neue dynamische IP-Adresse zugeordnet (die angezeigte MAC-Adresse ist jedesmal eine andere) ... und damit wird die Fritzbox mit immer mehr verwendeten IP-Adressen zugemüllt.

    ....

    Bei einer Sache bin ich jetzt fündig geworden. Ich habe ansatt RASBIAN Pi OS mal Ubuntu ausprobiert ... und siehe da: es funktioniert. Die Fehlerquelle scheint also Buster zu sein. Jetzt könnte ich ja einfach Ubuntu verwenden.

    Was macht Ubuntu anders als Raspbian-Pi-OS? Ändert sich dort die MAC-Adresse nicht?

  • Unter Ubuntu wird jedem Container nur die von mir über MACVLAN zugeordnete feste IP-Adresse vergeben. Mit Buster bekommt jeder Container zusätzlich eine nicht gewünschte dynamische IP-Adresse zugeordnet. Und diese ändert sich nach jedem reboot, da die fiktiven MAC-Adressen ändern.

  • Mit Buster bekommt jeder Container zusätzlich eine nicht gewünschte dynamische IP-Adresse zugeordnet.

    OK, das war nicht klar.

    Poste mal mit Buster, die Ausgabe von:

    Code
    ip a
    ps aux | grep -i [d]hc
    systemctl status dhcpcd
  • Ich habe den Raspberry 4 nochmal schnell neu aufgesetzt. Es läuft neben Docker noch noch Portainer und Pihole in den Containern.

    Code
    pi@raspberrypi:~ $ ps aux | grep -i [d]hc
    root        63  0.0  0.0      0     0 ?        I<   16:26   0:00 [kworker/u9:0-sdhci]
    root        80  0.0  0.0      0     0 ?        I<   16:26   0:00 [sdhci]
    root       569  0.0  0.0   3068  2180 ?        Ss   16:26   0:00 /sbin/dhcpcd -q -w
  • Ich habe den Raspberry 4 nochmal schnell neu aufgesetzt. Es läuft neben Docker noch noch Portainer und Pihole in den Containern.

    Die Interfaces denen die FritzBox per dhcp keine IP-Adresse zuweisen soll (weil Du das für die schon mit statischen IP-Adressen gemacht hast), kannst Du mit:

    Code
    denyinterfaces <nic1>, <nic2>, <nic3>, etc.

    in due dhcpcd.conf eintragen.

    Siehe in der manpage der dhcpcd.conf:

    Quote

    denyinterfaces patternWhen discovering interfaces, the interface name must not matchpattern which is a space or comma separated list of patterns passed to fnmatch(3).

    Quelle: https://manpages.debian.org/buster/dhcpcd5….conf.5.en.html

  • mmhhh ... dann brauche ich doch nochmal Hilfe:

    Hier ein Ausschnitt aus der Liste der Netzwerkgeräte in der Fritzbox:

    Zu den Konfiguration von gestern habe ich jetzt noch den Container mit Octoprint hinzugefügt. Neben den gewünschten IP-Adressen der Container *.225 und *.228 taucht natürlich der PI selbst auf: *.43 ... zusätzlich aber auch die nicht gewünschten IP-Adressen *.48 und*.49. Diese beiden Adressen würden sich bei jedem Reboot des Pis verändern, da sich auch die virtuelle MAC-Adresse der 'Geräte' sich jedes mal verändert.

    Ich habe zusätzlich die IPv6-Adressen deaktiviert um in der folgenden Liste ein wenig mehr Übersicht zu schaffen:

    Welchen Adapter soll ich den deaktivieren? Die Geräte tauchen hier doch garnicht auf. Der unter Punkt 6 auftauchende Adapter 'vethed...' hat bei jedem booten eine andere Bezeichnung. Ich habe auch ehrlich gesagt keine Ahnung was das genau ist, denn die angezeigte IP-Adresse passr in keinster Weise irgendwo hin.

  • Welchen Adapter soll ich den deaktivieren? Die Geräte tauchen hier doch garnicht auf. Der unter Punkt 6 auftauchende Adapter 'vethed...' hat bei jedem booten eine andere Bezeichnung. Ich habe auch ehrlich gesagt keine Ahnung was das genau ist, denn die angezeigte IP-Adresse passr in keinster Weise irgendwo hin.

    Das ist eine LL-IP-Adresse die per autoconfig dann zugewiesen wird, wenn für dieses Interface/Adapter kein DHCP-server erreicht werden kann. Diese LL-IP-Adressen werden in der FritzBox auch nicht angezeigt.

    In der dhcpcd.conf kannst Du nur Interfaces/Adapter mit konstantem Namen eintragen. Wenn das bei deinen Interfaces nicht der Fall ist (d. h. nach jedem reboot haben die einen anderen Namen), musst Du schauen ob Du deine Anwendung/Dienst so konfigurieren kann, dass diese immer den gleichen Namen haben. Oder wenn möglich man versucht es mit wildcards. Das muss man testen, weil ich das in der dhcpcd.conf noch nicht benutzt habe. Evtl. gibt es auch Alternativen zum dhcpcd5-Client (auf dem PI).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!