Bosh sahifa Wiki GRE

GRE

GRE — bir tarmoq protokoli paketini boshqa IP paket ichiga joylab tunnel orqali uzatadigan kapsulalash protokoli. Uning to‘liq nomi Generic Routing Encapsulation hisoblanadi.

GRE turli Layer 3 protokollarini IP tarmog‘i ustida tashishi, bir-biridan uzoq subnetlarni mantiqiy bog‘lashi va routing protokoli trafikini tunnel ichidan o‘tkazishi mumkin.

GREning asosiy vazifasi kapsulalash hisoblanadi. U odatiy holatda trafikni shifrlamaydi va foydalanuvchini autentifikatsiya qilmaydi.

Kapsulalash jarayoni

Tunnelga kirayotgan asl paket inner packet hisoblanadi. GRE router unga GRE header va yangi tashqi IP header qo‘shadi.

Tashqi IP header
GRE header
Ichki IP packet

Oraliq internet routerlari ichki manzilni bilmaydi. Ular faqat tashqi IP headerdagi tunnel endpoint manzillariga qarab marshrutlaydi.

Tunnel oxiridagi router tashqi IP va GRE sarlavhalarini olib tashlaydi. Asl paket ichki tarmoqqa uzatiladi.

Tunnel endpointlari

GRE tunnel ikki endpoint orasida yaratiladi.

Har endpointda:

sozlanadi.

Tunnel source fizik interfeys manzili yoki loopback manzil bo‘lishi mumkin. Loopback ishlatilsa, unga underlay routing orqali yetish mavjud bo‘lishi kerak.

GRE header

GREning asosiy headeri kichik.

Maydonlar:

Protocol Type ichki payload turini ko‘rsatadi. Masalan, IPv4, IPv6 yoki boshqa protokol.

IP protocol raqami

GRE TCP yoki UDP portidan foydalanmaydi. IPv4 headerdagi protocol field GRE uchun 47 qiymatiga ega.

Firewall qoidasi IP protocol 47ga ruxsat berishi kerak. Bu TCP port 47 yoki UDP port 47 degani emas.

GRE vazifalari

GRE quyidagi holatlarda uchraydi:

  • filial subnetlarini tunnel orqali bog‘lash;
  • OSPF yoki EIGRP multicastini internet ustida tashish;
  • IPv6 paketni IPv4 tarmog‘i orqali o‘tkazish;
  • maxsus overlay;
  • hub-and-spoke tunnel;
  • IPsec bilan birga routing protokoli ishlatish;
  • laboratoriya va test.

Oddiy IPsec policy-based tunnel multicast routing paketlarini to‘g‘ridan-to‘g‘ri tashimasligi mumkin. GRE multicastni kapsulalab, keyin IPsec bilan himoyalanadi.

Point-to-point GRE

Eng sodda GRE ikki aniq endpoint orasida ishlaydi.

Misol:

Router A public IP: 203.0.113.10
Router B public IP: 198.51.100.20
Tunnel subnet: 10.255.0.0/30

A va B tunnel interfeyslari 10.255.0.1 va 10.255.0.2 manzillarini oladi. Ichki marshrutlar shu tunnel next hop orqali yo‘naltiriladi.

Routing

GRE tunnel yaratilgani bilan ichki subnetlar avtomatik ma’lum bo‘lmaydi.

Routing usullari:

Tunnelning tashqi destination manziliga route tunnelning o‘zidan emas, fizik underlay interfeys orqali borishi kerak. Aks holda recursive routing yuzaga kelishi mumkin.

Multicast va broadcast

GRE multicast va ayrim broadcast trafikni tashishi mumkin.

Bu routing protokollari uchun muhim:

  • OSPF Hello;
  • EIGRP Hello;
  • PIM;
  • ayrim discovery protokollari.

Internetning o‘zi bu multicastni bilmaydi. GRE uni oddiy unicast tashqi IP paket ichiga joylaydi.

GRE va IPsec

GRE shifrlamaydi. Trafikni himoyalash uchun u IPsec bilan birga ishlatilishi mumkin.

GRE over IPsec

Avval ichki paket GREga joylanadi, keyin GRE paketi IPsec bilan shifrlanadi.

