Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Понимание и исправление MTU/MSS/PMTU в IPsec

    Понимание и исправление MTU/MSS/PMTU в IPsec

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Понимание и исправление MTU/MSS/PMTU в IPsec, RouterOS
     
    en1gm4
    Guest
    #1
    0
    13.01.2019 12:55:00
    У нас возникла проблема с подключением офиса к AWS через IPSEC-туннель: всё, что ориентировано на сессии (http, ssh), работает некорректно. Однако мы обнаружили, что если снизить MTU на Ethernet-интерфейсе одного из компьютеров в офисе до 1400, проблема исчезает, и SSH и HTTP работают нормально. Я предполагаю, что установка 1400 снижает MTU до минимального значения на пути, и сообщения корректно передаются на веб-серверы (SYN?) в AWS, заставляя это работать… но при 1500 что-то не так, и веб-серверы просто не “слышат”, что 1500 байт — это слишком много.

    Судя по всему, PMTU не работает, и устройства в AWS некорректно уменьшают размер пакетов. В настройках всё довольно просто: офис подключён к интернету через PPPoE DSL (RB4011), CHR в AWS подключается напрямую к интернету AWS и создаёт IPsec-туннель обратно в офис (ESP).

    Я проверял пингом с установленным битом DF и выяснил, что наибольший пинг между офисом и AWS VPC — 1378. Если добавить 28 байт на IP и ICMP, MTU будет 1406. Этот трафик идёт через IPsec VPN. Пинг с того же компьютера в офисе на 8.8.8.8 показывает 1452 + 28 = 1480 MTU, что совпадает с настройкой MTU на офисном роутере (RB4011), подключенном через ADSL-модемы к нашему провайдеру (Plusnet в Великобритании). Интернет работает без проблем. Аналогичный максимальный пинг наблюдается и в обратном направлении (из AWS VPC в офис).

    Я не понимаю, что именно нужно настроить, чтобы это исправить… несмотря на множество изученных материалов по MTU, MSS, clamping, SYN и прочему (а также массу постов о проблемах с VPN). Понижение MTU на Ethernet-интерфейсе, идущем к модему, или на CHR не кажется правильным, так как всё работает нормально для всего остального веб-трафика — а у нас довольно стандартная конфигурация.

    Похоже, стоит сосредоточиться на IPsec-туннеле и убедиться, что обе стороны знают правильные MTU/MSS, но я не могу найти такую настройку в самой конфигурации туннеля. Остаётся только использовать mangle? Но как? Я всё время натыкаюсь на что-то вроде…

    /ip firewall mangle
    add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes \
    protocol=tcp tcp-flags=syn

    Но к какому значению PMTU оно будет прижимать? Не станет ли это снижать MSS у трафика, который и так нормально работает в интернете, а не только через туннель? Часть трафика идёт в AWS, большая часть — напрямую в интернет.

    Извиняюсь за вопросы новичка… честно, я пытался разобраться сам.
     
     
     
    ahtoh
    Guest
    #2
    0
    10.10.2019 15:07:00
    У меня такая же проблема с IPSEC/IKEv2 клиентом на Mikrotik. Клиент на Windows 10 работает нормально, но это потому, что Win10 создаёт отдельный интерфейс с MTU, установленным на 1400. Mikrotik не создаёт PPP-интерфейс для IPSEC-туннелей, поэтому MTU остаётся без изменений. Я знаю, что есть правило mangle для ограничения значения MSS, но оно не идеальное и работает только для TCP. Хотелось бы как-то понизить MTU для туннеля до 1400. Можно ли сделать это на Mikrotik?
     
     
     
    msatter
    Guest
    #3
    0
    10.10.2019 21:09:00
    Боюсь, что вам придется опуститься ниже 1400. Я могу передавать 1500 через PPPoE и использовать 1398 и 1382 через туннель IKEv2. Мне нужно задать это значение жестко, потому что clamp to pmtu у меня не работает.
     
     
     
    ahtoh
    Guest
    #4
    0
    11.10.2019 01:20:00
    Как это сделать? В Mikrotik нет никакой опции для установки MTU для IPSEC-туннеля.
     
     
     
    msatter
    Guest
    #5
    0
    11.10.2019 10:58:00
    Не в разделе IPSEC. С IKEv2 используют маркировку соединений или исходящие адреса, и именно их применяют в строке Mangle для направления трафика в туннель. Я не могу скопировать с терминала в приложении на Android, поэтому мне пришлось искать компьютер, чтобы дать тебе ту строку, которую я использую для этого. Обычно такая строка не нужна, но трафик не доходит до клиента, чтобы он смог адаптироваться.
     
     
     
    msatter
    Guest
    #6
    0
    11.10.2019 13:01:00
    Моя команда: add action=change-mss chain=forward connection-mark=!no-mark dst-port=!993,8291 log-prefix=MSS new-mss=1382 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=!0-1382  
    Я применяю change-mss в цепочке forward. Мои соединения помечены, поэтому я использую !no-mark (непомеченные соединения, и знак «!» означает отрицание) и исключаю TCP-порты 993 и 8291, так как это не трафик IKEv2. Новый MTU установлен на 1382, и я проверяю только пакеты длиной больше 1382. Проверяться должны только пакеты, отправляемые в начале сессии, поэтому стоит tcp-flags=syn. Для соединений IKEv2 это устарело. Подробнее здесь: https://forum.mikrotik.com/viewtopic.php?f=2&t=154449&p=763404#p763404
     
     
     
    ahtoh
    Guest
    #7
    0
    24.10.2020 08:14:00
    Я потерял предыдущую конфигурацию и пытаюсь снова настроить IPsec туннель. Использую ipsec mode config с исходным списком адресов “vpn”. Вот моё правило mangle, но, кажется, оно не работает: сайты загружаются медленно и не полностью. Что я упускаю?

    /ip firewall mangle  
    add action=change-mss chain=forward new-mss=1382 passthrough=yes protocol=tcp src-address-list=vpn tcp-flags=syn tcp-mss=!0-1382
     
     
     
    msatter
    Guest
    #8
    0
    24.10.2020 12:37:00
    Смотрите: http://forum.mikrotik.com/t/nordvpn-ipsec-mikrotik-routing/140159/1 Ваша настройка должна работать, но, возможно, 1382 всё ещё слишком большое значение для вашего соединения. Попробуйте сначала с 1200 и постепенно увеличивайтесь. Либо попробуйте лучшее решение для IKEv2.
     
     
     
    ahtoh
    Guest
    #9
    0
    24.10.2020 17:42:00
    Да, я использую IKEv2, моя настройка такая же, как описано здесь (только с опцией 1) https://wiki.mikrotik.com/wiki/IKEv2_EAP_between_NordVPN_and_RouterOS. Я добавил это, но не помогло:
    /ip ipsec policy
    move *ffffff destination=0
    add action=none dst-address=192.168.11.0/24 src-address=0.0.0.0/0 place-before=1
     
     
     
    sindy
    Guest
    #10
    0
    24.10.2020 18:03:00
    Не знаю, какой у @msatter был порядок, когда он переместил последнюю политику (*ffffffff) в начало (вверх) списка, но в вашем случае мне непонятен параметр place-before=1. Политика action=none, которая исключает пакеты для подсети LAN из обработки последующими политиками, должна находиться выше (до) шаблона политики, на основе которого создаётся реальная политика для IP-адреса, назначаемого через mode-config. Опубликуйте вывод команды /ip ipsec policy print, пока туннель активен. Перед публикацией замените публичный IP на a.b.c.d.
     
     
     
    msatter
    Guest
    #11
    0
    24.10.2020 18:16:00
    Ты уже пробовал тест превью поста по клику/тапу на этом сайте? @Sindy *ffffff — это .id по умолчанию. Не знаю, нужен ли он ещё. Это из-за авто-сортировки, которая была внедрена не так давно. Но, возможно, авто-сортировка теперь сама с этим справляется, и тогда всё стало намного проще.
     
     
     
    ahtoh
    Guest
    #12
    0
    24.10.2020 18:18:00
    Вот как это выглядит, когда туннель активен. Первая строка — это то, что идёт в стандартной конфигурации, я её не трогал.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры