Bosh sahifa Wiki Tunnel

Tunnel

Tunnel — bir protokol paketini boshqa protokol ichiga kapsulalab, oraliq tarmoq orqali mantiqiy kanal hosil qilish usuli.

Tunnel uzoq subnetlarni bog‘lash, xususiy manzillarni internet orqali tashish, VPN yaratish, IPv6ni IPv4 tarmoqdan o‘tkazish va overlay tarmoq qurish uchun ishlatiladi.

Tunnel har doim shifrlangan bo‘lavermaydi. GRE kapsulalaydi, IPsec esa shifrlash va autentifikatsiya berishi mumkin.

Kapsulalash

Tunnelga kiruvchi packet inner packet, tashqi tarmoqda tashiladigan paket outer packet hisoblanadi.

Outer header
Tunnel header
Inner packet

Oraliq routerlar outer destinationga qaraydi. Inner private manzillarni bilishi shart emas.

Tunnel endpoint outer headerni olib tashlab, inner packetni davom ettiradi.

Tunnel endpoint

Tunnel ikki yoki undan ko‘p endpointga ega.

Endpointda:

sozlanadi.

Source fizik interfeys yoki loopback bo‘lishi mumkin.

Underlay va overlay

Underlay tunnel packetini tashiydigan haqiqiy IP tarmoq.

Overlay tunnel ustida yaratilgan mantiqiy tarmoq.

Misol:

  • internet — underlay;
  • filiallar orasidagi GRE/IPsec — overlay.

Overlay ishlashi uchun underlay endpointlar o‘rtasida reachability bo‘lishi shart.

GRE tunnel

GRE ko‘p turdagi Layer 3 packetni IP ichida tashiydi.

Afzalliklari:

Kamchiligi — o‘zida shifrlash yo‘q.

GRE ko‘pincha IPsec bilan birga ishlatiladi.

IPsec tunnel

IPsec tunnel mode butun original IP packetni shifrlangan tashqi packet ichiga joylaydi.

Xususiyatlari:

  • maxfiylik;
  • yaxlitlik;
  • peer autentifikatsiyasi;
  • anti-replay;
  • site-to-site VPN.

Policy-based va route-based arxitekturalar mavjud.

SSH tunnel

SSH port forwarding ma’lum TCP xizmatni shifrlangan SSH sessiyasi orqali olib o‘tadi.

Local forwarding:

ssh -L 15432:db.internal:5432 user@gateway

Bu to‘liq IP tunnel emas. Faqat sozlangan port trafikini tashiydi.

VPN tunnel

VPN foydalanuvchi yoki tarmoqni masofaviy tarmoqqa mantiqiy bog‘laydi.

Turlari:

  • site-to-site;
  • remote access;
  • full tunnel;
  • split tunnel;
  • Layer 2 VPN;
  • Layer 3 VPN.

Full tunnel barcha internet trafikni VPNga yuboradi. Split tunnel faqat ma’lum prefikslarni yuboradi.

VXLAN tunnel

VXLAN inner Ethernet frame’ni UDP/IP ichiga joylaydi.

U data centerda Layer 2 segmentlarni Layer 3 fabric ustida kengaytiradi.

VTEP tunnel endpoint vazifasini bajaradi.

IPv6 tunnel

IPv6 packetni IPv4 tarmoq orqali tashish uchun turli tunnellar ishlatilgan.

Misollar:

Native IPv6 mavjud bo‘lsa, tunneldan ko‘ra sodda va samaraliroq bo‘lishi mumkin.

Tunnel routing

Tunnel interfeys yaratilgani bilan inner subnetlar avtomatik route bo‘lmaydi.

Routing:

orqali tashkil qilinadi.

Tunnel destinationning outer route’i tunnelning o‘zidan chiqmasligi kerak. Aks holda recursive routing yuz beradi.

MTU va overhead

Har tunnel header qo‘shadi.

Masalan:

Underlay MTU 1500 bo‘lsa, inner MTU kamayadi.

Noto‘g‘ri MTU:

  • fragmentatsiya;
  • packet loss;
  • TCP qotishi;
  • PMTUD black hole

keltirib chiqaradi.

MSS clamping

TCP tunnel ichiga kirganda router SYN paketidagi MSSni kichraytirishi mumkin.

Bu endpointlarni kichik segment yuborishga majbur qiladi va fragmentatsiyani kamaytiradi.

MSS clamping UDPga ta’sir qilmaydi.

Keepalive

Tunnel interface konfiguratsiya mavjudligi sabab up ko‘rinishi mumkin, ammo remote endpoint ishlamasligi mumkin.

Keepalive yoki routing hello packetlari tunnel holatini tekshiradi.

Health check ishlamasa, trafik black holega tushishi mumkin.

NAT traversal

Tunnel protokoli NAT orqali o‘tishda muammo qilishi mumkin.

IPsec NAT-T ESPni UDP 4500 ichiga joylaydi.

GRE uchun NAT qurilma protocol 47 va session mappingni tushunishi kerak.

TLS yoki UDP asosidagi VPNlar NATga ko‘proq mos bo‘lishi mumkin.

Tunnel va xavfsizlik

Kapsulalash maxfiylik bermaydi.

GRE packet payloadini kuzatuvchi o‘qishi mumkin.

Himoya uchun:

ishlatiladi.

Split tunneling xavfi

Remote client bir vaqtning o‘zida internet va korporativ tarmoqqa ulangan bo‘ladi.

Zaif endpoint tashqi tarmoqdan ichki tarmoqqa ko‘prik bo‘lishi mumkin.

Endpoint firewall, EDR va route policy muhim.

Tunnel nesting

Bir tunnel boshqa tunnel ichida bo‘lishi mumkin.

Masalan:

Application
VPN
GRE
IPsec
Internet

Nesting overhead, MTU va diagnostikani murakkablashtiradi.

Qatlamlar aniq hujjatlashtiriladi.

Diagnostika

Tunnel ishlamasa:

tekshiriladi.

Outer packet yetib borishi inner traffic route’i to‘g‘ri ekanini kafolatlamaydi.

Tunnel monitoringi

Tunnel availability faqat interface holati bilan emas, ichki trafik orqali baholanadi.

Monitoring:

ni kuzatadi.

Encapsulation counter oshib, decapsulation oshmasa, paketlar remote tomonga yetmayotgan yoki qaytish trafik bloklangan bo‘lishi mumkin. Ikki endpoint loglari bir vaqt oralig‘ida solishtiriladi.

Tunnel topologiyasi

Point-to-point tunnel ikki aniq endpointni bog‘laydi. Hub-and-spoke topologiyada filiallar markaziy hubga ulanadi. Full-mesh topologiyada esa tugunlar bir-biri bilan bevosita tunnel hosil qiladi.

Topologiya tanlovi route soni, kechikish, kalit boshqaruvi va failover murakkabligiga ta’sir qiladi.

Bog‘liq tushunchalar

Encapsulation, Underlay, Overlay, GRE, IPsec, VPN, VXLAN, MTU, MSS, Tunnel endpoint, Routing