Hallo liebes Forum.
Ich versuche mich grad an der Konfiguration eines Wireguard Servers für mehrere Mobil Devices als quasi "immeran VPN" und möchte die Clients auch über PIHole in unserem Netz laufen lassen.
Die Tunnel laufen auch, aber was mich grundsätzlich stutzig macht: Wenn ich die allowed Subnets in den Endpoints auf den Servern angebe, kann ich eine Netzkonfiguration immer nur einmal angeben, beim zweiten client wird sie ignoriert.
10.10.15.2/32 geht auf dem ersten Client
10.10.15.3/32 geht auf dem zweiten Client
Muss ja auch so, weil das das VPN-Netz ist.
10.10.15.2/32, 10.10.10.0/24 geht auf dem ersten Client (das zweite Netz ist das Lan-Netz)
10.10.15.3/32, 10.10.10.0/24 geht auf dem zweiten Client NICHT (das zweite Netz wird ignoriert, der Client kann somit nicht auf Server im lokalen Lan zugreifen)
interface: wg1
public key: xxxxxxxxxxxxxxxxxx=
private key: (hidden)
listening port: 51820
peer: xxxxxxxx=
endpoint: xx.xx.xx.xx:22735
allowed ips: 10.10.10.0/24, 10.10.15.2/32
latest handshake: 1 minute, 48 seconds ago
transfer: 307.01 KiB received, 1.41 MiB sent
peer:xxxxxxxxxx=
endpoint: xx.xx.xx.xx:51820
allowed ips: 10.10.15.3/32
Bitte nicht daran stören, dass das zweite Device grade nicht connected ist - Hab grad keinen Zugriff drauf.
Auf den Devices selbst habe ich 0.0.0.0/0 angegeben, damit tatsächlich alles über den Tunnel läuft.
Es macht ein bisschen den Eindruck, als wenn eine interne Prüfung der Konfiguration vorgenommen wird, und bei zwei identischen Adressen einfach eine rausgeschmissen wird. Für das VPN Netz würde das ja auch noch Sinn machen, aber nicht mehr für die Netze, die geroutet werden sollen. Handelt es sich hier um einen Bug, oder hab ichs noch nicht verstanden. Eigentlich hab ich it etlichen Beschreibungen, auch für andere Distros abgeglichen.
Und noch eine Frage: Welche IP muss ich angeben, wenn der unbound auf dem opnsense selbst der DNS für die Clients sein soll? Die .15.1 Des Wireguardtunnels oder z.b. die .10.1 als des Lan-Interfaces?
Danke schonmal.
VG - Fossi
Wenn du auf den Devices 0.0.0.0 machst, wieso dann nicht auf auf dem Server?
Dann wäre alles geklärt :)
Den Rest machst du über Firewallregeln ..
Auch das führt zum gleichen Ergebnis - habs grad mal probiert.
Grundsätzlich ist dein Vorschlag logisch, jedoch wird auch hier die 0.0.0.0/0 nur für einen Client übernommen.
Hab grad mal nochwas probiert: 10.10.10.1/24 und 10.10.10.2/24 geht auch nicht, macht ja auch keinen Sinn.
Die Angabe wird korrekt interpretiert: 10.10.10.0/24 wird in List Configuration angezeigt und somit wieder nur bei einem Client übernommen.
Das ist echt schräg.
WireGuard macht Routing und Zugriffskontrolle.
z.B.
192.168.10.1/24 LAN
10.10.20.1/24 Wireguard-Netz
10.10.20.12/32 Wireguard Client
172.16.30.12/24 Netz hinter dem Wireguard-Client
Endpoint-Config auf Client:
192.168.10.0/24, 10.10.20.0/24
-> das schickt der Client in den Tunnel und aus diesen Netzen akzeptiert er Traffic.
bei 0.0.0.0/0 eben alles.
Client-Endpoint-Config auf Server:
AllowedIPs: 10.10.20.12/32, 172.16.30.0/24
-> das schickt der Server in den Tunnel und aus diesen Netzen akzeptiert er Traffic.
Hier ein 10.10.20.0/24 oder sogar 0.0.0.0/0 macht das Routing kaputt.
Deswegen nur das angeben, was für den einzelnen Client bestimmt ist: /32. Ggf. noch das Netz hinter dem Client, falls das gewünscht ist.
unbound hört auf allen Interfaces, ich gebe dort den 'direkt' verbundenen Server-Tunnelendpunkt aus dem Tunnel-Subnetz an.
Ach so. Die config der jeweiligen Seite gibt immer an, was laut Routing in den Tunnel soll.
Wenn also der Client auf seiner Seite 0.0.0.0/0 bekommt, hat er routingseitig Zugriff auf alle Netze auf dem Opnsense. Alles weitere muss dann ggf. über die Firewall erlaubt oder verneint werden, richtig?
Ich hab an openvpn gedacht, dort geht's ja immer um die jeweiligen Netze.
Sollte man die entsprechenden Einträge für die Firewall unter Wireguard oder unter wg0 eintragen? Hab da auch unterschiedliches gelesen. Teilweise wird auch noch eine NAT roule eingetragen, die ist bei mir unter WAN aber bereits vorhanden.
Danke bis hierher.
VG - Fossi
Quote from: Fossi on March 13, 2020, 01:29:28 PM
Wenn also der Client auf seiner Seite 0.0.0.0/0 bekommt, hat er routingseitig Zugriff auf alle Netze auf dem Opnsense. Alles weitere muss dann ggf. über die Firewall erlaubt oder verneint werden, richtig?
Genau.
Ich schreibe die Firewall-Regeln lieber auf das Interface, weil ich dort zuerst suche. Das finde ich übersichtlicher.
[WireGuard] ist die Gruppe der wg*-Interfaces
[wg0] ist das Interface
Bei mir funktioniert es bestens ohne das extra Outbound-NAT.