It looks like you have the same issue as me when I'm on a shared network. My IP changes every few minutes, so I will end up getting NAT after playing for 20-30 minutes because my IP changed and the server is trying to establish the NAT connection with my old IP (in which you don't have to restart, just relog). After relogging the server knows the new IP and the issue is fixed until the IP changes again.