[Samba] Samba kills network.

Tom Peters tpeters at mixcom.com
Thu Apr 5 21:15:33 GMT 2007


At 09:14 PM 4/5/2007 +0100, you wrote:
>When i try to swap files between disks on my server using samba i get 
>errors: then windows reports "The specified network name is no longer 
>available". Sometimes the copies are fine other times files just wont 
>copy. Hardware checks out fine. Ive even replaced the network cable 
>between server and switch thinking that might be causing the problem. Ive 
>included a ethereal cap of the network during one of these problems, and 
>my samba config as attachments the errors are as follows:
>
>Apr  5 20:41:53 Ghost smbd[27010]: [2007/04/05 20:41:53, 0] 
>lib/util_sock.c:get_peer_addr(1229)
>Apr  5 20:41:53 Ghost smbd[27010]:   getpeername failed. Error was 
>Transport endpoint is not connected
>
>Please Help im at a loss to what the problem is!
>
>
>[global]
>         getwd cache = yes
>         socket options = TCP_NODELAY SO_SNDBUF=65536 SO_RCVBUF=65536 
> IPTOS_LOWDELAY
>         use sendfile = no
>         lock spin time = 15
>         lock spin count = 30
>         map to guest = bad user
>         log level = 1
>         security = user
>         os level = 64
>         local master = Yes
>         time server = Yes
>         domain master = yes
>         preferred master = yes
>         wins support = yes
>         domain logons = yes
>         dos filetimes = Yes
>         workgroup = Family
>         netbios name = fileserver
>         server string = Samba Server %v
>         printcap name = cups
>         load printers = yes
>         printing = cups
>         printer admin = root @adm @is
>         log file = /var/log/samba/log.%m
>         max log size = 50
>         ;hosts allow = 192.168.1.0/24 127.0.0.1
>         interfaces = eth1 lo
>         bind interfaces only = yes
>         encrypt passwords = yes
>         smb passwd file = /etc/samba/smbpasswd
>         add user script = /usr/sbin/useradd -d /dev/null -g machines -c 
> 'Machine Account' -s /bin/false -M %u
>         wins proxy = yes
>         dns proxy = no
>         logon path =
>         logon drive = U:
>         logon script = %U.bat
>         oplocks = no
>         level2 oplocks = no
>         change notify timeout = 300
>         lpq cache time = 30
>         winbind uid = 10000-20000
>         winbind gid = 10000-20000
>         winbind separator = +
>         oplocks = no
>         level2 oplocks = no
>;       deadtime = 60
>         wins proxy = yes
>         lpq cache time = 30
>         change notify timeout = 300
>         getwd cache = yes
>         dos filetimes = yes
>         domain logons = yes
>         obey pam restrictions = yes
>         unix password sync = Yes
>         pam password change = yes
>         passwd program = /usr/bin/passwd %u
>         passwd chat = *New*UNIX*password* %n\n *Re*ype*new*UNIX*password* 
> %n\n \
>         *passwd:*all*authentication*tokens*updated*successfully*
>         add user script = /usr/sbin/useradd -s /bin/false '%u'
>         delete user script = /usr/sbin/userdel '%s'
>         add user to group script = /usr/bin/gpasswd -a '%u' '%g'
>         delete user from group script = /usr/bin/gpasswd -d '%u' '%g'
>         set primary group script = /usr/sbin/usermod -g '%g' '%u'
>         add group script = /usr/sbin/groupadd %g && getent group '%g'|awk 
> -F: '{print $3}'
>         delete group script = /usr/sbin/groupdel '%g'
>         add machine script = /usr/sbin/useradd -d /dev/null -g machines 
> -c 'Machine Account' -s /bin/false -M %u
>[homes]
>         comment = Home Directories
>         browseable = no
>         writable = yes
>         oplocks = yes
>         level2 oplocks = yes
>;       use sendfile = yes
>;       preexec = echo "%u, %G, %a, %m (%I)\" >>/tmp/.log
>
>
>[netlogon]
>         comment = Network Logon Service
>         path = /var/lib/samba/netlogon
>         writable = no
>         read only = yes
>         guest ok = no
>         browseable = no
>         share modes = no
>         root preexec = /usr/bin/ntlogon -u %U -g %G -o %a -d 
> /var/lib/samba/netlogon/
>         root postexec = rm -f /var/lib/samba/netlogon/%U.bat
>
>
>[www]
>         use sendfile = yes
>         comment = Web Site
>         path = /var/www
>         writeable = yes
>         valid users = @adm
>         force group = apache
>         force user = root
>         create mask = 3754
>         directory mask = 3754
>         force create mode = 3754
>         force directory mode = 3754
>         oplocks = Yes
>         level2 oplocks = yes
>
>
>[logs]
>         comment = Server Log Files
>         path = /var/log
>         read only = yes
>         force group = root
>         force user = root
>         public = no
>         valid users = @adm
>
>[etc]
>         comment = Server ETC Files
>         path = /etc
>         read only = yes
>         force group = root
>         force user = root
>         public = no
>         valid users = @adm
>
>[Video's]
>         comment = Video's
>         path = /disks/sda
>         public = yes
>         only guest = yes
>         writable = yes
>         printable = no
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>[Games]
>         comment = Games
>         path = /disks/hde
>         public = yes
>         only guest = yes
>         writable = yes
>         printable = no
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>
>[Backups]
>         browseable = yes
>         writeable = yes
>         delete readonly = yes
>         invalid users = cathy,nick,linda
>         path = /disks/hdi
>         write list = administrator
>         force directory mode = 755
>         force create mode = 755
>         comment = Backups
>         valid users = administrator
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>[Admin Files]
>         browseable = yes
>         writeable = yes
>         delete readonly = yes
>         invalid users = cathy,nick,linda
>         path = /disks/hdk
>         write list = administrator
>         force directory mode = 755
>         force create mode = 755
>         comment = Admin Files
>         valid users = administrator
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>[Downloads]
>         browseable = yes
>         writeable = yes
>         delete readonly = yes
>         invalid users = cathy,nick,linda
>         path = /disks/sdb
>         write list = administrator
>         force directory mode = 755
>         force create mode = 755
>         comment = Downloads
>         valid users = administrator
>         oplocks = Yes
>         level2 oplocks = yes
>;       use sendfile = yes
>
>[Warez]
>         comment = Programs & Drivers
>         path = /disks/hdg
>         public = yes
>         only guest = yes
>         writable = yes
>         printable = no
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>[Music]
>         comment = Music
>         path = /disks/hdc
>         public = yes
>         only guest = yes
>         writable = yes
>         printable = no
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>
>[Games & Music & Videos]
>         comment = Games & Music & Videos
>         path = /disks/sdc
>         public = yes
>         only guest = yes
>         writable = yes
>         printable = no
>         oplocks = Yes
>         level2 oplocks = yes
>         use sendfile = yes
>--
>To unsubscribe from this list go to the following URL and read the
>instructions:  https://lists.samba.org/mailman/listinfo/samba

I have this problem all the time. Samba for me will cause the "The 
specified network name no longer exists" (that's how it's worded for me, 
not "available") and copy a zero-length file to the destination drive.

