Wireguard in Dockercontainer

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 08:56:06

Hallo Gemeinde,

ich habe am Wochenende versucht Wireguard zum laufen zu bekommen. Eine Verbindung bekomme ich hin, das war der einfache Teil, aber ich bekomme keinen Zugriff in mein eigentliches Netz. Wireguard läuft in einem Dockercontainer, alle Clients bekommen die IP 10.13.13.xx. Als DNS habe ich meinen lokalen Linux Server angegeben, auf dem der Container läuft: 192.168.20.15, der macht DNS und DHCP. An der FritzBox habe ich das Portforwarding konfiguriert für den VPN-Server 192.158.20.15:51820/udp. Als Firewall verwende ich shorewall, jetzt hörts auch auf. Im shorewall Log sehe ich null Einträge, daß irgendwas blokiert wird.

Hat jemand so eine Konstellation zum Laufen bekommen? Ich denke, irgendwas passt an der shorewall Konfiguration nicht.

PS: Debian stable ist am Laufen.
PPS: Laut Wireguard App auf dem Handy werden Daten ausgetauscht, wahrscheinlich nur zwischen App und VPN-Server.
Zuletzt geändert von simmeone am 08.05.2023 10:21:00, insgesamt 1-mal geändert.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard in Dockercontainer

Beitrag von mat6937 » 08.05.2023 09:10:11

simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 08:56:06
An der FritzBox habe ich das Portforwarding konfiguriert für den VPN-Server 192.158.20.15:51820/udp. Als Firewall verwende ich shorewall, jetzt hörts auch auf. Im shorewall Log sehe ich null Einträge, daß irgendwas blokiert wird.
Du kannst auf dem VPN-Server im syslog/dmesg, mit z. B.:

Code: Alles auswählen

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control  #aktivieren
echo module wireguard -p > /sys/kernel/debug/dynamic_debug/control  #deaktivieren
keepalive- bzw. handshake-Pakete (für wireguard) anzeigen lassen.
Wenn der kernel ohne die debug-Funktion kompiliert ist, dann mit z. B. tcpdump und dem geeigneten wg-Filter, den wg-Traffic anzeigen lassen:

Code: Alles auswählen

tcpdump -c 100 -vvveni eth0 'udp[8:4] >= 0x1000000 and udp[8:4] <= 0x4000000' 
(eth0 evtl. anpassen).

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 13:27:26

Mir ist im Moment nicht ganz klar, ob ich noch eine statische Route in der FritzBox benötige oder nicht. Die FritzBox macht bei mir nur das Internet-Zeug, DHCP und DNS macht die Linux-Box, auf der auch Docker, und der Container mit Wireguard, rennt. Da habe ich Varianten gesehen, die in der FritzBox noch statische Routen angelegt haben.

Benutzeravatar
debilian
Beiträge: 1200
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Wireguard in Dockercontainer

Beitrag von debilian » 08.05.2023 13:39:15

Mir ist jetzt nicht ganz klar, warum du das wireguard nicht einfach die Fritzbox machen lässt...

gruss
-- nichts bewegt Sie wie ein GNU --

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard in Dockercontainer

Beitrag von mat6937 » 08.05.2023 14:08:15

simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 13:27:26
Mir ist im Moment nicht ganz klar, ob ich noch eine statische Route in der FritzBox benötige oder nicht.
Du kannst in der FritzBox eine statische Route für das Subnetz 10.13.13.0/24 mit dem gateway 192.168.20.15, eintragen.
BTW: Hast Du auf dem WG-VPN-Server, s-nat (MASQUERADE), für das eth0- und für das wg0-Interface konfiguriert?

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Wireguard in Dockercontainer

Beitrag von bluestar » 08.05.2023 14:08:34

simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 13:27:26
Mir ist im Moment nicht ganz klar, ob ich noch eine statische Route in der FritzBox benötige oder nicht. Die FritzBox macht bei mir nur das Internet-Zeug, DHCP und DNS macht die Linux-Box, auf der auch Docker, und der Container mit Wireguard, rennt. Da habe ich Varianten gesehen, die in der FritzBox noch statische Routen angelegt haben.
Wenn du aus dem Docker-Container heraus in den Netz NAT machst, dann brauchst du keine statische Route, anderenfalls brauchst du auf jeden Fall die 10.13.13.0 / 255.255.255.0 (oder /24) auf 192.168.20.15.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard in Dockercontainer

Beitrag von mat6937 » 08.05.2023 14:16:33

debilian hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 13:39:15
... das wireguard nicht einfach die Fritzbox machen lässt...
BTW: Kann man mit dem (AVM-)wireguard der FritzBox, auch Clients per WG-VPN, lan-to-lan oder Client-to-lan verbinden, wenn das Subnetz der Lans identisch ist? Z. B. WG-Client1 im Lan-A (einer FritzBox), mit der IP 192.168.178.21 (Subnetz 192.168.178.0/24) und WG-Client2 im Lan-B (einer FritzBox), mit der IP 192.168.178.21 (Subnetz 192.168.178.0/24).
Die identische IP hier im Beispiel ist Absicht.

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 15:06:29

