[Megoldva] RouterOS 7.13.5 -> 7.14.0 upgrade - Wireguard probléma

Sziasztok!

Miután a routeremen (Mikrotik hap ax3) upgrade-eltem a RouterOS-t 7.14.0-ra (7.13.5-ről), úgy tűnik, hogy a wireguard teljesen megnyekkent. Egyszerűen csak nem működik. A log-ban csak annyi látszott, hogy a handshake nem sikerült, a tűzfal szabályoknál látszott, hogy beérkezik a forgalom kívülről.

Downgrade-eltem a RouterOS-t 7.13.5-re, és minden megjavult.

A routeros 7.14 changelogjában ezek a wireguard-os dolgok vannak:

*) webfig - fixed showing WireGuard peers;
*) winbox - added missing monitoring properties under "WireGuard/Peers" menu;
*) wireguard - do not allow to use multiple WireGuard interfaces on the same "listen-port";
*) wireguard - optimised and improved WireGuard service logging;

(Egy wireguard interfészem van)

Illetve most nézem, hogy lett valami "Back to home" VPN megoldása a Mikrotik-nek, vagy ez volt is?

Esetleg valaki belefutott ebbe, vagy van valakinek ötlete, hogy mi lehet ez?

Köszönöm szépen.

Hozzászólások

tegyel ide configot privat kulcsok nelkul igy nehez lesz, amugy szvsz. eddig az a tapasztalatom hogy a mikrotik fele wg nem 100% volt eddig sem

A releváns részek a mikortik-en:
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1

/interface wireguard peers
add allowed-address=192.168.5.10/32 interface=wireguard1 persistent-keepalive=20s preshared-key="xxx" private-key=xxx" public-key="xxx"
add allowed-address=192.168.5.11/32 interface=wireguard1 persistent-keepalive=20s preshared-key="xxx" private-key=xxx" public-key="xxx"
add allowed-address=192.168.5.12/32 interface=wireguard1 persistent-keepalive=20s preshared-key="xxx" private-key=xxx" public-key="xxx"
add allowed-address=192.168.5.13/32 interface=wireguard1 persistent-keepalive=20s preshared-key="xxx" private-key=xxx" public-key="xxx"

/ip address
add address=192.168.5.1/24 interface=wireguard1 network=192.168.5.0

/ip cloud
set ddns-enabled=yes ddns-update-interval=1m

/ip firewall filter
...
add action=accept chain=forward dst-address=192.168.4.0/24 src-address=192.168.5.0/24
add action=accept chain=forward dst-address=192.168.5.0/24 src-address=192.168.4.0/24
...
add action=accept chain=input dst-port=13231 protocol=udp
...

A kliensben:
[Interface]
Address = 192.168.5.10/32
PrivateKey = xxx
DNS = 192.168.4.18
MTU = 1450

[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 0.0.0.0/0
Endpoint = xxx.net:13231
PersistentKeepalive = 20

Lehet semmi köze semmihez, de ha ezek kliensek, akkor miért van privátkulcs?

Egyébként épp most upgradeltem több routert is, de szerencsére minden működik, ha előbb elolvasom, neki se állok. :)

Esetleg próbáld meg preshared key nélkül, hátha ott hasal el a handshake, az én konfigomban nincs.

Jogos, az a private key ott hülyeség. A wireguard ui-ban tartom nyilván a klienseket (de csak nyilvántartásnak használom), és az nem a klienshez tartozik, hanem a szerver oldali peer konfiguráció. Nem is jó private key van ott, csak felvette szerintem.

Köszi, kipróbálom a preshared key nélkül.

