Wireguard Peer Only auf Mikrotik RouterOS 7.X
Hallo,
nachdem ich jetzt einen ganzen Tag investiert habe und nicht weiterkomme wende ich mich an euch.
Folgende Situation beschäftigt mich: Es steht ein Wireguard Server in einem RZ, dorthin kann man sich ohne Probleme mit WireGuard Clients auf Mac, Linux u. Windows verbinden.
Jetzt wäre es nett, wenn das mein Router von alleine macht, ohne dass ich eine Software auf irgendeinem Rechner benötige.
Hab dann meinen hexPoe rausgeholt, flach gemacht und mal kurzerhand die Wireguard Interfaces + Peer konfiguriert.
Ich bekomme aber am Router keinerlei Handshake gegenüber den Server im RZ hin, bzw. sehr ich nicht mal ob der Router es versucht.
Mit dieser Config für die Wireguard Guis, gibt es keinerlei Probleme
Mit dieser Config für den Mikrotik gibt es keine Reaktion
Dank u. Gruß
nachdem ich jetzt einen ganzen Tag investiert habe und nicht weiterkomme wende ich mich an euch.
Folgende Situation beschäftigt mich: Es steht ein Wireguard Server in einem RZ, dorthin kann man sich ohne Probleme mit WireGuard Clients auf Mac, Linux u. Windows verbinden.
Jetzt wäre es nett, wenn das mein Router von alleine macht, ohne dass ich eine Software auf irgendeinem Rechner benötige.
Hab dann meinen hexPoe rausgeholt, flach gemacht und mal kurzerhand die Wireguard Interfaces + Peer konfiguriert.
Ich bekomme aber am Router keinerlei Handshake gegenüber den Server im RZ hin, bzw. sehr ich nicht mal ob der Router es versucht.
Mit dieser Config für die Wireguard Guis, gibt es keinerlei Probleme
[Interface]
Address = 10.10.100.2/32
PrivateKey = PrivateKey
DNS = 1.1.1.1
MTU = 1450
[Peer]
PublicKey =RZ-PUBLIC
PresharedKey = PSK
AllowedIPs = 0.0.0.0/0
Endpoint = XXXXX:YYYYY
PersistentKeepalive = 15
Mit dieser Config für den Mikrotik gibt es keine Reaktion
# 2024-03-10 08:17:34 by RouterOS 7.14
# software id = AYWU-80RZ
#
# model = RB960PGS
# serial number = AD8C0A00C928
/interface bridge
add admin-mac=74:4D:28:AD:03:F4 auto-mac=no comment=defconf name=bridge
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge lease-time=10m name=defconf
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=sfp1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=XXXXX endpoint-port=\
YYYYYYYY interface=wireguard1 preshared-key=\
"preshared" public-key=\
"RZ-PUBLIC"
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
192.168.88.0
add address=10.10.100.2/24 interface=wireguard1 network=10.10.100.0
/ip dhcp-client
add comment=defconf interface=ether1
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input in-interface=wireguard1
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" \
dst-port=33434-33534 protocol=udp
add action=accept chain=input comment=\
"defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
ipsec-esp
add action=accept chain=input comment=\
"defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
"defconf: drop everything else not coming from LAN" in-interface-list=\
!LAN
add action=accept chain=forward comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
"defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
ipsec-esp
add action=accept chain=forward comment=\
"defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
"defconf: drop everything else not coming from LAN" in-interface-list=\
!LAN
/system clock
set time-zone-name=Europe/Vienna
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
Dank u. Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 13015303325
Url: https://administrator.de/contentid/13015303325
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
Was häufig vergessen wird ist das der Mikrotik das Crypto Routing nicht automatisch macht sondern immer eine statische Route erfordert.
Eine Router Anbindung macht man in der Regel auch nicht mit einem Gateway Redirect sondern immer mit Split Tunneling.
Vielleicht hilft dir das hier etwas weiter was die Anbindung eines Mikrotik Wireguard Clients an eine Firewall (WG Server) zeigt:
Mikrotik als Wireguard Client an pfSense
Die Variante zur Anbindung an eine als Wireguard Server laufende Fritzbox z.B. HIER
Nebenbei:
Es ist sinnfrei eine MTU anzugeben da Wireguard den Tunnel Overhead schon im Default korrekt berücksichtigt mit der Default Tunnel MTU von 1420.
Auch ist die Verwendung eines PSK überflüssig wenn man schon mit Keys arbeitet. Normalerweise benötigt man keinen Gürtel wenn man schon Hosenträger an hat.
Das kannst du also weglassen in deinem Setup. Die Keepalives kann man auf UDP moderate 25 Sek. erhöhen um den Tunnel zu schonen.
Siehe auch Wireguard Tutorial!
Beispielkonfig zum Abtippen weil heute ja Sonntag ist! 😊
Fazit: Works as designed!! 👍 😉
Eine Router Anbindung macht man in der Regel auch nicht mit einem Gateway Redirect sondern immer mit Split Tunneling.
Vielleicht hilft dir das hier etwas weiter was die Anbindung eines Mikrotik Wireguard Clients an eine Firewall (WG Server) zeigt:
Mikrotik als Wireguard Client an pfSense
Die Variante zur Anbindung an eine als Wireguard Server laufende Fritzbox z.B. HIER
Nebenbei:
Es ist sinnfrei eine MTU anzugeben da Wireguard den Tunnel Overhead schon im Default korrekt berücksichtigt mit der Default Tunnel MTU von 1420.
Auch ist die Verwendung eines PSK überflüssig wenn man schon mit Keys arbeitet. Normalerweise benötigt man keinen Gürtel wenn man schon Hosenträger an hat.
Das kannst du also weglassen in deinem Setup. Die Keepalives kann man auf UDP moderate 25 Sek. erhöhen um den Tunnel zu schonen.
Siehe auch Wireguard Tutorial!
Beispielkonfig zum Abtippen weil heute ja Sonntag ist! 😊
Setup Wireguard Server
[Interface]
Address = 172.27.27.62/27
PrivateKey = <Private_Key_Server>
ListenPort = 57820
# Peer Mikrotik RB750
[Peer]
PublicKey = 8orfHOyq+BfuaiONzrurQmuUCHV60EYHRS1onGKesFI=
AllowedIPs = 172.27.27.53/32, 192.168.118.0/24
Setup Mikrotik RouterOS
4 einfache Schritte- Wireguard Keys setzen
- Peer zum Server definieren
- Unter IP - Addresses die Wireguard Tunnel IP setzen
- Ggf. statische Route setzen wenn ein IP Netze am Server erreicht werden müssen (.26.0/24 ist hier ein lokales Netzwerk am Server)
Peer und Ping Check
interface: wg0
public key: vZvzgp56G8lsrvjFdCWXdaXsNPYfV+2+54YV8wTN0B8=
private key: (hidden)
listening port: 57820
peer: 8orfHOyq+BfuaiONzrurQmuUCHV60EYHRS1onGKesFI=
endpoint: 81.1.2.3:5888
allowed ips: 172.27.27.53/32, 192.168.118.0/24
latest handshake: 51 seconds ago
transfer: 5.11 KiB received, 3.45 KiB sent
Fazit: Works as designed!! 👍 😉
0.0.0.0/0
Für nen GW Redirect muss man erst ne Route anlegen und das Masquerade auf dem Wireguard IF nicht vergessen wenn die Gegenseite nichts von deinen lokalen Netzen kennt...Wireguard Traffic (Gateway redirect)
Zitat von @godlie:
was mir aber sehr komisch vorkommt, warum initiert der Peer am Router keinen connect zum Server im RZ?
was mir aber sehr komisch vorkommt, warum initiert der Peer am Router keinen connect zum Server im RZ?
Dann stimmt entweder noch einer der Keys nicht, Endpoint, oder Port fehlerhaft, fehlerhafte DNS Auflösung, vorgelagerte FW blockt,etc. ....
Logging der Topics unter System> Logging aktivieren.