debilian hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 13:39:15
Mir ist jetzt nicht ganz klar, warum du das wireguard nicht einfach die Fritzbox machen lässt...

gruss
Ich habe Wireguard in der VPN Konfig meiner FritzBox nicht gefunden, bei mir läuft eine "alte" 7490.

Benutzeravatar
debilian
Beiträge: 1200
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Wireguard in Dockercontainer

Beitrag von debilian » 08.05.2023 15:10:19

simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:06:29
Ich habe Wireguard in der VPN Konfig meiner FritzBox nicht gefunden, bei mir läuft eine "alte" 7490.
aktuelle Firmware drauf?
-- nichts bewegt Sie wie ein GNU --

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 15:13:27

debilian hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:10:19
simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:06:29
Ich habe Wireguard in der VPN Konfig meiner FritzBox nicht gefunden, bei mir läuft eine "alte" 7490.
aktuelle Firmware drauf?
Die letzte offizielle, die es für die 7490 gibt. Laut AVM soll dit eingeschränkt funktionieren, gucke ich noch mal.

PS: die Fritz!OS 7.51 Labor Version für die 7490 soll das wohl können.
Zuletzt geändert von simmeone am 08.05.2023 15:25:44, insgesamt 2-mal geändert.

Benutzeravatar
debilian
Beiträge: 1200
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Wireguard in Dockercontainer

Beitrag von debilian » 08.05.2023 15:15:47

schade.....

;-)
-- nichts bewegt Sie wie ein GNU --

Benutzeravatar
QT
Beiträge: 1242
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von QT » 08.05.2023 15:24:38

simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:06:29
Ich habe Wireguard in der VPN Konfig meiner FritzBox nicht gefunden, bei mir läuft eine "alte" 7490.
Für die 7490 gibts Wireguard aktuell nur in der Labor. Die finale offizielle Version mit Wireguard für die 7490 ist noch nicht raus wird aber noch kommen. Soll dann das letzte Update für die 7490 werden...

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 15:26:16

QT hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:24:38
simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 15:06:29
Ich habe Wireguard in der VPN Konfig meiner FritzBox nicht gefunden, bei mir läuft eine "alte" 7490.
Für die 7490 gibts Wireguard aktuell nur in der Labor. Die finale offizielle Version mit Wireguard für die 7490 ist noch nicht raus wird aber noch kommen. Soll dann das letzte Update für die 7490 werden...
Jup, las ich auch gerade.

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 08.05.2023 15:33:17

mat6937 hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 14:08:15
simmeone hat geschrieben: ↑ zum Beitrag ↑
08.05.2023 13:27:26
Mir ist im Moment nicht ganz klar, ob ich noch eine statische Route in der FritzBox benötige oder nicht.
Du kannst in der FritzBox eine statische Route für das Subnetz 10.13.13.0/24 mit dem gateway 192.168.20.15, eintragen.
BTW: Hast Du auf dem WG-VPN-Server, s-nat (MASQUERADE), für das eth0- und für das wg0-Interface konfiguriert?
In der wg0.conf steht folgendes:

Code: Alles auswählen

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

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 09.05.2023 08:27:11

Ich bin ein Stück weiter gekommen. Nachdem ich in der wg0.conf in der Zeile PostUp noch zusätzlich

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
eingetragen habe, funktioniert jetzt immerhin der Ping auf die FritzBox, Switch. Ein SSH auf die Linux-Box wird im Moment refused, muss ich nachschauen warum. Auch der DNS funktioniert noch nicht, da bekam ich ebenfalls ein refused. Hat jemand noch eine Idee?

PS: anscheinend muss in named.conf vom bind9 noch die allow-query aufgebohrt werden, ich kann mich errinnern, dass ich dort eine Einschränkung konfiguriert habe. Muss bis heute Abend warten 8O
Zuletzt geändert von simmeone am 09.05.2023 09:13:08, insgesamt 1-mal geändert.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Wireguard in Dockercontainer

Beitrag von mat6937 » 09.05.2023 08:41:15

simmeone hat geschrieben: ↑ zum Beitrag ↑
09.05.2023 08:27:11
Ein SSH auf die Linux-Box wird im Moment refused, muss ich nachschauen warum.
Funktioniert der Portscan auf den lauschenden Port des sshd?

Benutzeravatar
simmeone
Beiträge: 112
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Wireguard in Dockercontainer

Beitrag von simmeone » 09.05.2023 20:27:15

Grundsätzlich funktioniert der Kram jetzt, nur die interne Namensauflösung funktioniert irgendwie nicht. Internetseitenaufruf über den Tunnel tut, aber die Linux-Box erreiche ich nur über die IP-Adresse, dann klappt SSH, als auch die Samba-Freigaben. Hat diesbezüglich noch jemand eine Idee?

PS: ich mußte noch an shorewall die Policy ändern und am bind9 mußte ich die Docker-IP-Adresse hinzufügen.

Antworten