Последнее изменение текста: 19980504
Скопировано с www.bog.pp.ru: 2023.10.01
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 номер-ключа
!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