Mikrotik Wireguard einem Peer feste IP zuweisen?
Hallo zusammen,
ich habe heute auf einem Mikrotik die 7.1(stable) aufgespielt um mich mit Wireguard vertraut zu machen. Die Site2site Verbindung zu einem zweiten Standort bei uns funktioniert tadellos, jetzt geht es um die Homeoffice-User.
Ich habe dazu für jeden User ein Interface erstellt und einen peer. Dem Interface habe ich die jeweilige IP (z.B. 10.0.1.1 (Mikrotik) / 10.0.1.2 (Homeoffice) zugeordnet.
Die Verbindung klappt mittels Windows-Wireguard-Client problemlos und die Routen werden richtig gesetzt, so dass ein Datenaustausch in Richtung Server funktioniert.
Frage 1:
Muss ich tatsächlich für jeden Peer (Homeoffice-User) ein eigenes Wireguard-Interface erstellen oder kann man das wie bei OpenVPN in einem IP-Pool sammeln?
Frage 2:
Bei OpenVPN konnte man jedem Benutzer, der sich einwählt eine feste IP zuweisen, was die Zugriffsmöglichkeiten via Firewall-Regeln sehr vereinfacht hat) Ich könnte zwar wegen der derzeit pro User erstellten Subnetze das auch genau einstellen aber mir erscheint mein Vorgehen zu kompliziert gedacht. Zudem stört es mich, das der User sich einfach eine andere IP geben kann, die dann andere Zugriffsbeschränkungen hätte.
Wo ist mein Denkfehler?
Vielen Dank und Gruß
Daniel
ich habe heute auf einem Mikrotik die 7.1(stable) aufgespielt um mich mit Wireguard vertraut zu machen. Die Site2site Verbindung zu einem zweiten Standort bei uns funktioniert tadellos, jetzt geht es um die Homeoffice-User.
Ich habe dazu für jeden User ein Interface erstellt und einen peer. Dem Interface habe ich die jeweilige IP (z.B. 10.0.1.1 (Mikrotik) / 10.0.1.2 (Homeoffice) zugeordnet.
Die Verbindung klappt mittels Windows-Wireguard-Client problemlos und die Routen werden richtig gesetzt, so dass ein Datenaustausch in Richtung Server funktioniert.
Frage 1:
Muss ich tatsächlich für jeden Peer (Homeoffice-User) ein eigenes Wireguard-Interface erstellen oder kann man das wie bei OpenVPN in einem IP-Pool sammeln?
Frage 2:
Bei OpenVPN konnte man jedem Benutzer, der sich einwählt eine feste IP zuweisen, was die Zugriffsmöglichkeiten via Firewall-Regeln sehr vereinfacht hat) Ich könnte zwar wegen der derzeit pro User erstellten Subnetze das auch genau einstellen aber mir erscheint mein Vorgehen zu kompliziert gedacht. Zudem stört es mich, das der User sich einfach eine andere IP geben kann, die dann andere Zugriffsbeschränkungen hätte.
Wo ist mein Denkfehler?
Vielen Dank und Gruß
Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1646140164
Url: https://administrator.de/forum/mikrotik-wireguard-einem-peer-feste-ip-zuweisen-1646140164.html
Ausgedruckt am: 22.12.2024 um 12:12 Uhr
8 Kommentare
Neuester Kommentar
Blödsinn.
Grundlagen wie immer hier
Merkzettel: VPN Installation mit Wireguard
Frage 1:
Muss ich tatsächlich für jeden Peer (Homeoffice-User) ein eigenes Wireguard-Interface erstellen
Nein, es reicht ein einziges Interface, und für jeden Client einen Peer mit fester IP in den allowed-ips anlegen, bspw. 10.0.0.2/32Muss ich tatsächlich für jeden Peer (Homeoffice-User) ein eigenes Wireguard-Interface erstellen
Frage 2:
Bei OpenVPN konnte man jedem Benutzer, der sich einwählt eine feste IP zuweisen
Bei wireguard setzt du das wie oben schon geschrieben jeweils im Peer über die allowed-ips, das sagt dem Crypto-Routing: Nehme von dem Peer nur Traffic von dieser IP entgegen.Bei OpenVPN konnte man jedem Benutzer, der sich einwählt eine feste IP zuweisen
Grundlagen wie immer hier
Merkzettel: VPN Installation mit Wireguard
Noch viel sinnvoller ist es ein L2TP VPN auf dem Mikrotik zu verwenden denn das erspart einem die unnötige, weil eigentlich überflüssige Einrichtung von zusätzlicher VPN Client Software auf allen Endgeräten.
Man kann so bequem immer den bordeigenen L2TP Client nutzen ohne mit überflüssiger 3rd Party Software frickeln zu müssen.
Aber warum einfach machen wenn es umständlich auch geht ?!
Scheitern am IPsec VPN mit MikroTik
Man kann so bequem immer den bordeigenen L2TP Client nutzen ohne mit überflüssiger 3rd Party Software frickeln zu müssen.
Aber warum einfach machen wenn es umständlich auch geht ?!
Scheitern am IPsec VPN mit MikroTik
Zitat von @dirkschwarz:
bin an der gleichen Sache dran - leider nicht so erfolgreich..denke es liegt an den Firewall Einstellungen.
Nö, eher am Verständnis wie Wireguard und das Crypto-Routing via "Allowed-IPs" funktioniert .bin an der gleichen Sache dran - leider nicht so erfolgreich..denke es liegt an den Firewall Einstellungen.
Beispiel mit dem Mikrotik
Mikrotik Config
/interface wireguard
add listen-port=60223 mtu=1420 name=wg0
/interface wireguard peers
add allowed-address=10.80.0.2/32 comment=Client1 interface=wg0 public-key="xxxxxxxxxxxxxxxxxxxxx"
add allowed-address=10.80.0.3/32 comment=Client2 interface=wg0 public-key="xxxxxxxxxxxxxxxxxxxxx"
/ip address
add interface=wg0 address=10.80.0.1/24
Client1 config
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxx
Address = 10.80.0.2/32
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxx
Endpoint = <MIKROTIK_IP>:60223
AllowedIPs = 10.80.0.0/24
Client2 config
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxx
Address = 10.80.0.3/32
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxx
Endpoint = <MIKROTIK_IP>:60223
AllowedIPs = 10.80.0.0/24
Feddisch.
Möchte man nun das bspw. Client1 auf Client2 nicht zugreifen darf, nutzt man einfach die Firewall, weil beim Crypto-Routing eh alles durch die Forwarding-Chain muss ...
/ip firewall filter
# related established rule (statefull rule)
add action=accept chain=forward comment="related established" connection-state=established,related
# reject traffic from Client1 to Client2
add chain=forward src-address=10.80.0.2 dst-address=10.80.0.3 action=reject reject-with=icmp-host-prohibited
Ping-Check von Client1 auf Client2 wie erwartet verboten
Fazit: Works as designed!
Und das obwohl es WireGuard explizit und leicht verständlich erklärt.
https://www.wireguard.com/netns/
https://www.wireguard.com/papers/wireguard.pdf
Wie bereits gesagt... L2TP und die bordeigenen Clients wäre das sinnvollere VPN denn es erspart die Client Frickelei !
https://www.wireguard.com/netns/
https://www.wireguard.com/papers/wireguard.pdf
Wie bereits gesagt... L2TP und die bordeigenen Clients wäre das sinnvollere VPN denn es erspart die Client Frickelei !
@149569 : Herzlichen dank für deine Hilfe. Habe das mal so konfiguriert..klappt aber so nicht bei mir.
ping auf beiden Seiten zeigt keinen connect! Erst nach einfügen folgender Firewall-Regel:
wird eine Verbindung aufgebaut = ping klappt. Ein direkter Zugriff auf den Router (ssh/web/winbox) ist aber weiterhin nicht möglich. Erst nach Aufnahme des wg0-Interfaces in die Interface-LAN Liste (Tipp aus dem Mikrotik-Forum), klappt nun auch der Zugriff über ssh/web/winbox.
Ich bin nun etwas verwirrt ob das so richtig konfiguriert ist, da ja nach euren Konfiguration eben KEINE derartigen Regeln notwendig sind.
Vielleicht könnt ihr mich ja aufklären?
Herzlichen Dank & Einen schönen Abend!
ping auf beiden Seiten zeigt keinen connect! Erst nach einfügen folgender Firewall-Regel:
;;; accept wireguard
chain=input action=accept protocol=udp dst-port=13231 log=yes
log-prefix="wg0"
wird eine Verbindung aufgebaut = ping klappt. Ein direkter Zugriff auf den Router (ssh/web/winbox) ist aber weiterhin nicht möglich. Erst nach Aufnahme des wg0-Interfaces in die Interface-LAN Liste (Tipp aus dem Mikrotik-Forum), klappt nun auch der Zugriff über ssh/web/winbox.
Ich bin nun etwas verwirrt ob das so richtig konfiguriert ist, da ja nach euren Konfiguration eben KEINE derartigen Regeln notwendig sind.
Vielleicht könnt ihr mich ja aufklären?
Herzlichen Dank & Einen schönen Abend!
Zitat von @dirkschwarz:
@149569 : Herzlichen dank für deine Hilfe. Habe das mal so konfiguriert..klappt aber so nicht bei mir.
ping auf beiden Seiten zeigt keinen connect! Erst nach einfügen folgender Firewall-Regel:
@149569 : Herzlichen dank für deine Hilfe. Habe das mal so konfiguriert..klappt aber so nicht bei mir.
ping auf beiden Seiten zeigt keinen connect! Erst nach einfügen folgender Firewall-Regel:
;;; accept wireguard
chain=input action=accept protocol=udp dst-port=13231 log=yes
log-prefix="wg0"
Ja klar musst du in der Firewall den Wireguard Port öffnen, obige Firewall-Regeln stellen ja keine komplette Firewall dar sondern rein eine optionale Regeln für den gegenseitigen Zugriff der Peers untereinander !!
Ein direkter Zugriff auf den Router (ssh/web/winbox) ist aber weiterhin nicht möglich. Erst nach Aufnahme des wg0-Interfaces in die Interface-LAN Liste (Tipp aus dem Mikrotik-Forum), klappt nun auch der Zugriff über ssh/web/winbox.
Ebenfalls normal denn für den Zugriff auf den Router selbst muss ja eine Freigabe der entsprechenden Ports über die Input Chain erfolgen was für die LAN-Interface List bereits in der Firewall hinterlegt ist. Kannst du so machen, würde ich aber über eine separate Chain in der Firewall laufen lassen um später bessere Kontrolle zu haben was freigegeben werden soll.Ich bin nun etwas verwirrt ob das so richtig konfiguriert ist, da ja nach euren Konfiguration eben KEINE derartigen Regeln notwendig sind.
Das siehst du falsch, wie geschrieben sind obige Regeln explizit keine Komplettansicht sondern nur eine optionale Regel für den gegenseitigen Zugriff unter den Peers.Am besten du bringst dich Firewall technisch mal auf ein höheres Wissens-Level
https://help.mikrotik.com/docs/display/ROS/Building+Your+First+Firewall
https://help.mikrotik.com/docs/display/ROS/Building+Advanced+Firewall
Dann verstehst du auch die unterschiedlichen CHAINs und deren Bedeutung
https://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6