Протоколы GRE#
Обзор#
Протоколы туннелирования GRE (Generic Routing Encapsulation) работают на сетевом уровне модели OSI и в зависимости от своего типа инкапсулируют данные канального или сетевого уровня в IPv4- или IPv6-пакеты.
Маршрутизатор Факел поддерживает следующие протоколы: GRE, IP6GRE, GRETAP, IP6GRETAP. Инкапсуляция происходит по схемам: IPv4-in-IPv4, IPv6-in-IPv4, IPv4-in-IPv6, IPv6-in-IPv6, Ethernet-in-IPv4, Ethernet-in-IPv6. При инкапсуляции между внутренним заголовком исходного пакета и перед внешним заголовком добавляется дополнительный GRE-заголовок. Протокол GRETAP и его разновидность IP6GRETAP поддерживают псевдопроводную технологию.
По сравнению с другими протоколами туннелирования GRE обладает рядом преимуществ:
инкапсулирует одновременно данные с несколькими протоколами вне зависимости от их типа;
работает с multicast-трафиком;
поддерживает multicast-вещание для формирования соседних связей;
поддерживает туннельные ключи, что позволяет создавать несколько туннелей с одинаковыми интерфейсами источника и назначения. Туннельный ключ — уникальный идентификатор, который помогает отличать один туннель от другого.
Однако в работе GRE есть также и ряд особенностей:
Размер GRE-заголовка составляет 4 байта, а размер внешнего IP-заголовка — 20 байт. Из-за этого размер всего инкапсулированного пакета увеличивается на 24 байта, что может приводить к ранней фрагментации из-за выхода размера пакета за пределы максимально допустимого размера передаваемого пакета;
Большинство межсетевых экранов и систем защиты настроены на анализ трафика, который проходит через стандартные транспортные протоколы (TCP или UDP), так как они содержат понятные заголовки (порты, флаги, номера сессий и т.д.). GRE упаковывает данные прямо в IP-пакет, без использования TCP/UDP. Поэтому некоторые фаерволы могут не знать, как обрабатывать такой трафик и просто блокируют его. При инкапсуляции по протоколу GRE в поле IP-заголовка добавляется номер протокола — «47»;
По умолчанию протокол туннелирования GRE не шифрует передаваемые данные. Чтобы защитить передачу данных по туннелю, используйте протоколы шифрования типа IPsec.
Более подробная информация содержится в документах RFC 2784.
GRE
Протокол туннелирования GRE инкапсулирует пакеты различных протоколов сетевого уровня в IPv4-пакеты. Работает по схемам: IPv4-in-IPv4, IPv6-in-IPv4.
Заголовок пакета при инкапсуляции по протоколу GRE выглядит следующим образом:
IP6GRE
Протокол IP6GRE инкапсулирует пакеты различных протоколов сетевого уровня в IPv6-пакеты. Работает по схемам: IPv4-in-IPv6, IPv6-in-IPv6.
Структура пакета при инкапсуляции по протоколу IP6GRE:
GRETAP
Протокол GRETAP инкапсулирует пакеты различных протоколов канального уровня в IPv4-пакеты. Работает по схеме Ethernet-in-IPv4. Поддерживает псевдопроводную технологию.
Структура пакета при инкапсуляции по протоколу GRETAP:
IP6GRETAP
Протокол IP6GRETAP инкапсулирует пакеты различных протоколов канального уровня в IPv6-пакеты. Работает по схеме Ethernet-in-IPv6. Поддерживает псевдопроводную технологию.
Структура пакета при инкапсуляции по протоколу IP6GRETAP:
Пример настройки#
Шаг |
Настройка маршрутизатора «А» |
Настройка маршрутизатора «Б» |
Описание |
|---|---|---|---|
1 |
set interfaces tunnel |
set interfaces tunnel |
Включает протокол инкапсуляции GRE на интерфейсе туннеля |
2 |
set interfaces tunnel |
set interfaces tunnel |
Задает IP-адреса источника на интерфейсе туннеля |
3 |
set interfaces tunnel |
set interfaces tunnel |
Задает IP-адрес назначения на интерфейсе туннеля |
4 |
set interfaces tunnel |
set interfaces tunnel |
Задает локальный IP-адрес на интерфейсе туннеля |
Список команд#
Режим «Конфигурирование»#
interfaces tunnel <interface> encapsulation gre#
Синтаксис:
set interfaces tunnel
<interface>encapsulation gredelete interfaces tunnel
<interface>encapsulation greshow interfaces tunnel
<interface>encapsulation
Аргументы:
<interface>— имя интерфейса туннеля.
Режим: «Конфигурирование».
interfaces tunnel <interface> encapsulation ip6gre#
Синтаксис:
set interfaces tunnel
<interface>encapsulation ip6gredelete interfaces tunnel
<interface>encapsulation ip6greshow interfaces tunnel
<interface>encapsulation
Аргументы:
<interface>— имя интерфейса туннеля.
Режим: «Конфигурирование».
interfaces tunnel <interface> encapsulation gretap#
Синтаксис:
set interfaces tunnel
<interface>encapsulation gretapdelete interfaces tunnel
<interface>encapsulation gretapshow interfaces tunnel
<interface>encapsulation
Аргументы:
<interface>— имя интерфейса туннеля.
Режим: «Конфигурирование».
interfaces tunnel <interface> encapsulation ip6gretap#
Синтаксис:
set interfaces tunnel
<interface>encapsulation ip6gretapdelete interfaces tunnel
<interface>encapsulation ip6gretapshow interfaces tunnel
<interface>encapsulation
Аргументы:
<interface>— имя интерфейса туннеля.
Режим: «Конфигурирование».
interfaces tunnel <interface> address <address>#
Синтаксис:
set interfaces tunnel
<interface>address<address>delete interfaces tunnel
<interface>address<address>show interfaces tunnel
<interface>address
Аргументы:
<interface>— имя интерфейса туннеля;<address>— локальный IP-адрес, который администратор вручную назначает интерфейсу туннеля. Может быть указан несколько раз как адрес IPv4 или адрес IPv6.
Режим: «Конфигурирование».
interfaces tunnel <interface> source-address <address>#
Синтаксис:
set interfaces tunnel
<interface>source-address<address>delete interfaces tunnel
<interface>source-address<address>show interfaces tunnel
<interface>source-address
Аргументы:
<interface>— имя интерфейса туннеля;<address>— IP-адрес источника. Может быть указан как адрес IPv4 или адрес IPv6.
Режим: «Конфигурирование».
interfaces tunnel <interface> remote <address>#
Синтаксис:
set interfaces tunnel
<interface>remote<address>delete interfaces tunnel
<interface>remote<address>show interfaces tunnel
<interface>remote
Аргументы:
<interface>— имя интерфейса туннеля;<address>— IP-адрес назначения другого интерфейса туннеля. Может быть указан как адрес IPv4 или адрес IPv6.
Режим: «Конфигурирование».
Примечание
Полный список команд для настройки туннельного интерфейса представлен в разделе Интерфейс туннеля.