Change tcp mss mikrotik что это
Перейти к содержимому

Change tcp mss mikrotik что это

Провайдеры и MTU/MSS/PMTU

Значит нужен мне второй канал связи, да этак мегабит 300 в секунду. В моём городе немного провайдеров, по этому выбрать не дали и пришлось подключаться к WiFire (он же NetByNet, MegaFon и так далее). Подключился, потестил, 300 мегабит, балдеж. Решил я значит почитать что нового на своем любимом Хабре и опа: он не открывается, но охотно пингуется.

Диагностика

Ну думаю: что-то тут не так. Сетевое у меня Mikrotik, возможностей уйма, пойду искать причину на своей стороне. Лезу в логи и вижу как посыпался DoH (РКН, приветик) и крайне удивляюсь этому. решил временно отрубить DoH и дать 1.1.1.1. Ситуация не изменилась. Начал резолвить адреса хотя бы чего-нибудь, все через раз. Решил прокинуть трейс до Хабра и смотрю на «потяряшки». Думаю дай звякну в поддержку, вдруг умное чего скажут. Те репу почесали, сказали что не видят мою сеть за роутером (nat >> forward >> change ttl >>+1 😀) и изобразили что-то вроде «Мы ХЗ».

Начал копать дальше. Вспомнил всю балду, которую знаю о пакетах и тут осенило.

Что такое MTU и MSS?

MTU (англ. maximum transmission unit) означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.

MSS (англ. Maximum segment size) является параметром протокола TCP и определяет максимальный размер полезного блока данных в байтах для TCP-пакета (сегмента). Таким образом этот параметр не учитывает длину заголовков TCP и IP.

PMTU (Path MTU) — данный параметр обозначает наименьший MTU среди MTU каналов данных, находящихся между источником и приемником.

Википедии, конечно, спасибо, но если по-русски, то грубо говоря каждый пакет в сети — это бандероль со своими габаритами и вот как раз эти габариты надо менять, подгоняя под оператора связи (ISP). Не долго думая я начал пинговать Хабр с разным размером юнита (MTU) и уткнулся в 1450. Проставил все порты под новый MTU — мало, все равно не открывается. Решил не мучаться и воткнуть динамический MTU. Тут на помощь приходит PMTU. Вообще вот статейка в которой все хорошо объяснено на счет PMTU.

Решение проблемы

По скольку причина была уже ясна, а время пять утра — решение было достаточно быстрым.

Топаем в консоль и пишем:

/ip firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp out-interface=*название WAN интерфеса* tcp-mss=1300-65535 log=no

/ip firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp in-interface=*название WAN интерфеса* tcp-mss=1300-65535 log=no

Разбираем что написали:

/ip firewall mangle — переходим по разделам и выберем что нужно.

add — команда добавления правила

chain=forward — указываем тип цепочки

action=change-mss — указываем что нужно менять MSS

new-mss=clamp-to-pmtu — указываем параметры, что используем PMTU и базируемся на нем

passthrough=no — не преходить к след. правилу пока не выполним это

tcp-flags=syn — выставляем флаг пакета для нумерации, что бы не терялся

protocol=tcp — указываем протокол с которым будем работать

in-interface\out-interface — интерфейсы вход\выход

tcp-mss=1300-65535 — разрешенный диапазон размера пакета

log=no — не логировать

и бинго, наконец-то открывается Хабр и все что мне нужно.

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

Путь к дзен

По долгу службы постоянно приходится налаживать связь в самых отдаленных уголках РФ. Чаще всего на севере страны. И почти постоянно сталкиваюсь с полной безграмотностью местных интернет провайдеров в отношении услуг, что они предоставляют.

Чаще всего доступ дают через VPN, но не редки случаи, когда доступ предоставляется тупо через серую подсеть. То есть вам по DHCP выдают некий серый адрес, и далее вас NATят.
Про предоставление объединений я вообще молчу. Для некоторых L3VPN, VRF, или на худой конец VLAN — это что-то инопланетное.
Но в прочем статья не об этом. Не так давно столкнулся с интересной ситуацией. У меня на каждом объекте стоит микротик, который поднимает туннель до головного офиса и проблем, как правило не возникает. Не так давно с одного из объектов начали жаловаться. Мол беда беда, интернет есть, сервисы организации не работают. Начинаю смотреть, пинги бегают внутри туннеля без потерь, задержки вполне себе хорошие, порядка 80 мс. Но при попытке открыть корпоративный портал или иной сервис действительно вижу затык. Подсказал мне браузер, при открытии страницы нашего сервиса, он мгновенно прогрузил заголовки, я увидел <title> страницы. А вот содержимого нет. И тут меня озарило, конечно же MTU. Дабы не ломать туннель путем изменения MTU, я решил пойти другим путем — а именно поправить MSS налету. В современных прошивках MSS сразу выставляется под MTU интерфейса. Но мы то не пролезаем, в связи с чем я добавил новые правила:

