> ## Content Index
> Fetch the complete content index at: https://innasiec.pl/llms.txt
> Use this file to discover other available public pages before exploring further.

# GRE - Generic Routing Encapsulation
- URL: https://innasiec.pl/tunel-gre/
- Published: 2018-01-06T19:45:06.000Z
- Updated: 2024-06-24T19:56:11.000Z
- Author: Rafał Rudewicz
- Tags: Routing & Switching, #wordpress

GRE to mechanizm pozwalający na enkapsulację jednego protokołu w drugi oraz zapewniający komunikację pomiędzy dwoma urządzeniami. Rozwiązanie to jest stosowane jako enkapsulacja pakietu IP w kolejny pakiet IP z nagłówkiem GRE i przesłanie go poprzez sieć ISP lub Internet.

W celu umożliwienia komunikacji pomiędzy dwoma urządzeniami tworzony jest wirtualny tunel GRE poprzez wirtualne interfejsy *tunnel* które muszą być w tej samej podsieci. Dzięki temu możliwe jest wykorzystanie GRE do stworzenia zarówno połączenia pomiędzy dwoma urządzeniami (połączenie punkt-punkt), jak również możemy stworzyć **DMVPN – Dynamic Multipoint VPN.**

## Routing

Korzystając z tunelu GRE, router traktuje wirtualny interfejs tunnel jak każdy inny interfejs w topologii punkt-punkt który posiada adres ipv4\. Routery wykorzystują ustanowiony tunel do nawiązania relacji sąsiedztwa w dynamicznych protokołach routingu i wzajemnie wymieniają się trasami. Otrzymane w ten sposób podsieci umieszczane są w tablicy routingu z interfejsem wyjściowym ustawionym jako tunel oraz adresem następnego przeskoku jako adres IPv4 interfejsu tunel na drugim końcu tunelu.

![](https://test.innasiec.pl/wp-content/uploads/2019/01/gre-schemat.png)

**Konfigurując interfejs tunel należy pamiętać o kilku zasadach, a mianowicie:**

- Adres Ip Tunelu to adres z podsieci tunelu
- Źródło tunelu (tunel source) to fizyczny interfejs wyjściowy
- Cel tunelu to adres IP publiczny na interfejsie fizycznym drugiego końca tunelu

![](https://test.innasiec.pl/wp-content/uploads/2019/01/gre-source-destination.png)

## Podstawowa konfiguracja

Konfiguracja tunelu ogranicza się w zasadzie wyłącznie do konfiguracji wirtualnego interfejsu tunel. Poleceniem **interface tunnel 0** wchodzimy w menu konfiguracji interfejsu. Oczywiście zamiar 0 możemy podać dowolnie wybraną liczbę, nie ma wymogu zgodności na obu końcach tunelu. Definiujemy wykorzystanie enkapsulacji **tunnel mode gre ip.** Następnie musimy podać adres ipv4 oraz podać interfejs wyjściowy poleceniem **tunnel source gigabitethernet 0/0** i cel tunelu **tunnel destination 1.1.1.2.**

1. Wejdź w konfigurację interfejsu **interface tunnel 0**
2. Włącz enkapsulację **tunnel mode gre ip**
3. Podaj adres **ip address 10.1.1.2**
4. Podaj fizyczny interfejs wyjściowy **tunnel source gigabitethernet 0/0**
5. Podaj cel tunelu **tunnel destination 1.1.1.2**

![](https://test.innasiec.pl/wp-content/uploads/2019/01/gre-konfiguracja.png)

Konfiguracja routera 0

Router0(config)#interface tunnel 0
Router0(config-if)#tunnel mode gre ip
Router0(config-if)#ip address 10.1.1.1 255.255.255.0
Router0(config-if)#tunnel source gigabitEthernet 0/0
Router0(config-if)#tunnel destination 1.1.1.2

Konfiguracja routera 1

Router1(config)#interface tunnel 0
Router1(config-if)#tunnel mode gre ip
Router1(config-if)#ip address 10.1.1.2 255.255.255.0
Router1(config-if)#tunnel source gigabitEthernet 0/0
Router1(config-if)#tunnel destination 1.1.1.1

## Weryfikacja konfiguracji:

Zweryfikujmy czy wszystko działa jak należy:

Router0(config)#interface tunnel 0
Router1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol 
GigabitEthernet0/0     1.1.1.2         YES manual up                    up 
GigabitEthernet0/1     unassigned      YES unset  administratively down down 
GigabitEthernet0/2     unassigned      YES unset  administratively down down 
Tunnel0                10.1.1.2        YES manual up                    up 

Router1#show  interfaces tunnel 0
Tunnel0 is up, line protocol is up (connected)
  Hardware is Tunnel
  Internet address is 10.1.1.2/24
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel source 1.1.1.2 (GigabitEthernet0/0), destination 1.1.1.1
  Tunnel protocol/transport GRE/IP

Router1#ping 1.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms