could be an MTU issue: here's one method for troubleshooting that:
1) from the Windows client, verify that you can ping the Windows server using the IP address
ping <ip>
2) again, from the windows client, find the maximum MTU value:
ping -f -l 1472 <ip>
if these pings work , then you do not have an MTU issue; if these pings don't work (which I suspect), then lower the number 1472 to e.g. 1200 ; if that works, then increase it again until you find the optimal value. I'd use the following sequence for testing the MTU sizes:
1472 -> 1200 OK -> 1400 FAILS -> 1300 , 1400 OK -> 1440, 1300 OK -> 1340, 1300 FAILS > 1240
after you find the optimal MTU value, add the following lines to both client and server configs:
fragment <value>+28
mssfix
where <value> is the optimal payload MTU size.
if course, if 'ping -f -l 1472' works then it's NOT an MTU issue and we need to look elsewhere