Туннелирование
Туннелирование сетевых пакетов - это механизм для инкапсуляции пакетов одного сетевого протокола в пакеты другого протокола. Пакеты инкапсулируемого протокола вкладываются в пакеты транспортного протокола. Инкапсулированный пакет перенаправляется в сеть назначения, затем извлекается вложенный пакет, который перенаправляется получателю.
В ARMA Стена поддерживаются следующие протоколы туннелирования: ERSPAN, GRE, GRETAP, IPIP, IPIP6, IP6IP6, 6in4 (SIT). Все эти протоколы сгруппированы в «interfaces tunnel».
Общие команды настройки
Установка первичного или вторичного IP-адреса для туннельного интерфейса:
set interfaces tunnel <tunN> address <address>где:
<tunN> - имя туннельного интерфейса;
<address> - интерфейсный IP-адрес. Возможно указать адрес несколько раз. Значение указывается в формате: <x.x.x.x/x> - для IPv4, <h:h:h:h:h:h:h:h/x> - для IPv6.
Указание краткого текстового описания для туннельного интерфейса:
set interfaces tunnel <tunN> description <description>где <description> - текстовое описание туннельного интерфейса.
Отключение туннельного интерфейса с сохранением текущей настройки:
set interfaces tunnel <tunN> disable
Отключение механизма временной остановки передачи данных (Ethernet flow control):
set interfaces tunnel <tunN> disable-flow-control
Отключение механизма контроля физического состояния канала связи:
set interfaces tunnel <tunN> disable-link-detectПо умолчанию механизм отслеживает изменения состояния физического канала, например, при отсоединении кабеля.
Установка размера MTU для туннельного интерфейса:
set interfaces tunnel <tunN> mtu <mtu>где <mtu> - размер MTU. Возможно указать значения в диапазоне от «68» до «16000».
Поместить интерфейс в данный экземпляр VRF:
set interfaces tunnel <tunN> vrf <vrf>где <vrf> - имя vrf.
Установка используемого типа инкапсуляции пакетов:
set interfaces tunnel <tunN> encapsulation <tun>где <tun> - тип инкапсуляции. Возможно указать следующие значения:
erspan - анализатор инкапсулированных удалённых коммутируемых портов;
gre - generic Routing Encapsulation (сетевой уровень);
gretap - generic Routing Encapsulation (канальный уровень);
ip6erspan - инкапсулированный анализатор удалённых коммутируемых портов через IPv6;
ip6gre - GRE поверх IPv6 (сетевой уровень);
ip6gretap - GRE поверх IPv6 (канальный уровень);
ip6ip6 - IPv6 в инкапсуляции IPv6;
ipip - IPv4 в инкапсуляции IPv4;
ipip6 - IPv4 в инкапсуляции IP6;
sit - simple Internet Transition (IPv6 в IPv4).
Указание IP-адреса удалённого оконечного узла туннеля:
set interfaces tunnel <tunN> remote <address>где <address> - IP-адрес оконечного узла туннеля на удалённом маршрутизаторе. Значение указывается в формате: <x.x.x.x/x> - для IPv4, <h:h:h:h:h:h:h:h/x> - для IPv6.
Указание IP-адрес источника, используемый для инициирования соединения:
set interfaces tunnel <tunN> source-address <address>где <address> - IP-адрес источника. Значение указывается в формате: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6.
Указание интерфейса, используемого для установления соединения:
set interfaces tunnel <tunN> source-interface <interface>где <interface> - интерфейс, используемый для установления соединения.
GRE
Протокол GRE представляет собой универсальный механизм инкапсуляции пакетов различных сетевых протоколов для их передачи другим протоколом. Исходный пакет, также называемый «пассажирским», может относиться к любому сетевому протоколу. В качестве транспортного протокола может использоваться один из маршрутизируемых IP-протоколов. Пакет пассажирского протокола сначала инкапсулируется в пакет GRE, создавая «туннель» GRE. Затем пакет GRE инкапсулируется в пакет транспортного протокола («носителя»), который затем направляется в сеть назначения. После этого исходный пакет извлекается и доставляется адресату.
Туннели GRE не имеют средств контроля состояния, то есть протокол не предоставляет возможности автоматического отслеживания доступности конечных узлов. Однако существует возможность отслеживания состояния другого конечного узла путем отправки специальных сообщений, подтверждающих активность. Конечное устройство считается неактивным, если оно перестает отвечать на такие сообщения.
GRE не обеспечивает безопасность данных. Существует возможность настройки ключа на каждом из конечных узлов туннеля, который позволяет конечным точкам аутентифицировать друг друга. Однако следует учитывать, что ключ передается в открытом виде в каждом пакете. В случае необходимости обеспечения безопасности передаваемых данных, GRE может использоваться совместно с IPSec.
В качестве примера настройки туннеля GRE, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки туннеля GRE).

