Рейтинг:0

Не удается передать данные из одной конкретной системы (проблема с MTU?)

флаг my

Резюме

Значение MTU по умолчанию запрещает передачу данных для одной системы. Уменьшение его вручную снова включает передачу данных, но эта ручная настройка не нужна в соседней системе.

Задний план

У меня есть резервный сервер. У меня есть две системы Raspberry Pi в удаленных местах: одна в Великобритании и одна в Албании. Наряду с албанским Pi есть QNAP (файловый сервер на основе Linux). У меня есть IPSec VPN из Албании в сеть Backups Server и еще одна IPSec VPN из Великобритании в сеть Backups Server. Все использует IPv4. Эта схема может помочь:

                                           |--Албания Пи
                    |<--IPSec-->|--Маршрутизатор--|--Албания QNAP
Центральный | | |--Другие системы
Резервные копии--|--Роутер--|
Сервер | | |
                    |<--IPSec-->|--Маршрутизатор--|--UK Pi
                                           |--Другие системы

И системы Pi, и сервер резервных копий имеют nftables без каких-либо правил и с политикой по умолчанию ACCEPT.

Две системы RPi, QNAP и Backups Server имеют MTU проводной сети Ethernet по умолчанию, равный 1500, как и следовало ожидать.

MTU маршрутизатора на стороне WAN для Албании составляет 1442, а для Великобритании — 1500. Согласно параметру Path MTU Discovery, эти значения верны. Для брандмауэра, управляющего сетью, содержащей Сервер резервных копий, это 1500, и это тоже верно.

Проблема

  • Если я передам блок данных с Pi в Великобритании на сервер резервного копирования, он отлично работает.
  • Если я переношу блок данных из QNAP в Албании на сервер резервного копирования, он работает нормально
  • Если я попытаюсь передать блок данных с Pi в Албании на сервер резервного копирования, это не удастся
  • Если я уменьшу MTU Pi до 1374, передача пройдет успешно.

Дополнительная информация

Вот пример того, что работает/не работает

# На албанском Пи
dd bs=1M count=100 if=/dev/urandom >100M.dat

# На сервере резервных копий
ssh albanian_pi cat 100M.dat | pv >100M.dat

# Настройки MTU на албанском Pi
ifconfig eth0 mtu 1500 # По умолчанию до того, как я начал возиться
ifconfig eth0 mtu 1374 # Максимальное значение, разрешающее поток данных

Раньше перенос работал, но это было до перехода с Stretch на Buster. Я не вижу проблем с большинством других систем Pi, которые у меня есть, и, в частности, не с британской Pi, о которой я упоминал в начале, на которой теперь также работает Buster.

Никто в албанском офисе не жалуется на проблемы с сетью.

Я намеренно не установил бит «Не фрагментировать» для пакетов между албанским Pi и сервером резервного копирования. Я не намеренно блокирую PMTU Discovery.

Обобщить:

  • Албанский QNAP -> Сервер резервных копий: все хорошо
  • Албанский Pi -> Сервер резервных копий: сбой без уменьшения MTU
  • UK Pi -> Сервер резервных копий: все хорошо

У меня есть обходной путь, но мне не нужно уменьшать MTU на отдельных системах.

Вопрос

Что на самом деле не так, и как я могу дополнительно диагностировать и устранить причину проблемы?

Предложения с благодарностью приняты. Спасибо

Рейтинг:1
флаг bd

Это выглядит как Обнаружение MTU пути разрывается между системами «Albania Pi» и «Central Backups Server». Это часто является результатом ошибочной блокировки ICMP-пакетов в маршрутизаторах, брандмауэрах или других устройствах. iptables настройки задействованных систем.

В вашем случае, поскольку система «Albania QNAP» работает нормально, главным подозреваемым является система «Albania Pi». Проверьте конфигурацию этой системы, особенно iptables настройки и настройки сети, связанные с ICMP и PMTUD.

roaima avatar
флаг my
Спасибо. Кажется, это подтверждает мой диагноз. У меня нет iptables ни в одной из заинтересованных систем. Маршрутизаторы удаленного офиса (Draytek) такие же, как и везде, за исключением сети, в которой размещен сервер резервного копирования. Я не могу найти ссылки на сетевые настройки PMTUD в ядре Linux. Я, конечно, не намеренно блокирую ICMP, но если бы я блокировал, это наверняка повлияло бы на оба устройства в Албании?
Tilman Schmidt avatar
флаг bd
Вот почему я назвал Албанию Пи главным подозреваемым. Конечно, можно выборочно заблокировать ICMP от или к одной системе, но я предполагаю, что если бы кто-то это сделал, вы бы наверняка знали об этом.
roaima avatar
флаг my
Действительно, я бы да

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.