/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1361-65535 action=change-mss new-mss=1360 disabled=no out-interface=my-tunnel-ppp


Таким образом я зажимаю все данные (кроме заголовков) TCP пакетов в 1360 байт. Почему именно это значение? Опытным путем, понижал с 1390 до данного значения, пока не стабилизировалась работа. И это решило проблему. Убедившись, что странички наших сервисов и приложения стали работать корректно, я понизил MTU на туннельном интерфейсе, он переподнялся, и правила MSS отключил. Все работает. Все счастливы.

Настройка MikroTik L2TP Server + IPSec

В этой статье мы покажем, как сделать настройку L2TP Server с IPSec на MikroTik. Постараемся детально описать все нюансы и тонкости конфигурирования.

На сегодняшний день есть множество способов организовать VPN, но на мой взгляд L2TP является оптимальным выбором, так как данный протокол существует во всех ОС и имеет ряд преимуществ о которых мы поговорим ниже.

Настройка L2TP MikroTik для многих может оказаться не такой уж и простой задачей. Давайте разберемся на практике, так ли это сложно?

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Протокол L2TP не предоставляет механизмов шифрования, поэтому рассмотрим связку L2TP IPSec для подключения удаленных устройств к корпоративной сети. Узнаем как выполнить настройку туннеля L2TP IPSec между MikroTik, что позволит объединить офисы по данной технологии.

L2TP — это туннельный протокол служащий для организации виртуальных частных сетей, объединивший в себе лучшие функции протоколов PPTP (Microsoft) и L2F (Cisco).

IPSec – это набор протоколов служащий для шифрования, аутентификации и обеспечения защиты при отправке IP-пакетов. Основное применение нашел при организации VPN-соединений.

Mikrotik. Настройка L2TP Server

Рассмотрим детальную настройку двух видов туннелей L2TP + IPSec:

  • Client-to-site – туннельное соединение, при котором конкретное устройство (ноутбук, домашний ПК) подключается к маршрутизатору. Примером может служить ситуация, когда сотрудник компании из дома подключается к сети организации и получает доступ к сетевым ресурсам;
  • Site-to-Site – туннельное соединение, между роутерами Mikrotik.

Настройка туннеля L2TP + IPSec на Mikrotik (site-to-site). Объединяем два офиса

Попробуем объединить два офиса фирмы в одну виртуальную частную сеть (VPN) используя туннельный протокол L2TP в связке с IPSec на оборудовании Mikrotik.

Из схемы мы видим, что Mikrotik в главном офисе (GW1), будет настроен на роль L2TP Server + IPSec, со следующими настройками:

  • Внешний IP (WAN): 111.111.111.111;
  • IP-адрес VPN Server: 192.168.77.1;
  • Адрес в LAN сети: 192.168.13.254.

MIkrotik в филиале (GW2) будет являться VPN-клиентом с настройками:

  • Внешний IP (WAN): 222.222.222.222;
  • IP-адрес VPN Client: 192.168.77.10;
  • Адрес в LAN сети: 192.168.12.254.

Приступаем к настройке.

Настройка Mikrotik L2TP Server. Главный офис

Создаем профиль подключения

У Mikrotik в меню PPP есть два профиля по умолчанию, которые используются для PPP соединений. Рекомендуется не изменять профили по умолчанию, а создать и использовать под свою задачу новый.

Создадим профиль для подключения, в котором укажем имя для соединения, назначим статические IP-адреса для L2TP сервера и клиента. Отроем Winbox, перейдя:

  • PPP => Profiles => “+”.

В окне New PPP Profiles, открыв, вкладку “General” укажем информацию:

  • Name: l2tp-site-to-site;
  • Local Address: 192.168.77.1;
  • Remote Address: 192.168.77.10.

Рекомендуем для туннеля вида Site-to-Site назначить статические IP.

  • произвольное имя для профиля(Name);
  • присвоили IP для L2TP-Сервера (Local Address);
  • IP-Адрес L2TP-Клиента (Remote Address).

Настраиваем Secret

На вкладке «Secrets» мы настраиваем имя, пароль и профиль подключения для L2TP-Клиента. Для этого выполним действия:

  • Secrets => “+”;
  • Name: office;
  • Password: qwas1234;
  • Profile: из выпадающего списка выбираем ранее созданный профиль (l2tp-site-to-site).