Рисунок – Схема стенда для настройки туннеля GRE
Используемые IP-адреса приведены в качестве примера.
Для настройки туннеля GRE необходимо выполнить следующие шаги:
Настроить конфигурацию туннеля GRE на ARMA Стена1 введя команды:
set interfaces tunnel tun0 address '10.0.0.1/30' set interfaces tunnel tun0 encapsulation 'gre' set interfaces tunnel tun0 remote '192.168.22.55' set interfaces tunnel tun0 source-address '192.168.44.22'
Настроить конфигурацию туннеля GRE на ARMA Стена2 введя команды:
set interfaces tunnel tun0 address '10.0.0.2/30' set interfaces tunnel tun0 encapsulation 'gre' set interfaces tunnel tun0 remote '192.168.44.22' set interfaces tunnel tun0 source-address '192.168.22.55'
Настроить маршрут на каждой ARMA Стена:
set protocols static route 192.168.2.0/24 interfaces tun0 #ARMA Стена1 set protocols static route 192.168.1.0/24 interfaces tun0 #ARMA Стена2
Проверить работу туннеля GRE.
Для проверки работы необходимо с ПК «Client» выполнить команду «ping» ПК «Server». При правильной настройке, команда выполнится успешно.
Настройка туннельных протоколов GRETAP, IPIP, IPIP6, IP6IP6, 6in4 (SIT) осуществляется по аналогии с настройкой протокола GRE.
ERSPAN
ERSPAN (Encapsulated Remote Switched Port Analyzer) — технология, которая используется для зеркалирования трафика в L3 сетях на основе механизма GRE инкапсуляции.
В качестве примера настройки туннеля ERSPAN, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки туннеля GRE).
Для настройки туннеля ERSPAN необходимо выполнить следующие шаги:
Настроить конфигурацию туннеля ERSPAN на ARMA Стена2 введя команды:
set interfaces tunnel tun50 encapsulation erspan set interfaces tunnel tun50 parameters erspan direction ingress set interfaces tunnel tun50 parameters erspan version 2 set interfaces tunnel tun50 parameters ip key 1 set interfaces tunnel tun50 remote 192.168.44.22 set interfaces tunnel tun50 source-address 192.168.22.55 set interfaces tunnel tun50 source-interface eth0 # Указать источник зеркалирования трафика - с «eth1» в туннель «tun50»: set interfaces ethernet eth1 mirror ingress tun50Просмотр настроек:
admin@ngfwos# show interfaces tunnel tun50 encapsulation erspan parameters { erspan { direction ingress version 2 } ip { key 1 } } remote 192.168.44.22 source-address 192.168.22.55 source-interface eth0 [edit] admin@ngfwos#
Настроить конфигурацию туннеля ERSPAN на ARMA Стена1 введя команды:
set interfaces tunnel tun50 encapsulation erspan set interfaces tunnel tun50 parameters erspan direction egress set interfaces tunnel tun50 parameters erspan version 2 set interfaces tunnel tun50 parameters ip key 1 set interfaces tunnel tun50 remote 192.168.22.55 set interfaces tunnel tun50 source-address 192.168.44.22 set interfaces tunnel tun50 source-interface eth0 # Указать интерфейс, к которому подключен анализатор трафика: set interfaces tunnel tun50 mirror ingress eth1Просмотр настроек:
admin@ngfwos# show interfaces tunnel tun50 encapsulation erspan parameters { erspan { direction ingress version 2 } ip { key 1 } } remote 192.168.22.55 source-address 192.168.44.22 source-interface eth0 [edit] admin@ngfwos#
Трафик с интерфейса «eth1» устройства ARMA Стена2 будет зеркалироваться и передаваться через туннель tun50 на удалённое устройство ARMA Стена1, где он будет доступен для анализа на интерфейсе «eth1».