Windows Networking, or SMB, or samba or CIFS as you can call it has
great problems with being NATed. I have never gone into details, but
using it from behind NATing routers has never really worked for
anyone I know tried to.
I'd suggest an other solution. I assume you NAT because the client
machines you talk about have private IP-adresses. If this is in
fact true you should change the network so that all your on campus
routers know how to route to that private network, and NAT only
those connections going off-campus.
This gives you internally one IP address per computer and externally
only one visible IP address. My university handles the computer
pools like this (well, actually no NAT, only proxies) and I think
it's the right way to handle it.