Рекомендуем придумывать сложные пароли. Минимум 12 символов разного регистра с использованием спец. символов.

Включаем L2TP Server и IPSec

Следующим шагом включим L2TP Server на Mikrotik указав профиль, метод аутентификации и ключ шифрования для IPSec. Выберем пункт меню Interface, настроим как показано на рисунке ниже:

L2TP настройка MikroTik

Не забываем придумывать сложные пароли.

Создаем интерфейс

Создадим статический интерфейс L2TP Server Binding. Это позволит избежать проблемы с маршрутизацией между сетями, которые могут возникнуть при разрыве соединения.

Заполним открывшееся окно New interface. Вкладка «General»:

  • Name – это произвольное имя интерфейса;
  • User – имя пользователя, которое мы назначили на вкладке Secrets.

Настройка firewall

Добавим правила в наш файрвол, тем самым разрешая трафик для L2TP, два правила для IPSec и протокол Ipsec-esp:

  • IP => Firewall => Filter Rules => “+”.

Добавим разрешающее правило для L2TP, который работает на 1701(UDP) порту:

Разрешаем трафик L2TP, открывая порт 1701

После нажмем правой кнопкой мыши на созданное правило и добавим комментарий, нажав строку Comment из меню:

Добавим правило для UDP портов 4500, 500:

Разрешаем IPSec

Добавим комментарий для этого правила, как показано выше.

Разрешим протокол IPsec-esp:

Очень важен порядок расположения правил. Ваш firewall после настроек должен выглядеть примерно следующим образом:

Для более глубокого понимания работы брандмауэра рекомендуем ознакомиться со статьей MikroTik настройка firewall.

На этом настройка L2TP Server Mikrotik закончена, перейдем к настройке клиентской части (филиала).

Настройка филиала (L2TP Client)

Выполним настройку L2TP клиента. Для этого необходимо на роутере Mikrotik добавить интерфейс с настройками подключения к главному филиалу указав его IP-адрес, идентичные значения IPSec и аутентификации.

Создадим свой профиль для подключения:

  • PPP => Profiles => “+”.

На вкладке «General» укажем имя профиля:

Далее откроем вкладку «Protocols», установим обязательное шифрование:

  • Use Encryption: Yes;
  • OK.

Добавляем L2TP Client:

  • Interface => “+”;
  • L2TP Client.
  • Укажем имя интерфейса.
  • Connect To – указываем IP-адрес главного филиала (WAN);
  • User – имя пользователя, созданное в разделе Secrets;
  • Password – пароль учетной записи;
  • Profile – профиль подключения созданный в предыдущем шаге;
  • Устанавливаем галочку на пункте Use IPSec, активируя набор протоколов шифрования;
  • IPsec Secret – вводим ключ шифрования IPSec как на сервере;
  • В разделе Allow оставляем метод аутентификации mschap2.

Ждем некоторое время. Если мы все сделали правильно, то увидим букву “R” слева от имени подключения:

Статус туннеля можем посмотреть, зайдя в настройки интерфейса:

Здесь мы видим дату и время, когда туннель поднялся (Last Link Up Time), количество разрывов соединения (Link Downs), время жизни соединения (Uptime), метод шифрования (Encoding) и другие параметры.

Осталось настроить маршрутизацию между подсетями.

Настройка маршрутизации межу офисами

Пропишем маршруты на обоих роутерах Mikrotik. Так подсети увидят друг друга.

Для начала зайдем на роутер главного офиса (GW1), выполним следующие действия:

  • IP => Routes => “+”.

Укажем удаленную подсеть и шлюз, который будет обрабатывать запросы:

MikroTik L2TP IPSec маршрутизация. Добавляем маршрут до сети филиала

  • Dst. Address – Адрес удаленной подсети (филиал);
  • Gateway – шлюз (созданный интерфейс в предыдущем шаге), который будет обрабатывать запросы с сети филиала.

Затем зайдем на Mikrotik филиала (GW2), добавим маршрут:

  • IP => Routes => “+”.

Укажем подсеть главного офиса и назначим Gateway:

MikroTik L2TP IPSec маршрутизация. Добавление маршрута до главного офиса

  • Dst. Address – адрес удаленной подсети (главный офис);
  • Gateway – шлюз (созданный интерфейс), который будет обрабатывать запросы с сети главного офиса.

Теперь филиалы видят друг друга. На этом настройка L2TP + IPSec между роутерами Mikrotik (Site-to-site), закончена.

Настройка L2TP Server + IPSec на Mikrotik (client-to-site)

