Samba: remote Win XP and Mac OS X machines can no longer mount shares
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
samba (Ubuntu) |
Invalid
|
Medium
|
Unassigned |
Bug Description
Binary package hint: samba
Distro: Ubuntu Lucid Alpha 3
Package: samba 2:3.4.5~
I've been holding off on reporting this as a bug for several days, but simply am not able to make any more progress. Previously we were running Samba 3.0.2 on a Debian machine behind a firewall which redirects Port 445 traffic to the samba (PDC) server. Authenticated Win XP, Mac OS X, and linux users outside the firewall were all able to mount CIFS shares from the samba server.
Recently I upgraded to Lucid/Samba 3.4.5. Nothing else was changed, and the smb.conf is roughly the same as before. (Let me note that I went through the package maintainer's smb.conf file with a fine-toothed comb, read the smb.conf man page completely twice, and ran testparm to make sure everything in the smb.conf file was OK.) Everything inside the firewall works as before. From outside, Win XP and Mac OS X users are no longer able to mount shares; *however* linux hosts have no problems. Using Wireshark, I did a packet trace of an unsuccessful mount attempt from a Win XP machine outside the firewall to and from the Samba server and a successful mount on a linux machine outside the firewall. The .pcap files are attached.
As far as I can tell, the Samba server is simply not responding to the Win XP TCP SYN request, but is responding to the linux machines TCP SYN request. The Wireshark packet summary differences are listed below. The server IP address is 216.110.51.120:
From Windows XP:
192.168.1.64 216.110.51.120 TCP 4617 > microsoft-ds [SYN] Seq=0 Win=65535 Len=0 MSS=1360
(server never responds to this)
From linux:
128.83.133.100 216.110.51.120 TCP 42098 > microsoft-ds [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=347894238 TSER=0 WS=7
(server immediately responds to this)
Let me note again that we never had any problems with Samba 3.0.2, same Win XP/Mac OS X clients. I'm not including the smb.conf file, because I assume this information is irrelevant: everything works on the local network and for linux hosts being redirected through the firewall. Unfortunately, all the actual users have Win XP and/or Mac OS X machines, hence: problem.
Looks like a networking issue more than a samba issue... as samba is probably not involved in deciding to ACK a specific SYN packet or not. One difference between your Windows XP and your Linux hosts is the IP address (192.168.1.64 in one case, 128.83.133.100 in the other): are both of those networks routable from 216.110.51.120 ? If yes, could you place a Linux system in that 192.168.1.0/24 network and reproduce the trace ?
AFAICT it looks like the Lucid server TCP queue considers the 192.168.1.64 packet a martian and just discards it. Anything in your kernel logs ? Do other TCP-based services on that Lucid host succeed in talking with the Windows XP host ?