Настройка двойного NAT MTU для внутренней сети

706
noseratio

У меня есть домашняя сеть с двумя роутерами, один за другим. Порт WAN внешнего маршрутизатора представляет собой соединение VDSL2 PPPoE с действующим IP-адресом и размером MTU 1492. Порт WAN внутреннего маршрутизатора назначается через DHCP как еще один клиент в локальной сети внешнего маршрутизатора. MTU по умолчанию для него был 1500 по умолчанию. Я изменил его на 1492, чтобы соответствовать внешнему маршрутизатору.

Теперь мне интересно, имеет ли смысл еще больше уменьшать размер MTU для внутренней сети. Сделает ли это внутреннюю сеть более устойчивой в этом сценарии двойного NAT?

0
У вас есть причина удвоить NAT? Обычно гораздо проще соединить сеть и расширить ее. Tim_Stewart 6 лет назад 0
@Tim_Stewart, причина в том, что мои ПК / виртуальные машины / устройства, связанные с работой, находятся за отдельным межсетевым экраном от остальных пользователей / устройств моей домашней сети, но при этом они могут видеть и получать к ним доступ. noseratio 6 лет назад 0

2 ответа на вопрос

3
dirkt

NAT просто изменяет IP-адреса / порты в пакетах, он не включает никакой дополнительной информации (заголовки и т. Д.) В пакет. Следовательно, это никак не уменьшает MTU, и наличие того же MTU - это хорошо.

Должен ли я по-прежнему устанавливать WAN MTU на * внутреннем * маршрутизаторе на 1492? Или оставить его на 1500? noseratio 6 лет назад 0
Обнаружение MTU может быть непростым делом, и я не являюсь экспертом по всем случаям, которые могут пойти не так или будут работать даже с разными MTU. Если вы испытываете плохую производительность на исходящих пакетах, первое, что нужно попробовать, это определенно установить MTU на внутреннем маршрутизаторе в 1492, чтобы избежать фрагментации исходящих пакетов. И это не помешает сделать это с самого начала. В случае сомнений, измерьте tcpdump и т. Д., Чтобы увидеть, если что-то * будет * фрагментировано. dirkt 6 лет назад 1
1
Nevin Williams

Хотя NAT не увеличивает размер пакетов (или, точнее, уменьшает максимальный размер полезной нагрузки на пакет), PPoE и другие протоколы туннелирования часто делают это.

Однако в большинстве современных операционных систем реализовано обнаружение Path MTU, описанное в RFC1191, которое оптимально адаптирует исходящие пакеты к пакетам самого маленького MTU любого из каналов между отправляющим хостом и пунктом назначения. Это делается путем установки параметра « DF bitНе фрагментировать» в больших исходящих пакетах и ​​выполняется поиск ошибки ICMP Fragmentation Needed.

В MacOS и других Unix-подобных операционных системах pingутилита имеет несколько коммутаторов, которые могут устанавливать DF bitи устанавливать размер полезной нагрузки, и даже охватывать диапазон размеров, эффективно определяя MTU между исходным хостом и местом назначения. При посылке имеется 8 байтов служебной информации ICMP Echo Request pingи 20 байтов в IP-пакете, что делает максимальную полезную нагрузку 1472 для пакета проверки связи с DF bitустановленным на интерфейсе MTU 1500 байт.

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

Поэтому, если у вас нет проблем с остановкой передачи файлов, лучше всего, чтобы операционная система автоматически обрабатывала MTU.

[nevin-mac-mini: ~] nevin% ping -c 1 -D -s 1472 192.168.2.1 PING 192.168.2.1 (192.168.2.1): 1472 байта данных 1480 байт из 192.168.2.1: icmp_seq = 0 ttl = 64 время = 0,667 мс  --- 192.168.2.1 пинг статистика --- 1 пакет передан, 1 пакет получен, потеря пакета 0,0% туда-обратно мин / ср / макс / стандартное отклонение = 0,667 / 0,667 / 0,667 / 0,000 мс [nevin-mac-mini: ~] nevin% ping -c 1 -D -s 1473 192.168.2.1 PING 192.168.2.1 (192.168.2.1): 1473 байта данных ping: sendto: сообщение слишком длинное  --- 192.168.2.1 пинг статистика --- 1 пакет передан, 0 пакетов получен, потеря пакета 100.0% 
Спасибо за ответ, я знаю о PMTUD и даже реализовал MSS Clamping на моем маршрутизаторе ([продолжение) (https://www.snbforums.com/threads/set-mtu-for-clients-in-lan -wifi-wlan.42483 / # post-399938) об этом), но у меня все еще иногда возникают проблемы с HTTPS-сайтами в Chrome / Win10. Я собираюсь вручную настроить MTU через netsh и посмотреть, изменит ли он что-нибудь. noseratio 6 лет назад 0
У меня нет доступа к каким-либо окнам, чтобы посмотреть на их последнюю реализацию `ping`, но версия MacOS / BSD позволяет сметать размер с помощью флагов -g / -G, поэтому` ping -D -g 1450 -G 1500 host.name` поможет. Ваши проблемы связаны с отправкой данных (например, загрузкой изображений) или их получением? Если последнее, то возможная проблема MTU находится на удаленной стороне и почти вне вашего контроля: убедитесь, что ваши устройства могут и действительно отправлять сообщения об ошибках ICMP при получении больших пакетов. Nevin Williams 6 лет назад 1

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