kodach
Goto Top

Docker auf Ubuntu - Zugriff auf alle Netzwerke aus einem Container

Hallo

Ich möchte versuchen die ein oder anderen Programme als Container zum laufen zu bekommen. Ich habe zwar Docker schon verwendet, hänge aber bei der Netzwerkkonfiguration und bin mir nicht sicher wie ich das lösen kann.

Ich habe dafür Ubuntu 24 sowie Docker installiert.
Darauf habe ich drei Netzwerkadapter:

$ sudo ip a | grep ens
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.0.230/24 brd 192.168.0.255 scope global ens3
3: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.4.230/24 brd 192.168.4.255 scope global ens9
4: ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.9.230/24 brd 192.168.9.255 scope global ens10

$ sudo cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's 
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        ens3:
            addresses:
            - 192.168.0.230/24
            nameservers:
                addresses:
                - 192.168.0.1
            routes:
            -   to: default
                via: 192.168.0.1
        ens9:
            addresses:
            - 192.168.4.230/24
            nameservers:
                addresses:
                - 192.168.4.1
        ens10:
            addresses:
            - 192.168.9.230/24
            nameservers:
                addresses:
                - 192.168.9.1
    version: 2

Die meisten Container werden ohne Netzwerkangaben sein und nur die Portweiterleitung verwenden. Die sind dan unter 192.168.0.230:port erreichbar was auch funktioniert.

Auch das funktioniert.
Wenn ich nun aber beispielsweise unter 192.168.9.100 einen nginx Proxy Manager installieren möchte, muss dieser auf alle anderen IP Adressen in den verschiedenen VLANs zugreifen können. Das funktioniert aber nicht, da macvlan wenn ich mich recht erinnere das ganze Isoliert.

Kann mir jemand bitte helfen den knopf zu lösen was ich konfigurieren muss damit es klappt?

EDIT: Die VLANs werden über eine Firewall konfiguriert/verwaltet, und in der sind die Berechtigungen entsprechend vergeben. Da wird nichts blockiert.

Gruss und Danke

Koda

Content-ID: 670480

Url: https://administrator.de/forum/docker-auf-ubuntu-zugriff-auf-alle-netzwerke-aus-einem-container-670480.html

Ausgedruckt am: 06.01.2025 um 17:01 Uhr

Pjordorf
Pjordorf 04.01.2025 um 15:36:14 Uhr
Goto Top
Hallo,

Zitat von @KodaCH:
Kann mir jemand bitte helfen den knopf zu lösen was ich konfigurieren muss damit es klappt?
Wo ist der Router der deine vLANs trennt und Routet? Eine entsprechende Firewall kann es auch z.B. Sophos Home Firewall Es gibt etliche Produkte dafür.

EDIT: Die VLANs werden über eine Firewall konfiguriert/verwaltet, und in der sind die Berechtigungen entsprechend vergeben. Da wird nichts blockiert.
Geraten?
Vermutet?
Sollte/Könnte so sein.
In den Logs geschaut?

Gruss,
Peter
KodaCH
KodaCH 04.01.2025 um 16:21:29 Uhr
Goto Top
Hallo Peter

Es ist eine Opnsense Firewall und ja die Logs sind geprüft. Der Verkehr wird durchgelassen.
Mein problem liegt auch nicht in der Firewall oder dem Router.

Sofern ich es richtig sehe müssten die Container oder die Netzwerke von Docker anders konfiguriert werden, finde es aber bisher nicht heraus wie.
gastric
gastric 04.01.2025 aktualisiert um 16:33:14 Uhr
Goto Top
Moin.
das funktioniert aber nicht, da macvlan wenn ich mich recht erinnere das ganze Isoliert.
Nein, mit macvlan hängt der Container VM direkt unisoliert mit einer eigenen MAC in dem entsprechendem Netzwerk welches du in dem macvlan als Parent angegeben hast.
Einfach nachlesen statt die Glaskugel zu benutzen ... https://docs.docker.com/engine/network/drivers/macvlan/
Insofern gelten die Zugriffsbeschränkungen der entsprechenden Layer-2 Domain an dem Interface.
Beachten muss man auch immer die Client-Firewalls denn bspw. Windows blockiert per Default ICMP/SMB Traffic aus fremden Subnetzen.
Einen Container dem ich hier ein MAC-VLAN zuweise hat hier im Test keinerlei Beschränkungen was das anbelangt. Es muss also an deinen FIrewalls liegen. Checke also deine Firewall-Logs und schalte Wireshark an den entsprechenden Interfaces dazu dann siehst du alles schwarz auf weiß face-wink.
Nur du kennst dein Regelwerk und ohne das ist das hier verständlicherweise "Ommmmmmmm ich rate mich zu tooooooode"

Gruß gastric
KodaCH
Lösung KodaCH 04.01.2025, aktualisiert am 05.01.2025 um 13:11:00 Uhr
Goto Top
Hallo Gastric
Danke auch dir.
Einfach nachlesen statt die Glaskugel zu benutzen ...
Ich habe eine andere Seite zu Rate gezogen, und den Text falsch Interpretiert. Eventuell war er auch einfach mal wieder automatisch übersetzt und da hat was nicht gepasst. Finde es aber grad nicht.
Ich muss das nochmals testen. Ich hatte bisher nur Debian ohne Software Firewall. Vielleicht habe ich da ein Regelwerk übersehen.
Die Opnsense ist es definitiv nicht da die den Traffic durchlässt auch gem. Logs face-smile
Muss da wohl nochmals mein Ubuntu Server anschauen.
Danke für den Hinweis.

Das problem lag in der config von qnap. Die selbe konfiguration auf einem anderen PC klappt. Ich gehe dem mal nach. Danke dir.