Як встановити мережевий міст, щоб МТУ склав 9000?


10

Мені доводиться використовувати гігабітні мережеві інтерфейси, які я з'єднав.

/ і т.д. / мережа / інтерфейси:

 auto lo
 iface lo inet loopback

# Set up interfaces manually, avoiding conflicts with, e.g., network manager
 iface eth0 inet manual

 iface eth1 inet manual

 # Bridge setup
 auto br0
 iface br0 inet static
    bridge_ports eth0 eth1
    address 192.168.88.2
    broadcast 192.168.88.255
    netmask 255.255.255.0
    gateway 192.168.88.254
    dns-nameservers 192.168.88.254

Але MTU всього 1500

myth@myth:~$ traceroute --mtu 192.168.88.1
traceroute to 192.168.88.1 (192.168.88.1), 30 hops max, 65000 byte packets
 1  RoboStation.local (192.168.88.1)  0.278 ms F=1500  0.279 ms  0.287 ms

Якщо я запускаю такі команди:

myth@myth:~$ sudo ifconfig eth0 mtu 9000
myth@myth:~$ sudo ifconfig eth1 mtu 9000
myth@myth:~$ traceroute --mtu 192.168.88.1

traceroute to 192.168.88.1 (192.168.88.1), 30 hops max, 65000 byte packets
 1  RoboStation.local (192.168.88.1)  0.407 ms F=9000  0.422 ms  0.383 ms

Зараз у мене є 9000 MTU, і передача в мій NAS набагато швидша

Але я подумав, що я просто зроблю це у файлі / etc / network / interfaces:

 auto lo
 iface lo inet loopback

 # Set up interfaces manually, avoiding conflicts with, e.g., network manager
 iface eth0 inet manual
    mtu 9000

 iface eth1 inet manual
    mtu 9000

 # Bridge setup
 auto br0
 iface br0 inet static
    bridge_ports eth0 eth1
    address 192.168.88.2
    broadcast 192.168.88.255
    netmask 255.255.255.0
    gateway 192.168.88.254
    dns-nameservers 192.168.88.254
    mtu 9000

Але мережа просто не з'являється під час завантаження

Я видалив mtu 9000розділ br0 і завантажився ПК із мережею, але ця мережа залишається 9000

Як встановити MTU на 9000 для eth0 та eth1 під час завантаження, щоб міст працював у 9000?

Чи існує спосіб перевірити / etc / network / interface без постійного перезавантаження?

Відповіді:


9

Схоже, mtuопція недоступна при використанні manualметоду (див. interfaces(5)). Отже, ось що має працювати (включаючи відгуки з коментарів):

auto lo
iface lo inet loopback

# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual
   # nothing here

iface eth1 inet manual
   # nothing here

# Bridge setup
auto br0
iface br0 inet static
   bridge_ports eth0 eth1
   address 192.168.88.2
   ...
   post-up ifconfig eth0 mtu 9000 && ifconfig eth1 mtu 9000

Використовуючи up(або в цьому випадку post-up) опцію, ми можемо вказати нашу власну команду, яку слід виконувати протягом (після) часу, коли інтерфейс виведений.


1
Міст сам, здається, бере найменший MTU з набору розміщених пристроїв і використовує це. MTU на br0 у файлі інтерфейсів спричиняє запуск мережі при завантаженні.
RoboJ1M

Однак мені вдалося вирішити це вчора ввечері, використовуючи майже саме це рішення. Я додав: post-up ifconfig eth0 mtu 9000в кінці розділу br0, двічі, і для eth0, і eth1.
RoboJ1M

@ RoboJ1M Дякую, я оновив свою відповідь.
gertvdijk

якщо у вас немає ifconfig, використовуйте ip-посилання:post-up ip link set dev eth0 mtu 9000
Джонатан С. Фішер

Моє враження (я, можливо, помиляюся) полягає в тому, що mtuпараметр повинен підтримуватися у manualметоді (звичайно, сторінка man на 14.04 не підказує, що це не так) і що проблема, ймовірно, більше пов'язана з цією помилкою (див. Коментар # 4 зокрема). Цілком ймовірно, що це зафіксовано в 16.04 як побічний продукт
системної
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.