Назад | Перейти на главную страницу

Постоянная установка 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.

Итак, как правильно это сделать?

Ран Рубинштейн поставил меня на правильный путь с этим ветка форума 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

Или у вас по-прежнему будут ошибки.