Hello, a few days ago, I configured my Mikrotik router with Wireguard to act as a server for some of my devices. I then installed Wireguard on two Android phones, using the parameters that are automatically proposed when generating the Peer on the router (I just had to add the Endpoint) and they both work perfectly. Since I don’t need to use them at the same time, I only have one peer on the router and I always access that one. So far, so good.
I then installed wireguard on linux (Fedora XFCE 39) and performed the same steps as on phones: it doesn’t work! What I see is that the “Handshake Initiation” packet exits the linux box, arrives in the router and passes the firewall (accept). At this point it vanishes. Unlike what happens when connecting from the phone, nothing appears on the wireguard interface and I don’t have any error messages, logs or anything else. I checked all the parameters dozens of times and I don’t see any errors.
One strange fact is that, given that on the router I can see both the private and public keys for the peer, I tried to have Linux generate the public key, starting from the same private one (wg pubkey public) and it generates a totally different key compared to the one the router provided:
1dyIGxarO5faR9r+XQ33qp/f6Ykn6PsiTEL2aH5CPCk= is the one from mikrotik, TpPPXH1qSGF8tgP7k3sxW6sKoQO1+IcGxbs30vd2QkA= is the one that generated by linux.
I also installed a new Fedora 39 XFCE Linux box: same behavior!
At this point I suspect that they use a different coding system (possible???) and I am lost.
Suggestions?