From:Alexey Nizhegolenko <ratibor@adminhouse.org.ua.>
Newsgroups: email
Date: Mon, 19 Dec 2007 14:31:37 +0000 (UTC)
Subject: Настройка GRE туннеля между маршрутизаторами Cisco
Текст можно взять здесь http://www.adminhouse.org.ua/cisco/zametki/gre/gre.html
В данной заметке постараюсь вкратце описать процесс организации GRE
туннеля между двумя Cisco маршрутизаторами.
Generic Routing Encapsulation (GRE) - протокол туннелирования сетевых
пакетов, разработанный фирмой Cisco. Этот протокол используется для
передачи пакетов одной сети, через другую сеть. GRE туннель представляет
собой соединение точка - точка, его можно считать одной из
разновидностей VPN туннеля, без шифрования. Основное достоинство GRE
(лично для меня) это возможность передавать широковещательный трафик,
что позволяет пропускать через такой туннель протоколы маршрутизации
использующие его, IPSec туннели в чистом виде этого не могут. Так что
причин для организации GRE туннеля может быть множество от банальной
необходимости пробросить свою сеть через чужое IP пространство до
использования протоколов OSPF, RIPv2, EGRP совместно с IPSec. Так же GRE
может помочь пробросить немаршрутизируюмые протоколы, такие как NetBios,
IPX, AppleTalk.
При использовании публичных сетей необходимо совместно с GRE применять
IPSec для реализации защищенных VPN соединений, пример такой
конфигурации описан здесь.
В нашем случае построим простой GRE туннель через доверенную сеть, без
шифрования. В примере мы уже имеем арендованный канал в удаленный офис,
протокол маршрутизации OSPF, нужно организовать резервный канал к этому
офису используя чужую IP сеть.
Схема рассматриваемого примера изображена на рисунке:
В примере участвуют два маршрутизатора, Cisco 2811 в главном офисе и
Cisco 1841 в удаленном офисе. Между офисами имеется уже действующий
асинхронный выделенный канал связи (10.10.255.0/30), так же в главном и
удаленном офисе присутствуют каналы из "дружественной" сети
10.44.0.0 В нашем случае это Ethernet каналы, сеть 10.44.0.0 не против
пустить наш трафик, осталось поднять GRE туннель и получить еще один
канал связи между офисами.
Организация GRE туннеля на Cisco довольно проста, ниже приведена
выдержка из конфигурации двух участвующих маршрутизаторов. В простейшем
случае нужно поднять на каждом из них виртуальный интерфейс Tunnel0
(номер интерфейса может быть другим) и провести простейшую его
настройку. Назначить Tunnel0 ip адрес, указать интерфейс через который
подымать туннель и ip адрес интерфейса удаленного маршрутизатора
используемого для создания туннеля.
Cisco 1841 удаленный офис:
interface Tunnel0
description GRE tunnel to main office
ip address 10.10.255.6 255.255.255.252
ip tcp adjust-mss 1436
tunnel source FastEthernet0/1
tunnel destination 10.44.2.1
interface FastEthernet0/0
description Lokalniy ethernet
ip address 10.10.2.1 255.255.255.0
duplex auto
speed auto
interface FastEthernet0/1
description Network 10.44.0.0
ip address 10.44.3.2 255.255.255.0
duplex auto
speed auto
Cisco 2811 главный офис:
interface Tunnel0
description GRE tunnel na office 1
ip address 10.10.255.5 255.255.255.252
ip tcp adjust-mss 1436
tunnel source FastEthernet0/1
tunnel destination 10.44.3.2
interface FastEthernet0/0
description Lokalniy ethernet
ip address 10.10.1.1 255.255.255.0
duplex auto
speed auto
interface FastEthernet0/1
description Network 10.44.0.0
ip address 10.44.2.1 255.255.255.0
duplex auto
speed auto
При работе с GRE туннелями могут возникнуть проблемы с MTU пакетов пересылаемых
через туннель, так называемая проблема бита DF, подробнее можно прочесть здесь.
Параметром ip tcp adjust-mss 1436 я решил проблемы с пакетами имеющими бит DF,
правда это поможет только для TCP сессий.
Для отслеживания состояния GRE туннеля можно использовать опцию keepalive на Tunnel0
интерфейсе, подробнее можно прочесть здесь.
Проверяем результаты нашего труда, командами sh interfaces tunnel 0, sh
ip interface brief, sh ip ro ospf. Должен появится активный интерфейс
Tunnel0 на обоих маршрутизаторах и новый маршрут в таблице OSPF.
Таким образом мы получили еще один канал в удаленный офис с работающим
через него OSPF используя чужую IP сеть. Этот простой пример не
охватывает всех тонкостей работы с GRE туннелями, но позволит на простом
примере быстро их настроить.