TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4236 11.1K
Ранее я уже поднимал тему выбора размера MTU (maximum transmission unit) для VPN туннелей. Чаще всего об этом не нужно беспокоиться, принимая все параметры по умолчанию, но иногда бывают ситуации, и я с ними сталкивался, когда приходится разбираться из-за заметного уменьшения быстродействия туннеля без видимых причин.

Я вспомнил об этой теме, потому что столкнулся с реальным примером. У меня не возникло каких-то проблем с быстродействием, но получилось на практике посмотреть на эти настройки. Мне нужно было подключиться к старенькому PPTP туннелю. Клиентом выступал Mikrotik.

При создании PPTP интерфейса Mikrotik предлагает выбрать MTU 1450. Я немного погуглил, но не понял, а почему именно это значение ставить? Есть рекомендации сделать либо больше, либо меньше. Не понятно.

Взял под Windows утилиту mturoute. Это лучшее решение для быстрого определения MTU. Она отправляет нефрагментированные ICMP пакеты разного размера, определяя максимальный размер, который доходит до адресата. В настройках Mikrotik для начала указал MTU 1500, запустил туннель и выполнил проверку:

> mturoute 192.168.10.1
* ICMP Fragmentation is not permitted. *
* Speed optimization is enabled. *
* Maximum payload is 10000 bytes. *
- ICMP payload of 1472 bytes is too big.
+ ICMP payload of 92 bytes succeeded.
+ ICMP payload of 1299 bytes succeeded.
- ICMP payload of 1466 bytes is too big.
+ ICMP payload of 1463 bytes succeeded.
+ ICMP payload of 1464 bytes succeeded.
- ICMP payload of 1465 bytes is too big.
Path MTU: 1492 bytes.

В Linux можно использовать tracepath:

# tracepath 192.168.10.1
 1?: [LOCALHOST]           pmtu 1500
 1: ???                         0.586ms
 1: ???                         0.256ms
 2: 10.8.2.1                    5.685ms
 3: 10.8.0.3                    11.253ms
 4: 10.8.0.3                    14.199ms pmtu 1492
 4: 192.168.10.1                17.783ms reached
   Resume: pmtu 1492 hops 4 back 4

Обе утилиты показали максимальный размер пакета 1492. Его я и установил в настройках PPTP интерфейса. Если бы я оставил то, что предлагалось по умолчанию 1450, то проблемы бы тоже не было. Но теоретически, с 1492 скорость будет немного выше. А вот если поставить 1500, то наверняка будут проблемы, так как стандартные пакеты начнут дополнительно фрагментироваться.

Задался вопросом. А почему, собственно, рабочее MTU 1492? Ведь по идее PPTP уменьшает стандартный размер пакета как минимум на следующие заголовки: IPv4+TCP+GRE. То есть там как минимум будет уменьшение на 20+20+8 = 48 байт. MTU должно быть 1452. Дело тут скорее всего в том, PPTP для передачи данных использует отдельное соединение с помощью протокола GRE. Сначала выполняется управляющее подключение по TCP порту 1723. А потом данные передаются по отдельному GRE соединению. Если верить калькулятору, то GRE с ключом как раз забирает для своих заголовков 8 байт и MTU будет 1492.

Данный вопрос 100% актуален, если у вас используется PPPoE соединение с интернетом, а поверх него VPN туннель. Там точно нужно будет делать поправку на PPPoE. У меня есть одна точка с таким соединением. Без VPN mturoute показывает MTU 1480.

Надеюсь вам эта информация будет полезна и где-то пригодится. Писал больше для себя, чтобы разобраться. Тема с MTU сложная. Нужно хорошо понимать, как вообще устроена передача данных, из чего состоят пакеты, как передаются, фрагментируются и т.д. Я в отдельности всё это изучал, но без практики информация быстро забывается.

Написав текст, я лучше запоминаю и всегда могу к нему вернуться, если понадобится. Главное, не забыть, что об этом уже писал и разбирался 😁 Не всегда удаётся. Успокаивает то, что это не только для меня проблема. Читал недавно статью на сайте, где автор в комментариях написал, что вышел на свою статью через google. Тупо забыл, что уже сталкивался и писал об этом. У меня так тоже не раз бывало.

☝️Из этой заметки стоит сохранить на память как минимум:

◽️Visual packet size calculator, пример расчёта
◽️mturoute.exe
◽️Чем отличаются утилиты traceroute, tracert и tracepath?

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#network
  • 👍 260
  • 👎 3
More from @srv_admin
  1. Oct 12, 2026Вот мы и вступили в новую реальность, когда стали пропадать датацентры целиком, что повлек…
  2. Oct 12, 2026💻Практический вебинар «СТРАТЕГИЯ РЕЗЕРВНОГО КОПИРОВАНИЯ» 📹 15 октября в 11:00 Мск за 90…
  3. Oct 10, 2026Когда я работал в одной небедной компании, там регулярно обновляли парк оборудования, а ст…
  4. Oct 9, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  5. Oct 9, 2026Астра Мониторинг впустил ИИ-агентов в системы мониторинга заказчика И приглашает вас увиде…
  6. Oct 9, 2026В пятницу расскажу про один сервис, который не имеет отношения к теме канала, но который м…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →