Sözlük
VPN tunneling nedir
IP paketlerini başka bir protokolün paketleri içine sararak güvensiz bir ağ üzerinden kapsüllenmiş halde seyahat etmesini sağlamak.
Tunneling, bir ağ protokolünü diğerinin içinde taşıma tekniğidir. VPN tüneli cihazının açık internete normal olarak göndereceği IP paketlerini alır, ikinci bir protokole sarar ve diğer tarafta açan bir VPN sunucusuna iletir. İç paketler hakkında hiçbir şey yerel ağa ulaşmaz — sadece dış sarmalayıcı.
"Tünel" sözcüğü bir metafor. Fiziksel boru ve özel bir yol yok. Paketler diğer her şeyle aynı router'ları, switch'leri ve denizaltı kablolarını kullanır. Değişen şey o router'ların ne görebileceği: sadece dış sarmalayıcı.
Kapsülleme aslında nasıl çalışır
Her IP paketinin başlığı (nereye gidiyor, nereden geldi, hangi protokolü taşıyor) ve payload'u (veri) var. Tunneling tüm orijinal paketi — başlık ve payload — opak baytlar olarak ele alır, sonra etrafına yepyeni bir paket inşa eder.
Bir WireGuard tüneli şöyle çalışır: cihazın 1.1.1.1'e TCP paketi göndermek istiyor. WireGuard tüm o paketi ChaCha20-Poly1305 ile şifreler, kendi başlığını öne ekler, sonucu UDP datagram'ına sarar ve o datagram'ı VPN sunucusunun public IP'sine port 51820'de gönderir. Yerel ağa görünür tek paket "cihazından VPN sunucusuna UDP". İçindeki TCP paketi okunamaz.
VPN sunucusu süreci tersine çevirir: UDP'yi al, WireGuard başlığını sıyır, şifreyi çöz ve iç paketi gerçek hedefine ilet.
Farklı protokoller neyi tünelliyor
Her VPN protokolü büyük ölçüde neyi neyin içine tünellediği ile tanımlanır.
- WireGuard IP paketlerini UDP içinde tünellliyor. Başlık sabit boyutlu ve minimal. Donenfeld 2017'de tanımlı.
- OpenVPN IP paketlerini TLS içinde tünelliyor, o da TCP veya UDP üzerinde çalışır. TLS handshake oturum anahtarlarını kurar; veri paketleri AES-GCM veya ChaCha20 ile şifrelenir. Altta yatan TLS için RFC'ya bak.
- IPsec IP paketlerini Encapsulating Security Payload (ESP) başlığı içinde tünelliyor, RFC 4303'te tanımlı. ESP doğrudan IP üzerinde (protokol 50) veya NAT geçişi için UDP port 4500 üzerinde çalışır.
- VLESS Reality IP paketlerini özel VLESS frame içinde, TLS 1.3 içinde, TCP içinde tünelliyor. TLS handshake gerçek üçüncü-taraf sertifikası iletir, böylece bağlantı sıradan HTTPS'ten istatistiksel olarak ayırt edilemez. Reality'ye bak.
Ortak nokta, iç paketlerin orijinal formlarında public ağda asla görünmemesi.
Tunneling vs şifreleme
İkisi sıkça karıştırılır. Tunneling kapsülleme, sarma adımı. Şifreleme sarılan içeriği okunamaz yapma. Bir tünel şifreleme olmadan var olabilir (GRE, IP-in-IP) ve şifreleme tunneling olmadan var olabilir (tek TCP bağlantısı üzerinden TLS). VPN'ler ikisini de yapar: kapsülle, sonra kapsüllenen payload'u şifrele.
Pratik sonuç: ağı izleyen herkes sadece dış sarmalayıcıyı görür. Spesifik bir VPN sunucusuyla konuştuğunu ve kabaca ne kadar veri hareket ettiğini bilirler. Hangi siteleri ziyaret ettiğini, hangi uygulamaların açık olduğunu veya iç paketlerin hangi IP'leri hedeflediğini bilmezler.
Tunneling şekli neden önemli
Ağ seviyesi düşmanlar tünel içeriğini okuyamaz, ama tünelin var olduğunu görebilir. WireGuard'ın UDP imzası tanınabilir; bazı ağlar bunu engeller. OpenVPN TCP-443 üzerinde ilk bakışta HTTPS'e benzer ama deep packet inspection altında belirtilere sahip. Reality dış sarmalayıcının popüler bir web sitesine gerçek TLS bağlantısından ayırt edilemez olmasını sağlayarak daha ileri gider.
Tünel protokolü seçimi gözlemcinin neyi tespit edebileceğini, neyi engelleyebileceğini ve her paketin ne kadar overhead taşıdığını belirler. WireGuard'ın yalın başlığı paket başına yaklaşık 32 bayt maliyetlidir. TCP üzerinden OpenVPN daha çok maliyetli ve head-of-line blocking ekler. Doğru tüneli seçmek herhangi bir VPN istemcisinin merkezi tasarım kararıdır.
İlgili terimler
Fexyn'i 7 gün ücretsiz dene
Windows uygulaması Beta'da mevcut. WireGuard, VLESS Reality ve OpenVPN — tarama geçmişi, DNS sorgusu veya trafik içeriği logları tutulmaz.
Fiyatlandırma