I can play on public servers easily, I can connect to other dedicated servers easily, I can run a dedicated server on my home network and it appears on the public list and works correctly, other people can join it.
However, I cannot join my own dedicated server, it just times out and fails to connect.
My server is running on port 25500-25004 , these ports are forwarded from my router to the server for TCP+UDP. Using wireshark, I can see that when my client tries to connect to the server, my client uses the same numbers for the source ports, so it looks like that when the dedicated server responds to my client's connection request, because the port number is the same as the forwarded ones, the traffic gets sent back to the server instead of my game.