我有一些在 Amazon VPC 中运行的 Ubuntu 14.04 机器。当它们启动时,它们的 MTU 为 9001,但这在与 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 恢复。
那么正确的方法是什么?
Ran Rubinstein 通过这个ubuntu 论坛帖子让我走上了正轨。
MTU 由 DHCP 设置,但我们可以通过对 /etc/dhcp/dhclient.conf 进行一些更改来覆盖它 - 这是我的外观
添加这些行后,我重新启动机器进行仔细检查,它得出的 MTU 为 1500
这个讨论:http : //ubuntuforums.org/showthread.php?t=1284176 意味着当你有“auto eth0”时,mtu 是由 dhcp 服务器设置的,不能在 eth0.cfg 中被覆盖。他们在那里有一些建议,但我只是在 /etc/rc.local 中设置了 mtu
编辑:这个错误https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1317811似乎涵盖了这个问题。为防止网络错误,您还需要运行以下命令:
sudo ethtool -K eth0 sg off
否则您将继续遇到错误。