Tüneli konuğun içinde kurmak ve ana makinede kurmak ikisi de tarayıcının bildirdiği adresi değiştirir ve benzerlik orada biter. Konuğa ait bir tünel anahtarlarını, varsayılan rotasını ve çözümleyicisini konuğun çekirdeği içinde tutar; ana makine ise şifrelenmiş paketleri tek bir uzak adrese iletir. Ana makineye ait bir tünel bunun aynadaki görüntüsüdür: ana makinenin istemcisi oturumu tutar ve rotaları ve ilkeyi uygular, konuk ise dışarı çıkanı ödünç alır. Yanlış sahibi seçerseniz sonraki her belirti sizi yanlış makineye gönderir. İki komut soruyu yaklaşık bir dakikada çözer ve bu kılavuzun geri kalanı yanıtla ne yapacağınızdır.

İstemciye dokunmadan önce sahibi belirleyin

Kural şifreli metnin nerede üretildiğiyle ilgilidir, hangi makinenin VPN simgesi gösterdiğiyle değil. Onu konuk üretiyorsa konuğun VPN sunucusuna çalışan bir rotası olması gerekir ve ana makineden başka bir şeye ihtiyacı yoktur. Onu ana makine üretiyorsa konuğun ana makine üzerinden giden yolu, ana makinenin istemcisinin yerel trafiğe dayattığı her ilkeye dayanmalıdır.

Genellikle üç soru yerleşimi sizin için seçer. Konuğun trafiği ana makinedeki bir kurumsal istemciyi aşmalı mı? Öyleyse tünel konuğun içindedir. Birkaç konuğun tek bir kimlik bilgisi ve tek bir çıkış adresi olmalı mı? Öyleyse ana makinededir ve iletim bilerek yapılandırılmıştır. Konuğun trafiği ana makinenin VPN'inden tamamen uzakta mı kalmalı? Öyleyse konuk içindeki tünel bunu yapısı gereği veren tek düzenlemedir.

Yanıtı VM adının yanına tek satır olarak yazın: guest-owned veya host-owned. Altı makineli bir laboratuvarda o not aşağıdaki herhangi bir adımdan daha fazla zaman kazandırır, çünkü sizi oturum açtığınız makinede hiç bulunmamış bir tüneli araştırmaktan alıkoyar.

WSL1 ve WSL2 zıt durumlardır

WSL1 sanal makine değildir, bu yüzden yerleşim sorusu büyük ölçüde buharlaşır. Linux ikilileri bir çeviri katmanı üzerinden Windows'un ağ yığınına karşı çalışır ve bir Linux VPN istemcisinin yapılandıracağı bağımsız arayüzleri yoktur. Çalışan düzenleme Windows tarafındaki tüneldir; dağıtım hiçbir şeye sahip olmadan sonucu kullanır.

WSL2 bunun tersidir. Bir Hyper-V sanal anahtarının arkasındaki hafif yardımcı VM'de gerçek bir çekirdek çalıştırır ve adres uzayı ana makine tarafındaki bir bağdaştırıcı üzerinden NAT ile çevrilir. Bu yüzden dağıtım içindeki Linux istemcisi fiziksel bir Linux kutusundaki gibi davranır: tun0 veya wg0 oluşturur, kendi rotalarını kurar ve çalışır. Hata ana makine tarafında yaşar. Windows VPN istemcisi yerel ağlarda trafiği engelleyen bir ilkeyle bağlandığında, WSL2 alt ağını güvenilmeyen yerel ağ sayar ve NAT yolunu keser. O zaman dağıtım DNS'i ve dışa erişimi kaybeder, kendi tüneli ise hâlâ sağlıklıdır: wg show el sıkışma bildirir, ip route doğru görünür ve curl asılı kalır.

Hangi düzeltmeyi kullanabileceğiniz Windows derlemesine bağlıdır. Daha eskisi, WSL alt ağı için ana makine istemcisindeki istisnadır ve istemcinin yerel ağ veya bölünmüş tünel ayarlarının altına eklenir. Daha yenisi, bunu destekleyen Windows 11 derlemelerinde, yansıtmalı ağdır: %UserProfile%\.wslconfig dosyasının [wsl2] bölümüne networkingMode=mirrored koyun, wsl --shutdown çalıştırın ve dağıtım özel bir NAT alt ağı yerine ana makinenin arayüzlerini paylaşır. Yansıtmalı mod localhost ve gelen bağlantı noktalarının davranışını da değiştirir, bu yüzden ona anahtar değil geçiş olarak bakın.

NAT, köprü ve ana makinenin görebildikleri

NAT altında konuğun tünel paketleri VPN sunucusunun genel adresine yönlendirilir ve ana makinenin bağdaştırıcısından şifrelenmiş UDP veya TCP olarak çıkar. Ana makine tek bir akış ve bayt sayısını görür, içindeki hedefler hakkında hiçbir şey görmez. Köprülü bağdaştırıcı altında konuğun fiziksel LAN'da kendi katman 2 kimliği vardır, kendi DHCP kiralamasını alır ve MAC tabanlı her ilkeye ikinci bir cihaz gibi görünür. Hiçbir mod ana makinenin tünel yükünü okumasına izin vermez; köprülü konuk çevresindeki ağ için çok daha görünürdür.

