Samba: mount error 113 = No route to host
Posted: Wed Oct 13, 2010 2:44 pm
[PROBLEM]
After changing the IP address of a Windows "server" 2003 from "192.168.0.100" to "192.168.1.100".
From that moment on, I was unable to mount it anymore, getting the error:
The result confirmed the correct, new IP address (censored here)
...works fine!
WTF?
[SOLUTION]
I'm suspecting, that a simple reboot of both computers will fix the problem, but very often you can't just reboot a server because you feel like it, so I had to dig into this.
I haven't solved it yet, but it seems that some part of the Samba communication returns the old IP (I guess it's the Windows "server" still clinging onto it), because tcpdump shows communication between the Linux and the Windows machine (so they *do* talk to each other), but suddenly spits out ARP lookup requests:
After changing the IP address of a Windows "server" 2003 from "192.168.0.100" to "192.168.1.100".
From that moment on, I was unable to mount it anymore, getting the error:
The Windows "server" has multiple network interfaces (NIC) and multiple IPs, so I checked that the name "storage" was resolved to the right IP, by running verbose mount:mount error 113 = No route to host
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
Code: Select all
mount -v /mnt/storage
On my linux server, I've verified routing, IP-configuration, etc - and even pinged the exact same (copy/paste) IP address, mount.cifs claimed to use in the above message:mount.cifs kernel mount options: unc=//storage\Part1,ip=192.168.1.100,ver=1,rw,noexec,nosuid,nodev,noauto,username=videorw,uid=33,gid=33,prefixpath=Video,pass=********mount error 113 = No route to host
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
Code: Select all
ping 192.168.1.100
WTF?
[SOLUTION]
I'm suspecting, that a simple reboot of both computers will fix the problem, but very often you can't just reboot a server because you feel like it, so I had to dig into this.
I haven't solved it yet, but it seems that some part of the Samba communication returns the old IP (I guess it's the Windows "server" still clinging onto it), because tcpdump shows communication between the Linux and the Windows machine (so they *do* talk to each other), but suddenly spits out ARP lookup requests:
(where "host.local" is the linux server)[...]
14:07:15.023448 IP 192.168.1.100.Microsoft-ds > host.local.37563: F 950:950(0) ack 976 win 64561 <nop,nop,timestamp 12211124 42171341>
14:07:15.023466 IP host.local.37563 > 192.168.1.100.Microsoft-ds: . ack 951 win 125 <nop,nop,timestamp 42171341 12211124>
14:07:15.895642 arp who-has 192.168.0.100 tell host.local
14:07:16.895396 arp who-has 192.168.0.100 tell host.local
14:07:17.899544 arp who-has 192.168.0.100 tell host.local
14:07:18.900163 arp who-has 192.168.0.100 tell host.local
14:07:19.899403 arp who-has 192.168.0.100 tell host.local
14:07:20.904149 arp who-has 192.168.0.100 tell host.local
14:07:21.903406 arp who-has 192.168.0.100 tell host.local
14:07:22.903354 arp who-has 192.168.0.100 tell host.local