Veröffentlicht 27. Mai27. Mai Moin Zusammen, Ich wollte auf einem Linux Server auf dem ein Docker läuft ein VPN Netzt im Docker erstellen, über diesen VPN Zugang sind dann die Docker Container im VPN Netz des Docker erreichbar. Vielleicht kann man das ja gar nicht so umsetzen wie ich mir das vorstelle aber hier mal zur Umgebung. Ich habe einen Proxmox Server, auf diesem läuft ein Ubuntu Server, auf diesem Ubuntu Server läuft ein Wireguard Docker und ein VPN Netzwerk. Ich möchte ein Site to End VPN aufbauen in dem man mittels Zertifikats des Wireguard Dockers eine IP aus dem Docker VPN Netz erhält und dann die Container darin erreichen kann. Ich habe es leider nicht geschafft das ganze so umzusetzen das der Client eine Verbindung mit den Docker container erhält. Habe ich hier grundsetztlich einen denkfehler oder liegt es einfach an meiner Inkompetenz :). Freue mich über Anregungen und Feedback
6. Juni6. Jun Hallo dann zeige uns mal deine Config. Bzw. Was nimmst du als VPN Software? Ich verwende dazu Strongswan und baue damit die Tunnel für die Kundensysteme. Bearbeitet 6. Juni6. Jun von Informaniker
25. Juni25. Jun Hey @Antonk4! Du hast grundsätzlich keinen Denkfehler, aber es gibt ein paar technische Hürden, die man beachten muss, wenn man ein VPN-Netzwerk innerhalb von Docker aufbauen und Container darüber erreichbar machen will. Ich möchte dir kurz erklären worauf es ankommt und wie du es umsetzen kannst. Also dein Ziel ist: Der Zugriff auf Docker-Container über WireGuard-VPN. Clients sollen sich mit diesem VPN verbinden. Die Clients sollen Zugriff auf andere Docker-Container im selben Host oder Docker-Netzwerk erhalten. Am häufigsten treten Probleme beim "vernetzen" der VMs auf deshalb sind Docker-Container standardmäßig in einem isolierten Netzwerk. Wenn dein WireGuard-Container in einem eigenen Netzwerk läuft, kann er nicht direkt auf andere Container zugreifen – und umgekehrt. Lösung dazu: Verwende den host-Netzwerkmodus für den WireGuard-Container oder bringe alle relevanten Container in ein gemeinsames benutzerdefiniertes Docker-Netzwerk. docker network create \ --driver=bridge \ --subnet=10.10.0.0/24 \ custom-vpn-net Dann startest du alle Container mit --network custom-vpn-net. Außerdem musst du das Routing und IP-Forwarding beachten d.h. WireGuard-Container muss IP-Forwarding aktivieren und Routen korrekt setzen, damit Clients über das VPN andere Container erreichen können. Lösung dazu: Stelle sicher, dass net.ipv4.ip_forward=1 im Container oder Host gesetzt ist. In der WireGuard-Konfiguration (wg0.conf) musst du PostUp und PostDown Regeln setzen, z. B.: PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE Zu guter letzt braucht der Client die richtige Client-Konfiguration den er Client muss wissen, welche IP-Routen über das VPN laufen sollen. Wenn deine Container z. B. im Netz 10.10.0.0/24 sind, dann: AllowedIPs = 10.10.0.0/24 Ich hoffe ich konnte dir helfen! 😊 Viel Erfolg beim Einrichten deines VPN-Setups LG Audrey
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.