Wireguard Client Docker, Mikrotik Router
Hallo zusammen,
ich versuche momentan dieses Image auf einem VPS mit Docker zu nutzen.
https://hub.docker.com/r/linuxserver/wireguard
Das ganze soll als Client genutzt werden.
Der Wireguard Server ist bei mir ein Mikrotik in meinem Heimnetzwerk.
Wireguard an sich funktioniert ohne Probleme. Das nutze ich bereits auf Tablets, Handys und Notebooks.
In der Dokumentation ist eine Anleitung, wie ich das ganze als Client nutzen kann, allerdings komme ich hier nicht wirklich weiter.
Folgendes habe ich bisher gemacht.
Ich habe auf einem Ubuntu die Keys erstellt nach dieser Anleitung:
https://www.wireguard.com/quickstart/#key-generation
Die Keys habe ich dann in die conf Datei eingefügt:
Die Mikrotikseite wurde demensprechend auch angepasst.
Der Publickey wurde in WG in Mikrotik hinterlegt.
Die Docker Compose Datei sieht wie folgt aus:
Ich nutze nicht den Standardport von WG sondern, 13333.
Ich hänge jetzt, da ich nicht weiß wo ich den geänderten Port eintragen soll/muss.
Ich habe es mit mit
Oder
Oder auch in der confi Datei mit verschiedensten Varianten versucht. Leider kommt keine Verbindung zu stande.
Log vom Conatainer sagt folgendes:
Ich komme hier leider nicht mehr weiter.
Vielleicht hat jemand den Container am laufen oder jemand kann mir Helfen.
Danke
ich versuche momentan dieses Image auf einem VPS mit Docker zu nutzen.
https://hub.docker.com/r/linuxserver/wireguard
Das ganze soll als Client genutzt werden.
Der Wireguard Server ist bei mir ein Mikrotik in meinem Heimnetzwerk.
Wireguard an sich funktioniert ohne Probleme. Das nutze ich bereits auf Tablets, Handys und Notebooks.
In der Dokumentation ist eine Anleitung, wie ich das ganze als Client nutzen kann, allerdings komme ich hier nicht wirklich weiter.
Folgendes habe ich bisher gemacht.
Ich habe auf einem Ubuntu die Keys erstellt nach dieser Anleitung:
https://www.wireguard.com/quickstart/#key-generation
wg genkey > privatekey
wg pubkey < privatekey > publickey
Die Keys habe ich dann in die conf Datei eingefügt:
[Interface]
Address = 192.168.77.5/32
PrivateKey = privatekeywurdezensiertgHj+kng=
ListenPort = 13333
DNS = 192.168.77.1
[Peer]
PublicKey = publickeywurdezensiert0FzMSJCM=
Endpoint = mydyndns.net:13333
AllowedIPs = 0.0.0.0/0
Die Mikrotikseite wurde demensprechend auch angepasst.
Der Publickey wurde in WG in Mikrotik hinterlegt.
Die Docker Compose Datei sieht wie folgt aus:
ervices:
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
NET_ADMIN
SYS_MODULE #optional
environment:
PUID=1000
PGID=1000
TZ=Europe/Berlin
volumes:
/root/docker/wg-client/config:/config
/lib/modules:/lib/modules #optional
ports:
13333:51820/udp
sysctls:
net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
Ich nutze nicht den Standardport von WG sondern, 13333.
Ich hänge jetzt, da ich nicht weiß wo ich den geänderten Port eintragen soll/muss.
Ich habe es mit mit
ports:
13333:51820/udp
ports:
13333:13333/udp
Oder auch in der confi Datei mit verschiedensten Varianten versucht. Leider kommt keine Verbindung zu stande.
Log vom Conatainer sagt folgendes:
Found WG conf /config/wg_confs/peer.conf, adding to list
Activating tunnel /config/wg_confs/peer.conf
Warning: `/config/wg_confs/peer.conf' is world accessible
[#] ip link add peer type wireguard
[#] wg setconf peer /dev/fd/63
[#] ip -4 address add 192.168.77.5/32 dev peer
[#] ip link set mtu 1420 up dev peer
[#] resolvconf -a peer -m 0 -x
s6-rc: fatal: unable to take locks: Resource busy
[#] wg set peer fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev peer table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] iptables-restore -n
Ich komme hier leider nicht mehr weiter.
Vielleicht hat jemand den Container am laufen oder jemand kann mir Helfen.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 672754
Url: https://administrator.de/forum/wireguard-client-docker-mikrotik-router-672754.html
Ausgedruckt am: 29.05.2025 um 01:05 Uhr
12 Kommentare
Neuester Kommentar

Hallo wusa88.
Versuch einen anderen Port. Idealerweise beginnend ab 51820 (Standard).
Gruß
Versuch einen anderen Port. Idealerweise beginnend ab 51820 (Standard).
Gruß
Folgendes habe ich bisher gemacht.
Das hiesige Tutorial und die Mikrotik Hinweise in den weiterführenden Links hast du auch genau gelesen und umgesetzt??Merkzettel: VPN Installation mit Wireguard
Die Verwendung von UDP 13333 ist nicht zu empfehlen, weil du damit innerhalb der von der IANA fest zugewiesenen Port Range liegst!
Verantwortungsvolle Admins verwenden niemals diese weltweit offizell fest registrierten Ports sondern immer Ports innerhalb der Ephemeral Port Range 49152 bis 65535!
Das Setup ist ja eigentlich eine Lachnummer für einen Admin und deine Problematik ist sehr wahrscheinlich keine Wireguard Problematik, denn da kann man ja nun nicht viel falsch machen. Vielmehr, wie du ja auch schon selber sagst, liegt es an der Container Frickelei.
Hier als Beispiel in einem resourcenschonenden Split Tunnel Setup statt Redirect.
Fertisch....
Works as designed in 10 Minuten! 👍
Inhaltsverzeichnis
Wireguard Server auf dem Mikrotik einrichten:
WG Client Peer für den Docker Client konfigurieren und Ping checken:
Docker Client wg0.conf Datei
Hier als Beispiel in einem resourcenschonenden Split Tunnel Setup statt Redirect.
[Interface]
Address = 10.8.8.1/24
PrivateKey = 6NUtZ1YPmFWpjN2jU7XUA3rMeUU1SwIFKldzt48zF34=
[Peer]
PublicKey = U8Pc4LMzf2pFDlqIMeps5ovd/eyRKG0PWbUwG7iMCyo=
Endpoint = <Mikrotik>:58333
AllowedIPs = 10.8.8.254/32
PersistentkeepAlive = 25
Fertisch....
Works as designed in 10 Minuten! 👍
funktionierte es.
👏 Dann bleibt ja eigentlich nur noch den Thread als erledigt zu schliessen...!Wie kann ich einen Beitrag als gelöst markieren?
P.S.:
hat aus dem Privatekey innerhalb dem Container
Innerhalb des Containers...Der Dativ ist dem Genitiv sein Tod!
Bin ich mit dieser Config auf dem richtigen Weg?
Nein! Leider bist du völlig auf dem Holzweg! Unter Address wird ausschliesslich NUR die interne Wireguard Client IP gesetzt und das auch mit der im internen Wireguard Netz verwendeten korrekten Subnetzmaske und niemals mit einer /32er Hostmaske. Diese findet nur Verwendung unter den AllowedIPs! Also dem Parameter, der bestimmt welcher IP Traffic in den VPN Tunnel geroutet werden.
Du machst mit der "0.0.0.0/0" oben unter den AllowedIPs ein "Gateway Redirect"!! Damit wird sämtlicher Traffic dieses Clients in den VPN Tunnel geroutet und macht eine separate Angabe des Docker Netze damit logischerweise obsolet. Das wäre nur erforderlich wenn du eine sinnvollere Konfig mit Split Tunneling machst statt Redirect.
Redirect ist eher eine schlechte Konfig wenn man resourcenschonend lediglich nur die Zielnetze routen will (Split Tunneling) und nicht gleich schrotschussartig sämtlichen Traffic des Clients.
Desweiteren ist die Angabe eines Listen Ports bei einem WG Client völliger Blödsinn, denn der wird am Client immer dynamisch bestimmt.
Ein Client lauscht (listen) ja niemals auf eingehende Wireguard Verbindungen wie ein Server! Der Zielport wird dem Client immer mit der Endpoint Definition mitgegeben. Den Listen Unsinn am Client kannst du also gleich löschen!
Dieser völlig falsche Ansatz zeigt leider das du mit keiner Zeile das dir oben zur Hilfestellung gepostete Wireguard Tutorial gelesen und/oder verstanden hast! 😡
Dort wird dir in allen Details erklärt was Gateway Redirect, Split Tunneling ist und wie die korrekte IP Adressierung der in den Tunnel zu routenenden IP Netze bei den AllowedIPs aussieht.
Nimm dir also bitte die Zeit und lies dir das in aller Ruhe durch, dann musst du auch nicht solche völlig falschen Dinge hier als Admin posten! Zum weiterhin nicht konform konfigurierten Zielport jetzt mal gar nichts gesagt.
Ebenso zur Verwendung der /16er Prefixes. Niemand kann und will 65534 Endgeräte in einem IP Netz adressieren. Hier zeigen sich leider auch grobe Defizite in der IP Adressierungsplanung.
Einem verantwortungsvollen "Admin" sollte so etwas nicht passieren...
So sähe eine vernünftige Client Konfig im Split Tunneling Mode aus, wobei jetzt frei geraten ist das das interne Wireguard IP Netz (192.168.77.0) eine /24er Maske verwendet und der Wireguard Server (Mikrotik) darin die .77.1 verwendet?! Leider machst du zur IP Adressierung (insbesondere der WG IP Adressierung) keine genauen Angaben mit WinBox Screenshots etc. was eine zielführende Hilfe nicht gerade erleichtert.
[Interface]
PrivateKey = Cxxxxxxx7adDi1p2UlhPFXdH4HHw=
Address = 192.168.77.5/24
[Peer]
PublicKey = Jkdn62xxxxxxxxO5kpq+oZdK/17XAY=
AllowedIPs = 192.168.77.1/32
Endpoint = mydyndns.net:58333
PersistentKeepalive = 25
Logisch, denn der Server muss ja wissen das er allen Traffic mit 172.18.x.y Zieladressen in den VPN Tunnel zu diesem Client Peer schicken muss.
⚠️ Der Mikrotik lernt remote Wireguard Netze nicht dynamisch! Die musst du in seiner Routing Tabelle immer statisch eintragen! Nur das du das auf dem Radar hast.
Mit der IP 172.18.0.2 kommt keine Ping zurück.
Die Routen für das was in den allowed-ips des Mikrotik steht werden auf diesem nicht automatisch angelegt, ergo ist Hand anlegen angesagt .../ip route add dst-address=172.18.0.0/16 gateway=192.168.77.5