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:
- tunnel source;
- tunnel destination;
- tunnel protocol;
- inner address;
- key yoki security association;
- MTU;
- route;
- keepalive
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:
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.
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:
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:
- IPsec;
- TLS;
- WireGuard;
- MACsec link darajasida;
- authentication;
- key rotation;
- ACL
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:
- underlay reachability;
- source va destination;
- tunnel protocol;
- firewall;
- NAT;
- security association;
- key;
- inner route;
- return route;
- MTU;
- MSS;
- keepalive;
- recursive route;
- packet capture
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.
- endpoint reachability;
- tunnel ichki IP;
- packet encapsulation va decapsulation counterlari;
- drop;
- latency;
- jitter;
- security association muddati;
- route almashinuvi
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