MikroTik alapú site-2-site WireGuard VPN-t használok. Minden előjel nélkül megállt a forgalom és csak annyit láttam a log-ban, hogy nem sikerül a handshake. Már minden beállítási lehetőséggel próbálkoztam, eltöltöttem vele fél napot legalább, mikor olvastam ezt az ötletet, hála és köszönet érte!!! Kliens port számát megnöveltem 1-gyel és azonnal helyreállt a kapcsolat. Ez csak Telekomnál fordul elő vagy általános probléma WireGuard VPN esetén? Szándékos a szolgáltató részéről vagy bug? Ha esetleg valaki tudja a választ, örülnék, mert ha ez egy visszatérő gond a Telekomnál - esetleg nem is véletlen -, akkor inkább visszaállok OpenVPN-re, az ugyan lassabb volt de még sosem hagyott cserben. Mióta WireGuard-ra váltottam március körül, kétszer is előfordult, hogy megszűnt a kapcsolat. Legutóbb szerintem azzal oldottam meg, hogy kínomban már a Telekom HGW-t is újraindítottam...

Nálam két hiba volt:

1. A mikrotik kiadott egy frissítést, amivel valami wireguard kérdés volt, de 1-2 napon belül javították. De ezért kezdtem el félrekonfigurálni. Benéztem a kulcsokat és rosszul másoltam őket. Copy paste hiba volt. - De nyilván mindenki a másik publikus kulcsát ismerheti.

2. MTU beállítás: Az interfészen az MTU nekem 1500 bájtra van állítva, abból 8 bájt lejön a PPPoE miatt, majd ebből még 80 a WireGuard miatt. (IPv6 esetén 80 bájt az overhead, IPv4 esetén 60 bájlt.). Ez 1412 bájt, ezt kellett beállítanom mindenkinél, és minden megmagyarázhatatlan hiba megjavult.

A wireguard hihetetlenül jól működik, nagyon elégedett vagyok vele.

A Telekomos kavarásokat nem ismerem, a Diginél szerencsére még nem volt probléma.

Szerkesztve: 2024. 03. 02., szo – 15:55

-

Nekem RC változatokhoz kapcsolódott a Windows-os ősi WG kliens. Igaz én pont azért próbáltam az RC-ket, mert nem kézzel hoztam létre a WG IF-et hanem pont az említett B2H-n keresztül, ráadásul a 14-estől több felhasználó támogatással. Valamint a kapott kliens konfigot átírtam, hogy ne menjen minden forgalom a WG irányába, valamint átírtam a címet, hogy ne használjon Mikrotikes NAT áthidaló szervert (serial.vpn.mynetname.net helyett csak serial.sn.mynetname.net)

milyen OS van a kliensen?

"The only valid measurement of code quality: WTFs/min"

Szerkesztve: 2024. 03. 03., v – 00:48

#worksforme
android es win11 kliens is
mondjuk nalam a wg a lan bridge-ben van kulon IP nelkul, de ez elvben irrelevans

/interface wireguard
add listen-port=X mtu=1420 name=wg1
/interface wireguard peers
add allowed-address=a.b.c.2/32 interface=wg1 public-key="pubkey1"
add allowed-address=a.b.c.3/32 interface=wg1 public-key="pubkey2"
add allowed-address=a.b.c.4/32 interface=wg1 public-key="pubkey3"

Flags: X - disabled; D - dynamic 
 0    interface=wg1 public-key="pubkey1" private-key="" endpoint-address="" endpoint-port=0 current-endpoint-address=x.y.z.q current-endpoint-port=Y allowed-address=a.b.c.2/32 preshared-key="" client-endpoint="" rx=150.3KiB tx=2424 last-handshake=33m25s

Esetleg fasttrack/hw offload kikapcsolása a tűzfalon, ha van ilyen rule-od?

a routerboardot is felhúztad az új verziójú firmware-re (system\routerboard -> upgrade)? láttam már 6.x-et 7.x-szel, és nem szerette

~ubuntu, raspbian, os x~

félig OFF:

OpenVPN-nel jártam úgy, hogy frissítés után azonos konfiggal nem ment, ott némi nyomozás után az derült ki, hogy az RSA-1024 kulcsokat az új verzió már insecure-nak minősíti. kulcsok cseréje hosszabbra megoldotta a dolgot.

