🧵 Диагностика странных зависаний сетевых соединений: "всё пингуется, но не работает"
💥 Бывает, что ping идёт, но ssh, curl или apt зависают. Проблема может быть в MTU / фрагментации пакетов.
🔍 Проверка: запусти ping с флагами "do not fragment" и максимальным размером пакета:
Если видишь Frag needed and DF set, MTU слишком большой. Уменьшай -s, пока не дойдёт.
🧠 Пример:
* 1472 + 28 (заголовки IP+ICMP) = 1500 — стандартный MTU
* если пакет не проходит, а проходит только при -s 1392, значит MTU на пути — 1420 (возможно, GRE/IPsec/WireGuard)
🔧 Решение — задай правильный MTU на интерфейсе (или wg):
Для WireGuard:
[Interface]
MTU = 1420
Или временно:
sudo wg set wg0 mtu 1420
💡 Когда применять:
– нестабильный VPN
– apt/ssh/rsync "зависает"
– TCP-соединения обрываются при загрузке больших данных
– странное поведение в Docker/K8s с overlay-сетями
Проверка MTU — обязательный шаг в нетипичной сетевой отладке.
Сохрани, пригодится.
👉 @channel_linux_admin
💥 Бывает, что ping идёт, но ssh, curl или apt зависают. Проблема может быть в MTU / фрагментации пакетов.
🔍 Проверка: запусти ping с флагами "do not fragment" и максимальным размером пакета:
ping -M do -s 1472 <IP>Если видишь Frag needed and DF set, MTU слишком большой. Уменьшай -s, пока не дойдёт.
🧠 Пример:
* 1472 + 28 (заголовки IP+ICMP) = 1500 — стандартный MTU
* если пакет не проходит, а проходит только при -s 1392, значит MTU на пути — 1420 (возможно, GRE/IPsec/WireGuard)
🔧 Решение — задай правильный MTU на интерфейсе (или wg):
sudo ip link set dev eth0 mtu 1420Для WireGuard:
[Interface]
MTU = 1420
Или временно:
sudo wg set wg0 mtu 1420
💡 Когда применять:
– нестабильный VPN
– apt/ssh/rsync "зависает"
– TCP-соединения обрываются при загрузке больших данных
– странное поведение в Docker/K8s с overlay-сетями
Проверка MTU — обязательный шаг в нетипичной сетевой отладке.
Сохрани, пригодится.
👉 @channel_linux_admin