Протокол 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-адрес назначения другого интерфейса туннеля.
Режим: «Конфигурирование».
Примечание
Полный список команд для настройки интерфейса туннеля находится в разделе Интерфейс туннеля.