|
Bog BOS: IOS: Generic Routing Encapsulation (GRE)
|
Последнее изменение текста: 19980504
Скопировано с www.bog.pp.ru: 2024.11.23
Bog BOS: IOS: Generic Routing Encapsulation (GRE)
Маршрутизатор Cisco позволяет инкапсулировать пакеты протоколов
IP, CLNP, IPX, AppleTalk, DECnet Phase IV, XNS, VINES и Apollo внутри IP
пакетов с тем, чтобы передать их по IP сети и на другом конце преобразовать
в пакеты исходного протокола, образуя таким образом виртуальное соединение
типа точка-точка (туннель) от одного конца IP облака до другого.
Для чего используется:
-
соединить не-IP подсети через интернет
-
обеспечить как бы единство разорванной сети (скажем класса C)
-
в 11.2 появилась шифровка, так что есть смысл делать виртуальные частные
сети через WAN
Туннелирование подразумевает три протокола:
-
пассажир - инкапсулированный протокол (IP, CLNP, IPX, AppleTalk, DECnet
Phase IV, XNS, VINES и Apollo )
-
протокол инкапсуляции (GRE)
-
транспортный протокол (IP)
Недостатки:
-
скорость передачи пакетов падает вдвое;
-
сильно загружается CPU маршрутизатора;
-
зря расходуется пропускная способность канала;
-
инкапсулируемый протокол (например, IPX или AppleTalk) считают туннель
продолжением локальной сети и шлют через него всякий там broadcast, который
необходимо отсекать вручную;
-
могут также быть дезинформированы протоколы маршрутизации (им попадает
неправильная информация о числе хопов, скорости канала и т.п.), так что
о метриках надо позаботиться вручную;
-
возникают проблемы с защитой (инкапсулируемые пакеты могут вынырнуть за
брандмауэром или ACL);
-
при туннелировании IP через IP возникает зацикливание маршрутизации, так
что придется повозиться с настройкой протоколов маршрутизации (использовать
для физического и туннельного интерфейсов различные протоколы маршрутизации,
адресные подпространства, автономные системы или назначить туннельному
ннтерфейсу очень большую мтрику или попросту использовать статическую маршрутизацию)
Как это конфигурируется
-
создание туннеля
interface tunnel номер
-
определение исходного конца туннеля (через какой интерфейс будут посылаться
пакеты)
tunnel source { ip-адрес | тип-интерфейса номер }
-
определение приемного конца
tunnel destination { host | ip-адрес }
-
задать протокол инкапсуляции (по умолчанию GRE)
tunnel mode {aurp | cayman | dvmrp | eon | gre ip | nos}
-
проверять контрольные суммы (ошибочные пакеты просто отбрасываются)
tunnel checksum
-
защита по ключу (на обоих концах д.б. сконфигурирован одинаковый ключ),
очень слабая защита
tunnel key номер-ключа
-
выкидывать пакеты, нарушающие последовательность
tunnel sequence-datagrams
Пример
!Creates the interface
interface tunnel 0
!enables IP
ip address 10.1.2.3. 255.255.255.0
!sets the source address, or interface, for packets
tunnel source ethernet 0
!determines where the encapsulated packets are to go
tunnel destination 131.108.14.12
!sets the protocol
tunnel mode gre
!computes a checksum on passenger packets if protocol doesn't already have reliable
!checksum
tunnel checksum needed
!sets the id key
tunnel key 42
Пример частной сети сквозь Интернет
interface ethernet 0
description boston office
ip address 10.1.1.1 255.255.255.0
!
interface serial 0
description connection to NEARnet
ip address 192.13.2.1 255.255.255.0
!
interface tunnel 0
tunnel source serial 0
tunnel destination 131.108.5.2
ip address 10.1.2.1 255.255.255.0
|
Bog BOS: IOS: Generic Routing Encapsulation (GRE)
|
Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru