I recently discovered a Windows 7 client that couldn't connect to one of our servers. It turned out the problem was both that the server was set for an MTU of 1514 and that the client was set to 1504.
The server runs CentOS and grep -i MTU /etc/sysconfig/network-scripts/ifcfg*
shows nothing. The non-public interface eth1
was still 1500. None of our other machines on the server side have anything other than 1500 for an MTU.
On the client side, there was one other Windows 7 machine in the mix that also had 1504. Taking these machines off-site caused them to work again (but I don't know if that was in spite of the bad MTU, or if the new location caused Windows to select a valid one), but failed once brought back.
What would have caused these two Windows machines to have this non-standard MTU setting? How does Windows determine MTU settings?
Why would
eth0
have had an MTU setting of 1514? How does Linux determine MTU settings?Should I hard-code
MTU=1500
into all myifcfg
files from now on for fear that something else will bump it higher? What would override the default of 1500?