Протокол IPIP#
Обзор#
Протокол туннелирования IPIP работает на сетевом уровне модели OSI и инкапсулирует исходный IPv4- или MPLS-пакет в дополнительный IPv4-заголовок по схемам: IPv4-in-IPv4, MPLS-in-IPv4.
Структура пакета при инкапсуляции по протоколу IPIP:
При настройке протокола важно обратить внимание на ряд особенностей:
Большинство межсетевых экранов и систем защиты настроены на анализ трафика, который проходит через стандартные транспортные протоколы (TCP или UDP), так как они содержат понятные заголовки (порты, флаги, номера сессий и т.д.). SIT упаковывает данные прямо в IP-пакет, без использования TCP/UDP. Поэтому некоторые фаерволы могут не знать, как обрабатывать такой трафик и просто блокируют его. При инкапсуляции по протоколу SIT в поле IP-заголовка добавляется номер протокола — «41»;
Не поддерживает multicast-вещание;
Чувствителен к максимально допустимому размеру передаваемого пакета, поскольку инкапсуляция дополнительного IP-заголовка увеличивает общий размер пакета;
Не шифрует обрабатываемый трафик. Для защиты канала связи используйте протоколы шифрования, например IPsec;
Не способен фрагментировать пакеты, что вместе с неправильно установленным максимально допустимым размером передаваемого пакета может привести к отбрасыванию пакетов.
Более подробная информация содержится в документе RFC 2003.
Внимание
При загрузке модуля IPIP или при включении протокола IPIP на интерфейсе туннеля, ядро системы Факел по умолчанию создает интерфейс tun0 с атрибутами local = any и remote = any.
Когда на интерфейс поступают IPIP-пакеты, ядро системы направляет данные на интерфейс, чьи атрибуты local и remote соответствуют IP-адресам отправителя и получателя. Однако если этого не произойдет, то ядро перенаправит входящие IPIP-пакеты на интерфейс tun0, как на устройство по умолчанию.
Пример настройки#
Шаг |
Настройка маршрутизатора «А» |
Настройка маршрутизатора «Б» |
Описание |
|---|---|---|---|
1 |
set interfaces tunnel |
set interfaces tunnel |
Включает протокол инкапсуляции IPIP на интерфейсе туннеля |
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 ipip#
Синтаксис:
set interfaces tunnel
<interface>encapsulation ipipdelete interfaces tunnel
<interface>encapsulation ipipshow 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-адрес, который администратор вручную назначает интерфейсу туннеля.
Режим: «Конфигурирование».
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-адрес источника.
Режим: «Конфигурирование».
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-адрес назначения другого интерфейса туннеля.
Режим: «Конфигурирование».
Примечание
Полный список команд для настройки интерфейса туннеля находится в разделе Интерфейс туннеля.