14.2. Настройка IPv4 GRE туннеля

Назначение

IPv4 GRE туннелирование предназначено для обеспечения взаимодействия с изолированными IPv4-сетями без обновления инфраструктуры между ними.

Описание

IPv4 GRE туннелирование - это технология инкапсуляции, которая использует один сетевой протокол для инкапсуляции пакетов другого сетевого протокола и передачи их через виртуальное соединение “точка-точка”. Виртуальное соединение называется туннелем. Туннелирование относится ко всему процессу, начиная с инкапсуляции данных, передачи данных и заканчивая их деинкапсуляцией.

image

Рис. 14.1 IPv4 GRE туннелирование

IPv4 GRE добавляет в инкапсулированные пакеты GRE-заголовок, включающий ключ, последовательность, контрольную сумму и т.д. Для реализации GRE-туннеля, обе конечные точки туннеля должны поддерживать стек протоколов IPv4.


Туннель IPv4 GRE обрабатывает пакеты следующим образом:

  • Узел в сети IPv4 отправляет пакет на коммутатор “Switch1”, подключенной к туннелю.

  • Определив по таблице маршрутизации, что пакет нужно переслать через туннель, коммутатор “Switch1” инкапсулирует пакет в заголовок IPv4 и пересылает его через порт, подключенный к туннелю.

  • Получив пакет, коммутатор “Switch2” деинкапсулирует его. В процессе деинкапсуляции он проверяет ключ GRE, только совпавший с ним пакет может быть обработан, в противном случае он отбрасывается.

  • коммутатор “Switch2” пересылает пакет в соответствии с адресом назначения в деинкапсулированном IPv4-пакете. Если адресом назначения является коммутатор “Switch2”, он пересылает IPv4-пакет протоколу верхнего уровня для обработки.


IP-адреса источника и пункта назначения настраиваются вручную. Туннели можно настраивать между пограничными маршрутизаторами, а также между пограничными маршрутизаторами и сетевыми узлами.

Туннели используются в первую очередь для стабильных соединений, требующих регулярной безопасной связи между двумя пограничными маршрутизаторами или между конечной системой и пограничным маршрутизатором, а также для подключения к удаленным IPv4-сетям, при этом ключевым моментом является альтернативная конфигурация.

Настройка

Ниже показана настройка GRE-туннеля в соответствии с представленной конфигурацией сети.

Как видно из представленной конфигурации, две IPv4-сети подключаются к сети через коммутатор “Switch1” и коммутатор “Switch2”. Для соединения двух сетей необходимо настроить туннель между данными коммутаторами.

ВНИМАНИЕ!

Для пересылки туннельных пакетов необходим достижимый IPv4-маршрут. На туннельном интерфейсе должен быть настроенIPv4-адрес, в противном случае маршрут через туннельный интерфейс будет недействительным.

В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Настройка портов

На коммутаторе “Switch1”:

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.11.1/24
Switch(config-if)# exit

На коммутаторе “Switch2”:

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.20.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.12.1/24
Switch(config-if)# exit

Шаг 3: Настройка интерфейса туннеля

На коммутаторе “Switch1”:

Switch(config)# interface tunnel1
Switch(config-if)# tunnel mode gre
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.20.1
Switch(config-if)# tunnel gre key 100
Switch(config-if)# ip address 192.192.168.1/24
Switch(config-if)# keepalive 5 3
Switch(config-if)# exit

На коммутаторе “Switch2”:

Switch(config)# interface tunnel1
Switch(config-if)# tunnel mode gre
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.10.1
Switch(config-if)# tunnel gre key 100
Switch(config-if)# ip address 192.192.168.2/24
Switch(config-if)# keepalive 5 3
Switch(config-if)# exit

Шаг 4: Настройка статического маршрута и ARP

На коммутаторе “Switch1”:

Switch(config)# ip route 192.168.20.0/24 192.168.10.2
Switch(config)# ip route 192.168.12.0/24 tunnel1

На коммутаторе “Switch2”:

Switch(config)# ip route 192.168.10.0/24 192.168.20.2
Switch(config)# ip route 192.168.11.0/24 tunnel1

Шаг 5: Выход из режима “Global config”

Switch(config)# end

Шаг 6: Проверка

На коммутаторе “Switch1”:

Switch# show interface tunnel1
Interface tunnel1
  Interface current state: UP
  Hardware is Tunnel
  Index 8193 , Metric 1 , Encapsulation TUNNEL
  VRF binding: not bound
  Internet primary address:
    192.192.168.1/24 pointopoint 192.192.168.255
  Tunnel protocol/transport GRE/IP, Status Valid
  Tunnel source 192.168.10.1(eth-0-1), destination 192.168.20.1
  Tunnel DSCP inherit,  Tunnel TTL 255
  Tunnel GRE key enable: 100
  Tunnel GRE keepalive enable, Send period: 5, Retry times: 3
  0 packets input, 0 bytes
  0 packets output, 0 bytes

На коммутаторе “Switch2”:

Switch# show interface tunnel1
Interface tunnel1
  Interface current state: UP
  Hardware is Tunnel
  Index 8193 , Metric 1 , Encapsulation TUNNEL
  VRF binding: not bound
  Internet primary address:
    192.192.168.2/24 pointopoint 192.192.168.255
  Tunnel protocol/transport GRE/IP, Status Valid
  Tunnel source 192.168.20.1(eth-0-1), destination 192.168.10.1
  Tunnel DSCP inherit,  Tunnel TTL 255
  Tunnel GRE key enable: 100
  Tunnel GRE keepalive enable, Send period: 5, Retry times: 3
  0 packets input, 0 bytes
  0 packets output, 0 bytes