Afzalligi:

IPsec over GRE

Avval IPsec himoyalangan paket GRE tunnelga joylanadi. Bu ko‘rinish kamroq uchraydi va aniq arxitekturaga bog‘liq.

MTU

GRE qo‘shimcha sarlavha qo‘shadi. IPv4 tashqi header va asosiy GRE header odatda kamida 24 bayt overhead yaratadi.

Ethernet MTU 1500 bo‘lsa, ichki packet uchun joy kamayadi.

MTU noto‘g‘ri bo‘lsa:

  • fragmentatsiya;
  • packet drop;
  • TCP sessiya qotishi;
  • PMTUD black hole;
  • yuqori CPU yuk

yuz berishi mumkin.

Tunnel interfeys MTUsi kamaytiriladi yoki TCP MSS moslashtiriladi.

Fragmentatsiya

Fragmentatsiya ichki paket tunnelga kirishdan oldin, tashqi GRE packet yo‘lda yoki tunnel endpointda yuz berishi mumkin.

DF biti va platforma xatti-harakati muhim. Tashqi packet fragmentlansa, barcha fragmentlar yetib kelmasdan ichki packet tiklanmaydi.

Katta paketlarda Path MTU Discovery uchun zarur ICMP xabarlarini bloklamaslik kerak.

GRE Key

GRE headerdagi ixtiyoriy Key maydoni tunnel yoki trafik guruhini ajratishga yordam beradi.

Key:

ni farqlashi mumkin.

Key shifrlash kaliti emas. U maxfiylik yoki autentifikatsiya bermaydi.

Sequence Number

Ixtiyoriy sequence number paketlar tartibini aniqlashga yordam beradi.

IP tarmog‘ida paketlar turli yo‘ldan kelib, tartibi o‘zgarishi mumkin. GREning asosiy ishlashi sequence numberni majburiy talab qilmaydi.

Keepalive

Oddiy tunnel interfeysi source va destination konfiguratsiyasi borligi sababli up ko‘rinishi mumkin. Bu masofadagi endpoint haqiqatan ishlayotganini kafolatlamaydi.

GRE keepalive endpointga maxsus paket yuborib, qaytish yo‘lini tekshiradi.

Keepalive interval, retry count va down holati bilan boshqariladi. Barcha platformalar va tunnel turlari keepaliveni bir xil qo‘llamaydi.

Tunnel recursive routing

Tunnel destinationga route tunnel interfeys orqali chiqsa, recursive muammo yuz beradi.

  1. Tunnel B public IPga boradi.
  2. Dynamic routing shu public IP uchun tunnel orqali yaxshiroq route o‘rganadi.
  3. Tunnelni yetkazish uchun tunnelning o‘zi kerak bo‘lib qoladi.
  4. Sessiya beqarorlashadi.

Tunnel endpoint manzillari uchun underlay route alohida va barqaror saqlanadi.

mGRE

Multipoint GRE bitta tunnel interfeys orqali bir nechta remote endpoint bilan ishlashga imkon beradi.

mGRE ko‘pincha hub-and-spoke, DMVPN, dinamik spoke tunnel va NHRP bilan bog‘liq.

Oddiy point-to-point GREda har remote uchun alohida tunnel kerak. mGRE ko‘p filialli tarmoqni soddalashtiradi.

Xavfsizlik

GRE paketini tarmoqdagi begona qurilma soxtalashtirishi mumkin.

GREning o‘zida:

  • kuchli autentifikatsiya;
  • maxfiylik;
  • yaxlitlik;
  • replay himoyasi

yo‘q.

Himoya uchun IPsec, source ACL, tunnel endpoint allowlist, underlay firewall, routing autentifikatsiyasi va monitoring qo‘llanadi.

Diagnostika

GRE tunnel ishlamasa:

tekshiriladi.

Ping tunnel IPga ishlashi barcha ichki subnetlar ishlashini kafolatlamaydi. Ichki route va firewall ham tekshiriladi.

Bog‘liq tushunchalar

Tunnel, Encapsulation, IP protocol 47, IPsec, MTU, MSS, Dynamic routing, mGRE, DMVPN, Underlay, Overlay