Конфигурирование туннелей Cisco
Туннелирование — способ инкапсуляции произвольных пакетов одного протокола в какой-либо другой транспортный протокол. Для упрощения конфигурирования туннелирование реализовано в виде виртуального (логического) интерфейса. При этом привязки к конкретным протоколам, пропускаемым через туннель, не делается, туннель реализован более как архитектура, позволяющая реализовать любую стандартную схему инкапсуляции.
Туннельные линки являются poin-to-point линками. Туннелирование состоит из следующих трех компонентов:
- Протокол-«пассажир», который инкапсулируется в туннель, например:AppleTalk, CLNS, IP, and IPX.
- Протокол носитель — протокол, который выполняет инкапсуляцию, например: GRE, IP-in-IP, L2TP, MPLS, STUN, и DLSw+.
- Транспортный протокол, — протокол, используемый для переноса инкапсулированного протокола. Основной транспортный протокол — это IP.
Рассмотри для примера соединение двух сетей AppleTalk через IP-опорную сеть.
Большой траффик, создаваемый широковещательными анонсами роутингового протокола RTMP может существенно ухудшить работу опорной сети. Проблема может быть решена туннелированием AppleTalk через IP. Туннелирование инкапсулирует пакеты AppleTalk внутри IP-пакета, который пересылается по опорной сети непосредственно в точку назначения. Роутер в точке назначения «вынимает» пакет AppleTalk из капсулы и передает его в сеть AppleTalk обычным образом. Поскольку пакеты AppleTalk отправляются непосредственно в точку назначения, отсутствует расход полосы пропускания сети на широковещательные анонсы протокола AppleTalk.
Ограничения в реализации туннелирования
Нижеследующее нужно иметь в виду при планировании туннелей:
- В ранних версиях IOS, инкапсуляция и декапсуляция пакетов в конечных точках туннеля производилось процессором (process-switching). Однако, начиная с версии 11.1 реализована обработка (fast-switching) для туннелей GRE. В сегодняшних версиях IOS используется CEF-коммутация для IPv6 и других туннелирующих протоколов.
- Важно разрешать туннельному протоколу проходить через фаревол и через листы доступа
- Роутинговые протоколы, в метрике которых содержится только число промежуточных узлов будут, как правило, предпочитать туннельные линки, так как с точки зрения такого протокола они выглядят существенно короче реальных. Это может оказаться нежелательным, поскольку туннель выглядит как один хоп и может проходить по более медленному каналу связи, чем по линку с промежуточными узлами.
В топологии, показанной на рис.3 пакеты от Host1 до Host2 пойдут по пути w,q,z, вместо пути w,x,y,z Потому что первый путь покажется короче.
Существенно худшие проблемы возникают, если информация о роутинге транспортной сети смешивается с информацией о роутинге туннелируемой сети. В этом случае «лучший» путь к точке окончания туннеля (для транспортного протокола) может оказаться через сам туннель! Это называется рекурсивным роутингом (recursive route) и в этом случае роутер временно выключает туннель. Чтобы избежать рекурсивного роутинга, принимайте меры к разделению роутинговой информации «пассажирской» и «транспортной» сетей:
- Используйте другой номер AS или маркер
- Используйте другой протокол роутинга
- Используйте явное указание статических путей (следите, чтобы не получалось петель роутинга)
Если роутер выдает нижеприведенное сообщение, то, скорее всего, имел место рекурсивный роутинг
%TUN-RECURDOWN Interface Tunnel 0 temporarily disabled due to recursive routing
Преимущества туннелирования
В следующих ситуациях полезно применения туннелей:
- Для поддержки многопротокольных локальных сетей с помощью однопротокольной опорной сети
- Для обхода ограничений ряда роутинговых протоколов (например: по числу промежуточных станций на пути пакета). См. Рис. 2
- Для соединения разнесенных подсетей
- Для организации виртуальных приватных сетей (VPN) поверх глобальных сетей (WAN)
Процесс конфигурирования GRE-туннеля
Обязательные действия:
- Задание туннельного интерфейса
- Указание точки начала туннеля
- Указание точки приемника туннеля
Необязательные действия:
- Задание режима туннелирования
- Задание режима контрольного суммирования
- Задание ключа идентификации туннеля
- Включение отбрасывания «заблудившихся» пакетов
Задание туннельного интерфейса
interface tunnel number
Указание точки начала туннеля
tunnel source {ip-address | type number}
Указание точки приемника туннеля
tunnel destination {hostname | ip-address}
Пример конфигурации роутеров изображенных на Рис 2
Конфигурация роутера A
interface Tunnel0
ip address 192.168.1.1 255.255.255.252
tunnel mode gre
tunnel source FastEthernet0/0
tunnel destination 172.16.15.34
!
interface FastEthernet0/0
ip address 10.0.145.13 255.255.255.0
Конфигурация роутера D
interface Tunnel0
ip address 192.168.1.2 255.255.255.252
tunnel mode gre
tunnel source FastEthernet1/0
tunnel destination 10.0.145.13
!
interface FastEthernet1/0
ip address 172.16.15.34 255.255.255.0
Режим туннелирования GRE всегда включен по умолчанию, поэтому команду tunnel mode gre можно опустить.
Источник: http://www.opennet.ru/base/cisco/gre_tunnel_conf.txt.html