在 Amazon VPC 内的 Ubuntu 14.04 计算机上永久设置 MTU

在 Amazon VPC 内的 Ubuntu 14.04 计算机上永久设置 MTU

我在 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到该节的底部。

如果我重新启动,机器的 MTU 将恢复为 1500。

那么正确的方法是什么?

答案1

Ran Rubinstein 让我走上了正确的道路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;
supersede 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;

添加完这些行后,我重启了机器进行再次检查,发现 MTU 为 1500

答案2

本次讨论: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

否则您将继续遇到错误。

相关内容