13) Tunneling Technologies (IPIP/GRE)

1. Вводная часть

По факту, IPIP и GRE предоставляют только туннелирование, но не шифрование. Для этого есть тот же IPSec. Тут речь пойдёт именно о том как нам гонять трафик между нашими серыми сетями, прибегая только к услуге "Интернет".

Схема сети

Предварительные настройки:

2. Создание туннельных интерфейсов

Виртуальные туннельные интерфейсы (Есть и хардварные) создаются отдельно для каждой PIC (Physical Interface Card). Делается это так:

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

Теперь мы увидим интерфейсы GRE и IPIP, которые нельзя сконфигурировать, но которые говорят о том, что туннельные сервисы работают:

3. Настройка IPIP

Всё довольно просто. Указываем в Source и Destination белые IP, которые смотрят в интернет. Также задаём туннельному интерфейсу какой-нибудь IP так, чтобы он был в одной подсети с туннельным интерфейсом другого устройства:

Адрес на интерфейсе нужен, чтобы мы могли строить маршрутизацию через туннельный интерфейс. Например, Site1 сейчас ничего не знает о внутренних сетях Site-2. Мы можем настроить статический маршрут, в котором просто укажем все внутренние подсети противоположной площадки (Не трудно догадаться, что Next-Hop будет IP-адресом туннельного интерфейса противоположного устройства), но вот настроить OSPF не можем.

Причины:

  1. IPIP не передаёт Multicast

  2. При попытке настроить OSPF Unicast-ом мы получим такую картину:

При попытке же настроить всё как обычно, мы получим отключение ip-0/0/0, судя по информации выше, связано это с петлёй. В общем, IPIP подходит только для простого туннелирования (IPv6 через IPv4, например). Для остальных целей есть GRE. В случае с IP-IP для более быстрой настройки (нам тут не нужен выход в интернет) мы можем просто прописать Gateway статикой через ip-0/0/0 и произвести редистрибуцию этого маршрута в OSPF:

Результат:

Снимать дамп смыла нет, и так понятно, что добавится просто ещё один IP-заголовок, поверх нашей серой адресации. Выглядит это так:

4. Настройка GRE и IGP Over GRE

Если IPIP просто добавляет IP-заголовок, то GRE переносит в своём заголовке дополнительную информацию: "Protocol Type". Это позволяет интерпретировать содержимое, переносить Multicast, кадры и множество другого (Не только IP) трафика.

Вернёмся к изначальной конфигурации из первой главы и перенастроим туннелирование под GRE. Настройка тут такая же, отличается только имя интерфейса:

А теперь можно настроить OSPF через GRE-туннель:

Результат:

5. IPv6 Over IPv4

Предположим, что нам нужно прокинуть IPv6 через устаревший IPv4 (Наоборот, кстати, нельзя). Предварительно меняем адресацию на gr-интерфейсе:

Дополнительно навешаем IPv6 адреса на Lo0 интерфейсы и запустим OSPFv3:

Результат:

6. L2 Over GRE

В данном случае IP-адреса нужны только на стыке с Internet. Внутри сети с обеих сторон трафик будет идти по L2. Вообще, написано, что данный конфиг позволяет преодолеть только один L3-сегмент сети, но у меня получилось перекинуть L2 трафик через ещё один транзитный маршрутизатор. Сама инструкция.

Предварительные настройки:

Как и всегда, настройка пойдёт на границе с интернетом. Вот так выглядит настройка L2 Over GRE (применимо как для Site-1, так и для Site-2):

Результат:

7. MPLS Over GRE

Для этого примера возьмём ту же адресацию, что в пункте 4:

Настройки для начальной конфигурации можно взять из подраздела этой главы "Конфигурация устройств", пункта "IGP Over GRE".

А дальше всё просто. Включаем LDP на всех интерфейсах всех устройств. Только вместо интерфейса ge-0/0/0 включаем его на gr-0/0/0 и не забываем настраивать на MX Lo0-интерфейсы (можно взять такие же как и в router-id), так как LDP строится на них. Пример настройки:

Проверка:

Вот так выглядит дамп GRE-пакета:

Тут видно, что GRE переносит информацию о протоколе, который он переносит. Судя по всему, за счёт этого нам удается запаковывать в него кадры, IP-заголовки и MPLS-заголовки.

Last updated

Was this helpful?