Szerkesztve: 2024. 03. 03., v – 11:25

Ez jön a log-ban:

16 input: in:lo out:(unknown 0), connection-state:new proto UDP, 127.0.0.1:13231->127.0.0.1:0, len 176
wireguard: wireguard1: ThGqSH6ka3HHoVWzJ+1Oqk6WDge3r03U2fm3d4vQikI=: Handshake for peer did not complete after 5 seconds, retrying (try 12)
wireguard: wireguard1: ThGqSH6ka3HHoVWzJ+1Oqk6WDge3r03U2fm3d4vQikI=: Sending handshake initiation to peer (0.0.0.0:0)
16 input: in:lo out:(unknown 0), connection-state:new proto UDP, 127.0.0.1:13231->127.0.0.1:0, len 176

 

A "16 input" kezdetű egy drop (a lezáró drop) a tűzfal szabályok között, és ezzel együtt megjelent egy lo interfész frissítéskor az interfészek között.

Ha engedélyezem a tűzfalban, akkor ez eltűnik, de továbbra sem megy a wireguard.

Lereseteltem a routert és ezek után sem megy.

ket dolgot kell eszrevegyel:

in:lo out:(unknown 0),
peer (0.0.0.0:0)
UDP, 127.0.0.1:13231->127.0.0.1:0

loopback interface fele/felol nehezen fog barmi kiepulni es a 0.0.0.0, mint peer also hangon is erdekes.

fentebb kuldtem mukodo peldat, probald ki, csak legyen a wg interface-nel private-key="XYZ" is.

lo meg azert van, mert exposed lett (eddig is volt, csak a feluleten nem lattad), lasd changelog. *) system - expose "lo" and "vrf" interfaces;

Hát ez zseniális. Látszólag most annyit csináltam, amit @cala írt lentebb, kihagyva a QR konfigurációt, kézzel szépen átküldözgettem  a kulcsokat, kitöröltem mindent, és felvettem csak annyit, amennyit Te és Cala is írt, és most van egy működő VPN kapcsolatom...

/interface/wireguard> print
Flags: X - disabled; R - running
 0  R name="wg1" mtu=1420 listen-port=13231
      private-key="xxx"
      public-key="xxx"

/interface/wireguard> peers/
/interface/wireguard/peers> print
Columns: INTERFACE, PUBLIC-KEY, ENDPOINT-PORT, ALLOWED-ADDRESS, PERSISTENT-KEEPALIVE
# INTERFACE  PUBLIC-KEY                                    ENDPOINT-PORT  ALLOWED-ADDRESS  PERSISTENT-KEEPALIVE
0 wg1        xxx                                           0              192.168.5.10/32  20s                 

A kliensben is csak annyi van beállítva, ami kell.

Hogy mit rontottam el eddig azt nem tudom. Valami kavarodás lehetett az upgrade-el, én routert reseteltem, és utána már én rontottam el valamit.

Szerkesztve: 2024. 03. 03., v – 12:35

Ha site-to site két mikrotik közt, akkor peereknél mindkét oldalon public key -t másold be újra, private key 'none' nyomj egy ok-t. Nekem így megy most.

Neked is voltak vele problémák?

Nekem külsős eszközök <-> home router közötti VPN, nem két mikrotik közötti. Megpróbálom ezt még egyszer, de szerintem már csináltam. (sőt telejesen újra felvettem az egészet, leresetelt config mellett).

Amit furcsálok, hogy 7.14-es upgrade után romlott el, 7.13.5-ös RouterOS-el működött minden előtte is, és downgrade-elés után is. Ezen felbúzdulva megint upgrade-eltem, és azóta küzdök. Szerintem itt valami bug lesz, vagy olyan változás volt, ami nem kompatibilis az előző beállításaimmal. (de nem látok semmi extrát)

Most már abban is gondolkodom, hogy nem Mikrotik-kal oldom meg.