Рассмотрим вариант подключения к L2TP Server удаленных сотрудников (client-to-site). На практике данный способ применяется, когда работник компании уехал в командировку и ему надо иметь доступ к внутренним ресурсам локальной сети фирмы. Таким образом, сотрудник со своего ноутбука устанавливает VPN соединение по которому получает доступ к локальным ресурсам сети.

Создаем пул адресов

Первым шагом назначим пул адресов, которые побудут получать клиенты, подключаемые по VPN:

  • IP => Pool => “+”.

В окне “New IP Pool” укажем название пула и диапазон адресов:

Профиль подключения

Дальше создадим свой профиль для L2TP соединений:

  • PPP => Profiles => “+”.

Выполним настройку профиля следующим образом:

  • Name – произвольное имя профиля;
  • Local Address – назначим адрес L2TP Серверу;
  • Pool-адресов, из которого будут назначаться IP подключаемым пользователям (Remote Address);
  • Change TCP MSS: yes –изменять максимально возможный размер сегмента TCP. Текущая настройка немного повысит устойчивость соединения.
  • Use UpnP: no – отключим использование службы UPnP.
  • Use MPLS: no – отключим многопротокольную коммутацию по меткам;
  • Требовать шифрование.

На вкладке “Limits” ограничим подключение единственным соединением:

Создание пользователя

На вкладке “Secrets” укажем настройки имени пользователя, пароль и профиль для подключения:

  • Name – произвольное имя пользователя. Желательно создавать интуитивно понятные имена;
  • Password – пароль пользователя. Желательно использовать сложные пароли;
  • Profiles – ранее созданный профиль для подключения.

Включаем L2TP Server

Осталось активировать L2TP Server на Mikrotik, выбрать метод аутентификации, задать профиль по умолчанию, включить IPSec и установить для него ключ шифрования:

  • Interface => L2TP Server.
  • Поставим галочку у пункта “Enabled”;
  • Default Profile – укажем ранее созданный профиль, который будет использоваться по умолчанию для подключений.
  • Оставим метод аутентификации mschap2;
  • Use IPsec: yes – включаем использование IPSec;
  • IPsec Secret – придумаем и установим ключ шифрования для IPSec.
  • OK.

Настройка подключения на стороне клиента

На компьютере или ноутбуке сотрудника настроим VPN-соединение до L2TP Сервера. Приведу пример, как это можно сделать на ОС Windows 10.

Откроем “Центр управления сетями…”, затем создадим подключение, как показано на рисунке ниже:

Следующим шагом выберем вариант подключения:

Выполним подключение через Интернет с помощью VPN:

Следующим шагом введем внешний адрес (WAN) роутера Mikrotik и произвольное имя для соединения:

В нашем примере маршрутизатору Mikrotik назначен внешний IP 111.111.111.111, у вас это будет свой адрес.

Продолжим настройку VPN соединения:

Откроем свойства созданного соединения:

Перейдем на вкладку “Безопасность”, выполнив настройку как показано на рисунке ниже:

Откроем дополнительные параметры (5 шаг на рисунке) и укажем ключ IPSec, который мы указали ранее в настройках L2TP Server, параметром IPsec Secret:

Вводим ключ IPSec

Далее откроем вкладку “Сеть”, уберем галочку с протокола TCP/IPv6 и откроем свойства протокола TCP/IPv4:

Нажмем кнопку “Дополнительно” и запретим использовать основной шлюз в удаленной сети, сняв галочку с соответствующего пункта:

Важно! Игнорируя текущий пункт настройки, после установки VPN соединение пропадет интернет.

Подключаем созданное VPN-соединение:

Настройка маршрутизации L2TP-клиента

Подключение установилось. Следующим шагом укажем постоянный статический маршрут прописав шлюз для удаленной подсети.

Откроем командную строку с правами администратора и выполним команду:

добавляем маршрут

route add 192.168.13.0 mask 255.255.255.0 10.10.10.1 if 49 /p

  • 192.168.13.0 – локальная подсеть организации;
  • 255.255.255.0 – маска этой подсети;
  • 10.10.10.1 – шлюз (адрес устройства Mikrotik, который мы задавали в настройках профиля);
  • 49 – номер созданного VPN интерфейса (можно узнать командой route print);
  • /p – параметр, указывающий на то, что сделать маршрут постоянным. Иначе после перезагрузки данный маршрут удалится.

Пример, как можно посмотреть номер интерфейса:

На этом настройка L2TP Server + IPSec на Mikrotik закончена. Надеюсь, данная статья была для вас полезной.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *