MTU Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:mtu [2013/10/04 17:29]
[Настройка MTU в параметрах сетевого подключения]
wiki:mtu [2016/05/16 13:37] (текущий)
Строка 1: Строка 1:
 ====== MTU ====== ====== MTU ======
 +
 В компьютерных сетях термин maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета , который может быть передан протоколом без фрагментации. В компьютерных сетях термин maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета , который может быть передан протоколом без фрагментации.
  
Строка 6: Строка 7:
 ===== MTU Discovery Black Hole ===== ===== MTU Discovery Black Hole =====
  
-Проблема представляет потенциальную опасность для любого PPPoE соединения,​ использующего MTU меньше типового (1500 байт). +Из-за блокирования сетевым оборудованием части служебного трафика может быть нарушена работа технологии PMTUD, которая используется для автоматического определения MTU между узлами сети. 
-Чаще всего проблема ​проявляется в том, что часть сайтов не заргужается.+Проблема представляет потенциальную опасность для любого PPPoE соединения,​ использующего MTU меньше типового (1500 байт). ​Нередко проявляется в том, что часть сайтов не загружается.
  
 Существует несколько вариантов решения этой проблемы. Существует несколько вариантов решения этой проблемы.
 +
 ==== Отмена фильтрации пакетов ICMP ==== ==== Отмена фильтрации пакетов ICMP ====
  
 Отмена фильтрации пакетов ICMP является самым простым способом,​ однако зачастую подобная операция находится вне компетенции пользователя. Отмена фильтрации пакетов ICMP является самым простым способом,​ однако зачастую подобная операция находится вне компетенции пользователя.
  
-==== Настройка размера передаваемого пакета средствами iptables ====+==== Динамическая настройка размера передаваемого пакета средствами iptables ====
  
-Для настройки размера передаваемого пакета на шлюзе пользователя средствами iptables меняют значение MSS (максимальный размер сегмента,​ то есть величина,​ меньшая MTU на 40 байт в случае протокола IPv4).+Для настройки размера передаваемого пакета на шлюзе пользователя средствами ​[[iptables]] меняют значение MSS (максимальный размер сегмента,​ то есть величина,​ меньшая MTU на 40 байт в случае протокола IPv4).
  
-Редактируем правила iptables:+Создаём скрипт с дампом правил iptables:
  
 <code bash>​sudo nano /​etc/​network/​if-up.d/​iptables-rules</​code>​ <code bash>​sudo nano /​etc/​network/​if-up.d/​iptables-rules</​code>​
  
-Копируем следующий код:+Копируем следующий код ​и подставляем имя внешнего сетевого интерфейса:
  
-<​code>#​!/​sbin/​iptables-restore +<​code ​bash>#​!/​sbin/​iptables-restore
-# <​inet_if>​ - подставить имя внешнего интерфейса+
 *mangle *mangle
 :FORWARD ACCEPT [0:0] :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0]
--A FORWARD -o <​inet_if> ​-p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu +-A FORWARD -o внешний_сетевой_интерфейс ​-p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu 
--A OUTPUT -o <​inet_if> ​-p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu+-A OUTPUT -o внешний_сетевой_интерфейс ​-p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu
 COMMIT</​code>​ COMMIT</​code>​
  
 Сохраняем и закрываем:​ <​key>​Ctrl</​key>​+<​key>​O</​key>,​ <​key>​Enter</​key>,​ <​key>​Ctrl</​key>​+<​key>​X</​key>​ Сохраняем и закрываем:​ <​key>​Ctrl</​key>​+<​key>​O</​key>,​ <​key>​Enter</​key>,​ <​key>​Ctrl</​key>​+<​key>​X</​key>​
  
-Делаем скрипт исполняемым:​+Делаем скрипт исполняемым ​и загружаем правила iptables:
  
-<code bash>​sudo chmod +x /​etc/​network/​if-up.d/​iptables-rules</​code>​ +<code bash>​sudo chmod +x /​etc/​network/​if-up.d/​iptables-rules 
- +sudo /​etc/​network/​if-up.d/​iptables-rules</​code>​
-Загружаем правила iptables: +
- +
-<code bash>sudo iptables-restore ​/​etc/​network/​if-up.d/​iptables-rules</​code>​+
  
 ==== Статическая настройка MTU в параметрах сетевого подключения ==== ==== Статическая настройка MTU в параметрах сетевого подключения ====
  
-Для ручной настройки MTU необходимо подобрать максимальный размер MTU, для которого не будет выводиться сообщение "Frag needed and DF set", записать это значение в параметры текущего сетевого подключения и переустановить соединение. +Для ручной настройки MTU необходимо подобрать максимальный размер MTU, для которого не будет выводиться сообщение "Frag needed and DF set", записать это значение в [[manual:​подключение_к_интернету#​прямое_подключение_к_сети|параметры текущего сетевого подключения]] и переустановить соединение.
- +
-Для подбора можно воспользоваться следующей командой:​ +
- +
-<code bash>​ping -c 4 -M do -s 1500 ya.ru</​code>​ +
- +
-либо+
  
-<code bash>​tracepath ya.ru</​code>​+Для подбора можно воспользоваться следующими командами:​
  
-если он не блокируется.+<code bash>​ping -c 4 -M do -s 1500 ya.ru 
 +tracepath ya.ru</​code>​
  
 ===== Ссылки ===== ===== Ссылки =====
  
-  * [[https://​ru.wikipedia.org/​wiki/​Maximum_transmission_unit|Maximum transmission unit]]+  * [[wpru>Maximum transmission unit]]
   * [[http://​www.opennet.ru/​base/​net/​pppoe_mtu.txt.html|О PPPoE, MTU и проблеме Path MTU Discovery Black Hole]]   * [[http://​www.opennet.ru/​base/​net/​pppoe_mtu.txt.html|О PPPoE, MTU и проблеме Path MTU Discovery Black Hole]]
-  * [[http://​forum.ubuntu.ru/​index.php?​topic=99586.0|Автозагрузка правил iptables]]+  * [[http://​forum.ubuntu.ru/​index.php?​topic=230520.0|Обсуждение статьи]]
  
-{{tag>​mtu pmtud}}+{{tag>​mtu pmtud сеть}}