Hotspot istemcileri için bölünmüş tünelleme uygulama başına hariç tutma değildir
Bir uygulamayı VPN'den hariç tutmak yalnızca telefonu değiştirir. Bağlı dizüstü bilgisayar, kaynak, hedef ve NAT üzerinde eşleşen kendi iletim kuralına ihtiyaç duyar.
Kulağa aynı gelen iki gereksinim aynı değildir: «bu uygulamayı VPN'den hariç tut» ve «bu tek hedefi hotspotumdaki dizüstü bilgisayar için VPN dışına gönder». Birincisi telefonda bir soketin ağ seçme biçimini değiştirir. İkincisi, başka bir cihazdan gelen ve telefonun zaten kabul ettiği bir paket için iletim kararını değiştirmek zorundadır. İkisini karıştırmak, bir hotspot istemcisinin her zaman yalnızca telefonun kendi tarayıcısı için geçerli olan bir istisnayla kalmasına yol açar.
İki soruyu iki alt sistem sahiplenir
Android uygulama ağlarını ve tethering'i ayrı tutar. Uygulama soketleri bağlantı yığını tarafından bir ağa atanır ve bir VPN uygulaması kendi soketlerinden hangilerinin tünele gireceğine karar verir. Bağlı bir istemciden iletilen paketler tethering alt sistemi tarafından işlenir ve o, alt arabirimdeki yollar, ilke kuralları ve çeviri için netd'ye başvurur.
Uygulama başına hariç tutma, bir uygulama soket açtığında değerlendirilir. İletilen paket bu denetime hiçbir zaman ulaşmaz, çünkü bu cihazdaki bir uygulama soketinden doğmamıştır. İki ayarın birbirinin yerini alamamasının tüm nedeni budur ve bu ikisinin hiçbirinde bir hata değildir.
Uygulama başına hariç tutma gerçekte neyi değiştirir
Bir VpnService oluşturucusu, tünelin dışında kalan paketleri addDisallowedApplication ile adlandırabilir veya içeride izin verilen tek paketleri addAllowedApplication ile adlandırabilir. Bu uygulamalar sonra alttaki ağda soket açar, VPN ise diğer her şey için varsayılan yolu elinde tutmaya devam eder.
Kapsam kesindir: paketin kendi soketleri, bu cihazda, tünel açık olduğu sürece. İletilen trafik hakkında hiçbir şey söylemez, ikinci bir cihaz hakkında hiçbir şey ve sistemin tethering adına gönderdiği paketler hakkında da hiçbir şey.
Bu bir hedef denetimi de değildir. Bir tarayıcıyı hariç tutmak, o tarayıcının ulaştığı her adresi hariç tutar, tünelin içinde tutmak istediğiniz adres dahil. Gereksinim uygulama yerine bir hedef adlandırdığında, uygulama seçici yapısı gereği yanlış araçtır.
Tether edilmiş bir paket telefona nasıl görünür
İstemcinin paketi hotspot arabirimine telefonun atadığı özel bir kaynak adresle, diyelim 192.168.43.20, ve genel bir hedefle gelir. İletmek için telefonun yukarı akış bağlantısına doğru bir yola ve yanıtların geri dönüş yolunu bulması için bir çeviri kuralına ihtiyacı vardır, çünkü istemcinin özel adresi hücresel ağda bir anlam taşımaz.
Android bunu bir yönlendirme tablosu seçen ilke kurallarıyla ifade eder ve ağlar ile VPN'ler değiştiğinde netd ilgili tabloları ve kuralları yeniden oluşturur. Bir forum gönderisinden veya aynı modelin daha eski bir sürümünden kopyalanan tablo numarası, kural önceliği ya da arabirim adı kalıcı bir sahiplik kurmaz. Bu yeniden oluşturma, elle yazılmış bir kuralın bir saat çalışıp bir sonraki yeniden bağlanmadan sonra durabilmesinin de nedenidir.
Bir hotspot istisnasının gerçekte hangi ilkeye ihtiyacı var
Bir kurala dokunmadan önce kararı kaynak, hedef ve amaçlanan yol olarak yazın. Onaylanmış tek bir hedef için en küçük biçim şöyle görünür:
| Source | Destination | Intended path |
|---|---|---|
| One authorized hotspot client | One approved public service address | Ordinary cellular uplink |
| The same client | All other covered destinations | Shared VPN |
| The phone's own apps | Their existing destinations | Unchanged phone policy |
Her iki yön de eksiksiz olmalıdır. Doğrudan dal, o anda geçerli olan hücresel yukarı akış üzerinden kullanılabilir bir yola ihtiyaç duyar; VPN dalı tünel yoluna ve iletme iznine ihtiyaç duyar. Herhangi bir kaynak çevirisi seçtiğiniz çıkışla eşleşmelidir, çünkü tünel arabirimine uygulanan NAT tünelin adresini gösterir, hücresel olanı değil, ve o zaman dönüş yolu gidiş yoluyla uyuşmaz.
Yanıtlar aynı alt istemciye izlenen durum veya açık bir yol üzerinden ulaşmalıdır ve giden paket sayacı bunların hiçbirini kanıtlamaz. VPN'in kendi dış taşımasını da istisnanın kapsamı dışında tutun, yoksa tünelin taşıyıcı paketleri bir istemcinin web isteği için yazılmış bir ilkeyi devralır.
Yakalanan tek bir adres hedef değildir
Bir tarayıcıdan okunan tek bir IPv4 adresi bir anlık görüntüdür. Büyük hizmetler anycast'ten veya dönen bir kenar adresleri kümesinden yanıt verir, birçoğu çift yığındır ve bir oturum açma akışı sayfanın hiç göstermediği kimlik doğrulama ve telemetri ana makinelerine dokunabilir. Rastladığınız adresin etrafına kurulan bir istisna, hizmet bir dahaki sefere yükü yeniden dengelediğinde kırılır.
Hizmet sahibinin belgelediği adresleri veya yayımladığı bir aralığı kullanın ve her iki adres ailesini de hesaba katın. Gereksinim kararlı bir küme olarak ifade edilemiyorsa, bu büyük olasılıkla hizmet için bir ilke sorusudur, telefonda bir yönlendirme hilesi değil.
Alt taraftan doğrulayın
Üç denetim, bu sırayla: dizüstü bilgisayardan seçilen hizmet, VPN'in içinde kalması gereken sıradan bir hedef ve etkilenmemesi gereken bir telefon uygulaması. Ardından yeniden bağlanmadan sonra ve yukarı akış değiştikten sonra tekrarlayın, çünkü ilke tabloları o zaman yeniden oluşturulur.
Telefonun paylaşım uygulaması bu sözleşmeyi bir yeniden bağlanma boyunca tutamıyorsa, cihazda root kuralları biriktirmek yerine seçici ilkeyi desteklenen bir alt yönlendiriciye taşıyın. Bir yönlendirici, kararlı bir sahiple kaynak ve hedef eşleşmesini ifade edebilir ve tethering modülünün belgeleri telefonun gerçekte ne yaptığı için doğru başvurudur.