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:
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
4 Kommentare
Neuester Kommentar
Hallo,
Vermutet?
Sollte/Könnte so sein.
In den Logs geschaut?
Gruss,
Peter
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.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.
Geraten?Vermutet?
Sollte/Könnte so sein.
In den Logs geschaut?
Gruss,
Peter
Moin.
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ß .
Nur du kennst dein Regelwerk und ohne das ist das hier verständlicherweise "Ommmmmmmm ich rate mich zu tooooooode"
Gruß gastric
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ß .
Nur du kennst dein Regelwerk und ohne das ist das hier verständlicherweise "Ommmmmmmm ich rate mich zu tooooooode"
Gruß gastric