Подключение: Туннели

Туннелирование — это один из способов организовать связь между сетью Qrator Labs и вашей сетью. Эта технология позволяет создать виртуальное соединение — туннель — поверх интернета и пропускать через него трафик так, как будто эти сети связаны напрямую друг с другом. Через туннель можно организовать работу других технологий и услуг Qrator Labs, например, обратного HTTP-прокси или подключения через BGP.

Qrator Labs поддерживает настройку туннелей типа точка-точка с помощью протоколов IPIP или GRE.

Чтобы начать использовать туннелирование, выполните три шага:

  1. Создайте туннель в личном кабинете (см. раздел Туннели).
  2. Сообщите технической поддержке желаемую конфигурацию на стороне Qrator Labs.
  3. Выполните настройку своего эндпоинта.

Принцип работы туннелей

Туннель создаётся между двумя эндпоинтами, подключёнными к интернету. Один из них находится в сети Qrator Labs, другой в вашей сети.

Эндпоинт — это сущность, которая маршрутизирует входящий и исходящий туннельный трафик на одном из концов туннеля. Например, в качестве эндпоинта могут выступать: маршрутизатор, файервол, виртуальная машина с Linux в роли маршрутизатора, непосредственно сервер, на котором размещены ваши ресурсы, и так далее.

Примечание

Эндпоинт для туннеля создаётся в каждом из центров очистки трафика в сети Qrator Labs. Все они имеют используют одинаковую конфигурацию и одинаковые адреса, благодаря чему становятся взаимозаменяемыми. С точки зрения клиента, все эндпоинты в сети Qrator Labs можно рассматривать как один эндпоинт с высокой отказоустойчивостью.

При настройке туннеля используются две пары IP-адресов: внешние и внутренние.

  • Внутренние адреса — это адреса, назначенные эндпоинтам внутри виртуальной сети. Например, приложение на вашем сервере может отправлять IP-пакеты на внутренний адрес в сети Qrator Labs так, как будто этот адрес есть в одной сети с сервером.

    Если эндпоинт на вашей стороне не поддерживает использование внутренних IP-адресов при настройке туннелей типа точка-точка, можно указать имя сетевого интерфейса, см. Настройка на стороне клиента.

    Внутренние адреса генерируются автоматически при добавлении туннеля в личном кабинете.

  • Внешние адреса — это реально существующие адреса, по которым эндпоинты доступны в интернете. Так, ваш эндпоинт упаковывает IP-пакет, отправляемый на внутренний IP-адрес Qrator Labs, в другой пакет, отправляемый на внешний IP-адрес Qrator Labs.

    В качестве внешнего Qrator IP используется IP-адрес, соответствующий домену, для которого настраивается туннель. Внешний IP-адрес клиента указывает сам клиент.

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

Таким образом, с точки зрения приложения на стороне клиента осуществляется прямая передача пакета в сеть Qrator Labs без изменений вне зависимости от того, какой именно маршрут до Qrator Labs был использован на самом деле.

Пакеты в обратную сторону пересылаются аналогичным образом.

Настройка на стороне Qrator Labs

Трансляция портов

Чтобы защитить клиента от нежелательного трафика, сеть Qrator Labs пропускает через туннель пакеты только к тем портам, которые клиент явно обозначил как открытые. Например, для веб-сервисов обычно требуется держать открытыми только порты 80 и 443.

По умолчанию никакие порты не считаются открытыми. Чтобы открыть порт, напишите в техническую поддержку Qrator Labs. Специалисты технической поддержки настроят необходимую вам трансляцию сетевых адресов (Network Address Translation) для туннеля.

Резервирование туннелей

Сеть Qrator Labs состоит из множества центров очистки трафика в разных регионах, но по умолчанию все они используют один и тот же туннель для связи с вашим эндпоинтом. Этот туннель помечен как активный туннель в разделе Туннели личного кабинета. Вы можете самостоятельно выбрать, какой из туннелей назначить активным. Qrator Labs не будет пытаться отправлять трафик в неактивные туннели.

Чтобы обеспечить резервирование на случай отказа, а также максимально полно использовать преимущества распределённой сети Qrator Labs, рекомендуется настроить несколько туннелей до разных точек и включить автоматическое переключение между ними.

Автоматическое переключение работает следующим образом:

  1. Раз в 120 секунд каждый центр очистки трафика делает диагностический запрос на внутренний адрес туннеля на стороне клиента для проверки доступности каждого туннеля. Запрос может осуществляться по протоколам ICMP, HTTP или HTTPS. Параметры запроса и время ожидания ответа (в миллисекундах) настраиваются в личном кабинете.

  2. Если центр очистки трафика несколько раз подряд не смог получить ответ, то туннель считается временно недоступным, и трафик направляется в следующий доступный туннель согласно списку из личного кабинета. Статусы доступности туннелей отслеживаются каждым центром очистки трафика независимо от других центров.

  3. Когда проверка вновь выполняется успешно, центр очистки трафика считает туннель доступным.

Таким образом, даже если из каждого региона стабильно доступен только один туннель, сеть Qrator Labs продолжит доставлять трафик от любого пользователя до вашей сети.

Изменение внутреннего IP-адреса

Qrator Labs назначает всем туннелям одного клиента одинаковые внутренние IP-адреса. Благодаря этому вы можете использовать одинаковую конфигурацию на всех эндпоинтах на вашей стороне. Между несколькими доступными туннелями с одинаковым внутренним IP-адресом будет выполняться балансировка трафика.

Примечание

Техническая поддержка Qrator Labs может изменить внутренний IP-адрес туннелей по вашему запросу.

Настройка на стороне клиента

Эндпоинтом, находящимся на вашем конце туннеля, может быть как непосредственно апстрим, так и роутер, обслуживающий несколько ваших серверов.

В общем случае настройка сводится к следующим шагам:

  1. Создайте в системе новый туннель, используя IP-адреса, которые были сгенерированы в личном кабинете Qrator Labs. Система начнёт принимать входящие пакеты из этого туннеля автоматически.

  2. Настройте эндпоинт так, чтобы для пакета, полученного через туннель, ответный пакет также направлялся в туннель. Для этого можно настроить отдельную таблицу маршрутизации (например, с помощью VRF), настроить маршрутизацию с помощью политик (PBR) или воспользоваться комбинацией этих методов.

    Если нет возможности настроить внутренние IP-адреса для туннеля — используйте имя туннельного интерфейса при настройке маршрутизации трафика в туннель. Это возможно, т. к. настраиваются туннели типа точка-точка.

Обратите внимание, что без правильной настройки VRF или PBR ваш эндпоинт не сможет отправлять исходящие пакеты через туннель и будет получать только входящий трафик, что приведёт к некорректной работе ресурса. Специалисты технической поддержки Qrator Labs помогут вам выполнить правильную настройку.

Операционная система Windows не поддерживает настройку VRF и PBR. Если ваш сервер работает под управлением Windows, рекомендуется подключить его к интернету не напрямую, а через прокси-сервер под управлением Linux или роутер.

Чтобы избежать фрагментации пакетов при маршрутизации, рекомендуется настроить MTU (maximum transmission unit) и MSS (maximum segment size) с учетом выбранного туннельного протокола:

  • Для туннелей IPIP установите MTU не более 1480 байт, MSS не более 1440 байт.
  • Для туннелей GRE установите MTU не более 1476 байт, MSS не более 1436 байт.

Если внутри туннеля будет проходить трафик, также представляющий собой один или несколько туннелей, то значения MTU и MSS должны быть скорректированы соответствующим образом.

expand_less