Как получить максимально поддерживаемый размер MTU для интерфейса?

если бы мне приходилось делать это очень часто, Я бы написал вот такой небольшой bash-скрипт:

#!/bin/bash

echo "select symlink"
read -e -r symlink
echo "select directory"
read -e -r dir

var=$(echo "$dir" | sed 's/\///g')

rm "$symlink"
mv "$dir" "$symlink"
ln -s "$symlink" "$var"

Команда sedудаляет /, который добавляется при использовании автозаполнения -для ввода.
Обратите внимание,:это удалит их все, даже если вы выберете дерево каталогов.

Вы можете сказать sed, чтобы он совпадал только с концом строки :sed 's/\/*$//g'

2
14.11.2019, 09:51
1 ответ

вы можете отправить определенный размер mtu с помощьюping

ping -M do -s <mtu-size> <ip-address>

<ip-address>— локальный IP-адрес интерфейса, который вы хотите проверить.

Обратите внимание, что при использовании этого метода в качестве заголовка используются дополнительные 28 байтов.

Просто продолжайте увеличивать размер mtu (в команде ping), пока не получите ошибку Message too longили что-то подобное.

Текущие настройки MTU и IP:

[root@centos7 ~]# ip l  | grep ens37 | awk '{print $4,$5}'
mtu 1500
[root@dev-worker1 ~]# ip addr show ens37 | grep "inet " | awk '{print $2}'
10.10.10.10/24

отправка пакета, превышающего текущее значение MTU, но все же принятого:

[root@centos7 ~]#  ping -M do -s 8972 10.10.10.10
PING 10.10.10.10 (10.10.10.10) 8972(9000) bytes of data.
8980 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.103 ms
8980 bytes from 10.10.10.10: icmp_seq=2 ttl=64 time=0.067 ms

Отправка слишком большого значения. Некоторые дистрибутивы могут сказать вам максимум с помощью этого метода. Например, Centos7:

[root@centos7 ~]#  ping -M do -s 118972 10.10.10.10
Error: packet size 118972 is too large. Maximum is 65507

После этого вы можете установить его на максимум, если хотите, используяip link

ip link set <interface name> mtu <mtu value>

редактировать:

  • Уточнено, что я имею в виду проверку связи с локальным IP-адресом, и приведен пример.
  • Я не уверен, что некоторые дистрибутивы будут выводить фактическое ограничение, поскольку интерфейсы моей тестовой среды имеют максимальные возможности 65535 байт.
3
27.01.2020, 22:16

Теги

Похожие вопросы