18.3 Настройка NVGRE
18.3.1 Введение в функцию
Сетевое виртуализирование с использованием Generic Routing Encapsulation (NVGRE) — это метод инкапсуляции, предназначенный для создания виртуальных сетевых overlay поверх физической сети. NVGRE использует метод инкапсуляции Generic Routing Encapsulation (GRE). Для представления Tenant Network Identifier (TNI) используется нижние 24 бита заголовка GRE. Как и VXLAN, это 24-битное пространство позволяет создать 16 миллионов виртуальных сетей.
18.3.2 Настройка
Конфигурация NVGRE

Рисунок 18-7: NVGRE
В следующем примере коммутаторы switch1 и switch2 соединены через маршрут уровня 3. Трафик VLAN 20 инкапсулируется в VNI 20000, чтобы пройти через сети уровня 3.
Следующую конфигурацию необходимо применить ко всем коммутаторам, если идентификатор коммутатора не указан.
Шаг 1: Войти в режим конфигурации
Switch# configure terminal
Шаг 2: Войти в режим конфигурации VLAN и создать VLAN, включить overlay для каждого VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
Шаг 3: Войти в режим конфигурации интерфейса и настроить атрибуты интерфейса
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Настройка интерфейса для Switch1:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Настройка интерфейса для Switch2:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
Шаг 4: Создание статического маршрута
Настройка для Switch1:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
Настройка для Switch2:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
Шаг 5: Установить атрибуты для overlay
Настройка для Switch1:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type nvgre
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
Настройка для Switch2:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type nvgre
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
Отобразить результат на Switch1:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.1.1.1
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 2.2.2.2, Source ip: 1.1.1.1, Type: NvGRE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Отобразить результат на Switch2:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 2.2.2.2
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 1.1.1.1, Source ip: 2.2.2.2, Type: NvGRE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Настройка маршрутизации NVGRE

Рисунок 18-8: NVGRE
В следующем примере VM-1 и VM-3 инкапсулируются в один и тот же VNI для формирования распределенного маршрута через NVGRE; VM-2 и VM-4 инкапсулируются в другой VNI для формирования распределенного маршрута через NVGRE.
Следующую конфигурацию необходимо применить ко всем коммутаторам, если идентификатор коммутатора не указан.
Шаг 1: Войти в режим конфигурации
Switch# configure terminal
Шаг 2: Войти в режим конфигурации VLAN и создать VLAN, включить overlay для каждого VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,30
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 30 overlay enable
Switch(config-vlan)# exit
Шаг 3: Создать экземпляр VRF
Switch(config)# ip vrf tenant
Switch(config-vrf)# exit
Шаг 4: Создать интерфейс уровня 3 и установить IP-адрес
Настройка для Switch1:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.111/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.111/24
Switch(config-if)# exit
Настройка для Switch2:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.222/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.222/24
Switch(config-if)# exit
Шаг 5: Войти в режим конфигурации интерфейса и установить атрибуты интерфейса
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
Настройка для Switch1:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Настройка для Switch2:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
Шаг 6: Установить атрибуты для overlay
Настройка для Switch1:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type nvgre
Switch(config-overlay)# remote-vtep 1 virtual-mac 22.22.22
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
Настройка для Switch2:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type nvgre
Switch(config-overlay)# remote-vtep 1 virtual-mac 11.11.11
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
Шаг 7: Создать статические маршруты и маршруты NVGRE
Настройка для Switch1:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
Switch(config)# ip route vrf tenant 2.2.2.2/32 remote-vtep 1 vni 20000 inner-macda 3.3.3
Switch(config)# ip route vrf tenant 3.3.3.2/32 remote-vtep 1 vni 30000 inner-macda 4.4.4
Настройка для Switch2:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
Switch(config)# ip route vrf tenant 2.2.2.1/32 remote-vtep 1 vni 20000 inner-macda 1.1.1
Switch(config)# ip route vrf tenant 3.3.3.1/32 remote-vtep 1 vni 30000 inner-macda 2.2.2
Шаг 8: Выход из режима конфигурации
Switch(config)# end
Шаг 9: Проверка
Отобразить результат на Switch1:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.2/32 is in overlay remote nvgre vtep:1.1.1.1->2.2.2.2, vni:20000
S 3.3.3.2/32 is in overlay remote nvgre vtep:1.1.1.1->2.2.2.2, vni:30000
Отобразить результат на Switch2:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.1/32 is in overlay remote nvgre vtep:2.2.2.2->1.1.1.1, vni:20000
S 3.3.3.1/32 is in overlay remote nvgre vtep:2.2.2.2->1.1.1.1, vni:30000