I think we probably need more details about your setup. Try stopping the freeradius server, and then start it in debug mode like this :
freeradius -X
The output will probably help you : if you need more help, please post the relevant debug output when a user tries to login and fails.
Here are a few wild guesses:
- there might be a bug in your NAS (have you tried other NASes, or just testing with radclient ?)
- if you have accounting setup, and Simultaneous-Use limited to 1, for example, then sometimes STOP accounting packets can be lost (the RADIUS protocol is based on UDP, which is not guaranteed delivery) and the server thinks that the user is already connected the next time he tries to login. Rebooting the NAS might trigger a reboot flag which resets the sessions on the server and allows logins again.
- maybe your NAS has a dynamic IP address, and depending on its IP address, it is recognized by the server, or not.
I need more info to help you out.