Reads from a Samba share are never any problem for me.

If you immediately retry the operation, and immediately say "Y" to 
overwrite it, it will succeed.

If you do the above for the first in a series of files to be copied to a 
Samba share, it will copy all the rest of them sucessfully.

The other thing that gives this error away is the "getpeername 
failed...  ...transport endpoint not connected. "

I thought I had this fixed, but after months, it has recurred. The fix I 
tried was this (in smb.conf):
smb ports = 139

The explanation I got was that Windows try to connect to a server over 
ports 443 and 139 nearly simultaneously, then use whichever one responds 
first. Samba replies to both, and it might be that Windows has already 
decided which it's going to use, and interprets the double reply as a failure.

Use sendfile = no has also been suggested to me.

Frankly, this is embarrassing, and has kept me from pushing Samba harder. 
When I ask about it, nobody seems to have a real answer.

-Tom



-----
595. [Science] Experience has shown that science frequently develops most
fruitfully once we learn to examine the things that seem the simplest,
instead of those that seem the most mysterious. --Marvin Minsky
--... ...--  -.. .  -. ----. --.- --.- -...
tpeters at nospam.mixcom.com   (remove "nospam") N9QQB (amateur radio)
"HEY YOU" (loud shouting)    WEB: http://www.mixweb.com/tpeters
43° 7' 17.2" N by 88° 6' 28.9" W,  Elevation 815',  Grid Square EN53wc
WAN/LAN/Telcom Analyst, Tech Writer, MCP, CCNA, Registered Linux User 385531




More information about the samba mailing list