wie einzelne ports weiterleiten zu vpn server?

1 Antwort

Ein Schritt zum Erfolg ist das Docker Netzwerk.

Mit der Standardkonfiguration von Container hat jeder Container bzw. Compose Projekt sein eigenes Docker Netzwerk.

Ports von diesem Netzwerk kannst du leicht freigeben. Dann können externe Dienste einen Port innerhalb des Docker Netzwerkes erreichen. Zum Verbinden wirst du es schon umgesetzt haben.

Lokale Dienste auf dem Server kannst du aus diesem Docker Netzwerk nicht erreichen.

Wenn dein Dienst, den du freigeben möchtest, auch in Docker läuft, kannst du diesen Container im gleichen Docker Netzwerk benutzen. Falls du Docker Compose mit einem Projekt benutzt, sind alle Container bereits in einem Netzwerk.

Falls du Docker Compose benutzt kannst du den anderen Container mit dem Service Namen ansprechen. Ein entsprechender DNS Eintrag wird von Docker gesetzt. Ob es auch über den VPN Server gesetzt wird, musst du ausprobieren.

Falls dein anderer Dienst nicht in Docker läuft, kannst du dein VPN Container im "host" Netzwerk von Docker nutzen. Dann läuft Wireguard auf der Netzwerk Seite so, als wenn es direkt auf dem Server läuft. Du hast dann Zugang zu allen laufenden Services.

Falls du Spaß haben möchtest, kannst du es bestimmt auch mit iptables/nftables das Lösen. Docker nutzt diese Tools für Umsetzung der Netzwerke. Ob es so gut ist, die automatisch angelegten Regeln von Docker zu modifzieren oder zu ergänzen, würde ich bezweifeln.