Постоянно устанавливать MTU на машине с Ubuntu 14.04 в Amazon VPC
У меня есть несколько машин Ubuntu 14.04, работающих в Amazon VPC. Когда они запускаются, они имеют 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.
Итак, как правильно это сделать?
2 ответа
Ран Рубинштейн сделал меня на правильном пути с этой веткой форума 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
Это обсуждение: http://ubuntuforums.org/showthread.php?t=1284176 подразумевает, что когда у вас 'auto eth0', mtu устанавливается сервером dhcp и не может быть переопределен в eth0.cfg. У них есть некоторые предложения, но я просто установил mtu в /etc/rc.local
Изменить: Эта ошибка https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1317811 кажется, охватывает эту проблему. Чтобы предотвратить сетевые ошибки, вам также нужно выполнить команду:
sudo ethtool -K eth0 sg off
Или вы будете продолжать иметь ошибки.