Yalıtımın da bir tabanı vardır. Konuk, belleğine sahip olan makineden saklanamaz ve ana makineyi denetleyen herkes konuğun RAM'inden anahtar okuyabilir. Konuktaki tünelin size verdiği şey bir yönlendirme sınırı ve bir kötü amaçlı yazılım sınırıdır, dizüstü bilgisayarı tutan kişiye karşı koruma değil. Belgelenmiş bağdaştırıcı modlarını seçerken açık tutmakta yarar var, çünkü mod hem ana makinenin gördüğünü hem de LAN'ın gördüğünü değiştirir.

Kılavuz: yerleştir, yapılandır, kanıtla

Bu dört denetimi sırayla taze bir konuk kabuğunda çalıştırın ve yazdığınız sahiple uyuşmayan ilkinde durun.

  1. ip route get 1.1.1.1 komutunun tun0 veya wg0 döndürmesi konuk sahipliği, özel bir sonraki atlamayla eth0 döndürmesi ana makine sahipliği demektir.
  2. resolvectl query example.com, veya konuğun çözümleyici hizmeti çalıştırmadığı yerde /etc/resolv.conf dosyasını okuyun. Trafik taşıyan ama DNS taşımayan tünel, en yaygın yarım yapılandırılmış durumdur.
  3. Çıkışları karşılaştırın: konukta curl -4 -s https://ifconfig.me ve ana makinede curl.exe -4 -s https://ifconfig.me. Farklı adresler tünelin sahibinin konuk olduğu anlamına gelir; VPN'deki bir ana makine ile ev sağlayıcısını gösteren bir konuk ise hiçbir şeyin miras alınmadığı durumdur.
  4. İkisini de -6 ile yineleyin. Yalnızca v4 tüneli, istemci engellemedikçe veya yönlendirmedikçe v6 sızdırır ve birçok istemci varsayılan olarak v6'yı fiziksel arayüzde bırakır.

Birkaç konuğun tek bir tüneli paylaştığı ana makine ağ geçidi tasarımında ana makine iletmeli ve çevirmelidir. Linux ana makinede bunlar üç parçadır ve herhangi biri eksik olduğunda konuk sessizce olağan rotasına döner:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT

WireGuard tarafında ana makine eşinin AllowedIPs değeri konukların alt ağını içermelidir, örneğin 192.168.122.0/24, aksi hâlde dönüş paketleri hiç ulaşmaz ve kurulum bir güvenlik duvarı sorunu gibi görünür. Bir Windows ana makinesi aynı sonuca İnternet Bağlantısı Paylaşımı veya Hyper-V anahtarındaki bir NAT kuralıyla ulaşır ve aynı dönüş yolu denetimine ihtiyaç duyar.

Düzen hâlâ açıkken bu tablo en sık karşılaşılan yerleşimleri kapsar:

SituationOwnerCheck first
One VM, host also on a corporate VPNGuestDoes the host client block local networks?
Six lab VMs, one exit addressHost plus forwardingip_forward, NAT rule, server AllowedIPs
Malware or research VMGuest, NATSnapshot age and resolver state
Bridged VM on an office LANGuestDHCP lease and port security

İki tünel, iki konuk ve aralarındaki çatışmalar

Aynı anda iki çıkış gerektiğinde dayanan desen konuk başına bir tüneldir. Her VM kendi varsayılan rotasını ve çözümleyicisini korur, ana makine olağan ağda kalır ve iki tünel aynı yönlendirme tablosu için asla tartışmaz. İki konuğu köprülemek de rotalarını birleştirmez: sanal ağ bir yol sağlar ve her istemciye bu yerel trafiğin tüneli atlayabileceği hâlâ söylenmelidir.

Ana makine tüneli ile konuk tünelini birlikte çalıştırmak meşrudur ve bilinçli iç içe geçirme bazen tam olarak istediğiniz şeydir; konuk kendi tünelinden çıkar ve o tünel ana makineninkinden çıkar. Bunu kesintiye çeviren şey, hangi uç noktaya hangi katmandan ulaşılacağını kimsenin yazmamış olmasıdır. Hedef ve sahipten oluşan iki sütunlu bir liste tutun; rota çatışması bir öğleden sonra süren keşif yerine bir aramaya dönüşür.

Doğrulayın, sonra kurtarmayı sahibinde bırakın

Konuğun içinden test edin taze bir uygulama süreciyle: trafik, ad çözümlemesi, her iki adres ailesi ve tünel düştüğünde ne olduğu. Ana makinenin VPN simgesi konuğun kapsamı hakkında hiçbir şey söylemez ve bu, tüm bu alanda en yaygın yanlış doğrulamadır.

Kurtarma da sahibe aittir. Konuğa ait tünel, konuğun kendi istemcisi ve yazdığı rotalarla geri getirilir. Ana makineye ait tasarım, ana makinenin açılış sırasıyla geri getirilir ve iletim kuralları, bir unit veya bir başlangıç görevi yeniden uygulamadıkça yeniden başlatmayı atlatmaz. Geri yüklenen bir anlık görüntü bir dağıtımdır, geri alma değil, çünkü diskle birlikte eski kimlik bilgilerini ve eski rotaları geri getirir. İşi bitmiş ilan etmeden önce sahibin yazdığınız satırla hâlâ örtüştüğünü, DNS ile her iki adres ailesinin konuğun içinde çözüldüğünü, ölü bir tünelin kara delik yerine kullanılabilir bir ağ bıraktığını ve yeniden başlatmanın veya anlık görüntü geri yüklemesinin aynı durumu yeniden ürettiğini doğrulayın.

İlgili makaleler