Szerkesztve: 2024. 03. 03., v – 14:09

Azt, hogy miért nem ment a Wireguard a 7.14-es upgrade után rögtön: fogalmam sincs,

Utána mit rontottam el: router resetelés után felvettem egy új wireguard interfészt a routerben, és nem update-eltem a szerver privát kulcsát a wireguard-ui-ban. Most már qr kóddal is működik.

Köszi szépen mindenkinek a segítséget.

De megvan a korábbi dump, összehasonlítottam most.

Ahogy a fent is írtam a konfigom, a peer-eknél is volt nekem privát kulcs, nem tudom, hogy miért. Most nincs.

A KID control be volt kapcsolva korábban -> nem használom, kikapcsolva hagyom.

Most van egy ilyenem, nem is tudom, ez mi: /ip firewall connection tracking set udp-timeout=10s

Egy NAT szabály most hiányzik, ami nem is kell már, plexxel kapcsolatos.

Érdekesség: Még egy dolog változott reset után a működésben: eddig nem mutatta a change list-et upgrade-eléskor, most látszik az is. :D Nem tudom, hogy miért volt nekem üres eddig az a lista.

szoval egy valag dolog valtozott including firewall :D

Most van egy ilyenem, nem is tudom, ez mi: /ip firewall connection tracking set udp-timeout=10s > changelog... *) firewall - increased default "udp-timeout" value from 10s to 30s; ha upgrade volt, beteszi a regi defaultot (jogosan, ne valtozzek)
KID control > utemezett firewall mac alapon... (gyerekzar a Zinternetre)

Hát igen, csak kérdés, hogy ezek miben befolyásolták a wireguard-ot. Egy sima upgrade-nek indult.

Nem az első eset egyébként, hogy furcsaságokat tapasztalok routeros alatt, ami update-tel jön, és update-tel megy (vagy resettel). De az tény, hogy nem is értek hozzá annyira, amennyire szeretnék, de ez minden körrel javul egy kicsit. + ha nem kell egy fél évig hozzányúlni, akkor el is felejtek "apróságokat". :)

kb 1 éve tplink switch-ekre mutatta rosszul, hogy hova vannak bedugva, valami teljesen lehetetlen dolgot mutatott. Egy update oldotta meg, ha jól emlékszem.

Volt problémám egy kontakthibás csatlakozóval is (furcsaságok történtek akkor is), ott le kellett vágni a régi ethernet csatlakozót, és újra kellett szerelni.

Előtte meg a capsman-nel szívtam, de azzal sokat. Amikor a régi mikrotik routerement "upgrade"-eltem az ax3-ra, akkor meg azon lepődtem meg, hogy az új capsman nem kompatibilis a régivel. Unifi lett a vége, amivel nagyon jól működik a roaming is.

De ettől még elég jó router, előbb-jutóbb minden működik. :D És gyakran derül ki (vagy ki sem derül), hogy én vagyok a hülye, és én nézek be valamit. :)

Köszi még egyszer a segítséget.

A nem látszó change list winbox hiba szokott lenni. (már, ha nem webfig-et használsz, akkor passz)

Megjelenitési gond volt, ha átméretezted kicsit az upgrade MDI ablakot, akkor megjelent a szöveg.

De azóta javitották már valamelyik winbox upgrade-ben. (érdemes azt is upgradelgetni, ill. ma már van 64 bites változata is)

Túl hosszú ez a changelog, hanyagolni fogom pár hónapig.

nem, de majd par honap alatt hozzacsapnak meg 245-ot, az mar jo lesz! :)
amugy tenyleg szarul sikerult, tobbek kozt xcp alatt nincsenek meg a halokartyak CHR-en :D szerencsere ott van snapshot/rollback, fizikai eszkoznel picit macerasabb, ha elbarmolodik valami :)

fyi:

What's new in 7.14.1 (2024-Mar-08 14:50):

*) wireguard - do not attempt to connect to peer without specified endpoint-address;