在Amazon VPC的Ubuntu 14.04机器上永久设置MTU

我有一些在Amazon VPC上运行的Ubuntu 14.04机器。 当他们启动时,他们有一个9001的MTU,但是当与其他MTU为1500的服务器通信时,这似乎会导致一些问题。当我使用ip link set dev eth0 mtu 1500这些问题就消失了。

问题是,我似乎无法击中正确的方式来使这永久。

/etc/network/interfaces.d/eth0.cfg看起来像这样

 auto eth0 iface eth0 inet dhcp pre-up /sbin/ip link set dev eth0 mtu 1500 

我也曾尝试将mtu 1500添加到该节的底部。

如果我重新启动,机器将返回1500的MTU。

那么做这件事的正确方法是什么?

冉·鲁宾斯坦让我在这个Ubuntu的论坛主题正确的轨道上。

MTU正在通过DHCP设置,但是我们可以通过对/etc/dhcp/dhclient.conf进行一些更改来覆盖它 – 这里是我的外观

 option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; send host-name = gethostname(); #added these two lines before the request line default interface-mtu 1500; supercede interface-mtu 1500; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.fqdn, dhcp6.sntp-servers; 

添加了这些行后,我重新启动了机器,仔细检查,结果是1500的MTU

这个讨论: http ://ubuntuforums.org/showthread.php?t=1284176意味着当你有'auto eth0'时,mtu由dhcp服务器设置,不能在eth0.cfg中被覆盖。 他们有一些build议,但我只是在/etc/rc.local中设置mtu

编辑:这个错误https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1317811似乎涵盖了这个问题。 为了防止networking错误,您还需要运行以下命令:

sudo ethtool -K eth0 sg off

或者你将继续有错误。