Dizüstü bilgisayar ofis VPN'ine bağlanır ve bir yazıcının web sayfası ile yalnızca yerel ağda yanıt veren bir intranet dahil her şey onu izler. Elle yapılmış bir yol bunu bir saatliğine düzeltir, sonra bağlantı düşer, geri gelir ve istisna kaybolur. Tünelde bir sorun yok: Windows tek bir yönlendirme tablosu tutar ve VPN bağdaştırıcısı her bağlantıda bu tablodaki payını yeniden yazar. Hayatta kalan, bağdaştırıcının kendi girdilerinin dışında kalan her şeydir.

Tünel hangi girdiyi devralır

Tabloyu iki kez kaydedin, bir kez tünel kapalıyken, bir kez açıkken ve varsayılan satırları karşılaştırın. Profil varsayılan öneki talep ettiğinde bağdaştırıcının girdisi tablodaki en geniş satırdır, bu yüzden her istisna ondan daha dar olmalıdır. Bu, güven veya politikayla ilgili bir beyan değil, önek uzunluğuyla ilgili aritmetiktir. Ayrıca istisnanın hangi arabirimi adlandırması gerektiğini de belirler.

Devam etmeden önce arabirim dizinini ve yerel ağ geçidini yazın, çünkü makine başka bir ağa katıldığında ikisi de değişir. Aşağıdaki komutlar bunları bellekten değil makineden okur.

route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.30

İkinci komut, bir adresin şu anda kullanacağı arabirimi ve sonraki atlamayı bildirir; bu, kırk satır okuyup tahmin etmekten iyidir. Bağlanmadan önce ve sonra çalıştırın, değişiklik kaydına eklemeye değer çifti elde edersiniz. Her iki çıktı da bu sayfanın geri kalanında kullanılan sayıları verir.

Ana bilgisayar yolu belirginlikle kazanır

En uzun önek eşleşmesi kazananı belirler, bu yüzden /32 fiziksel ağ geçidi üzerinden gitmek, tünele dokunmadan tünel üzerinden giden varsayılanı yener. O adrese giden trafik yerel arabirimden çıkar, diğer her şey mevcut yolunu korur. Tünel hâlâ varsayılanı taşır ve o hedef için tek aday olmayı bırakır. Tablonun sunduğu tek kaldıraç önek uzunluğudur ve bu iş için yeterlidir.

Belirginlik, bir alan adını hariç tutma gibi bariz kısayolu da eler, çünkü tablo adreslerle eşleşir ve bir ad birden fazla adrese çözülebilir. Önce ana bilgisayarı çözün, sonra adreslerinden hangisinin istisnayı hak ettiğine karar verin.

Aşağıdaki her şey için Office adlı bir bağlantı, 10.0.0.1 yerel ağ geçidi (arabirim 7) ve 198.51.100.30 hedefi olduğunu varsayın. Bunlar varsayılan değil yer tutucudur ve yukarıdaki komutlar makinenizin gerçekte kullandığı değerleri üretir. Bu değiştirme notunu değişiklikle birlikte saklayın ki sonraki okuyucu sayıları kopyalamasın.

Yolun bir sonraki yeniden bağlanmadan sonra da kalmasını sağlayın

Windows bir VPN bağlantısında hariç tutma talimatı sunmaz, bu yüzden istisna bağdaştırıcının yeniden yazmayacağı fiziksel arabirimde yaşamalıdır. Cevap gibi görünen cmdlet tam tersini yapar: Add-VpnConnectionRoute bir öneki tünelin içine taşır, ki bu bölünmüş profilin bir hedefi taşıyıp gerisini yerelde bırakması gereken ayna durumdur. Burada ona uzanmak, dışarıda tutmak istediğiniz trafiğin içeri girmesini garanti eder.

Elle yapılan biçim tek bir komuttur. Zayıflığı yeniden bağlanma değil, ağ değişikliğidir.

route -p add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7

Bu, yeniden başlatmayı -p sayesinde atlatır ve bir adresi arabirim 7 üzerinden gönderirken tünel geri kalan her şeyi taşır. Dizüstü bilgisayarı başka bir ağa taşıyın, hem ağ geçidi hem dizin eskir, girdi sessizce başarısız olur. Kimin sahip olduğunu ve ne zaman kaldırılması gerektiğini kaydedin.

Bağlantı betiği daha sağlam sürümdür, çünkü girdinin hayatta kaldığını ummak yerine istisnayı her bağlantıdan sonra yeniden ekler. Aşağıdaki iki satır oturum açma betiğine değil, tüneli başlatan neyse ona aittir.

rasdial Office
route add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7

Tüneli ne ayağa kaldırıyorsa ikinci satır için doğru yer orasıdır ve rasdial yalnızca bağlantı kurulduktan sonra döner, böylece yol bağdaştırıcının kendi girdilerinin arkasına düşer. Uyandırmadan sonra tekrar çalıştırın, çünkü bir askıya alma yolu düşürüp tüneli açık bırakabilir. Görev tersiyse, yani tek bir önek tünele itilip gerisi yerelde kalacaksa, o zaman Add-VpnConnectionRoute doğru araçtır.

Yönlendirme bir süreç seçemez

Bazen gereksinim bir hedeften daha dardır: bir program yerel yolu almalı, diğer her şey tünelin içinde kalmalıdır. Yönlendirme bunu ifade edemez, çünkü süreçlerle değil adreslerle eşleşir. İşe yarayan desen sorunu başlatıcıya iter.

Profili varsayılan yolun dışında tutun ve o tek programı yerel arabirim adresine bağlı olarak başlatın; böylece istisna başlatma komutu olur ve tünel zaten yönettiği şeyi korur. Yönlendirme tablosunda hiçbir şey değişmez, bu yüzden bu yeniden bağlanmaları atlatır. Ayrıca tünelin baştan varsayılan yolun sahibi olmaması gerektiği anlamına gelir, yani bu öncekinin üzerine bir yama değil, farklı bir tasarımdır.

Zayıflığı teknik değil operasyoneldir. Program her zaman sarmalayıcı üzerinden başlamalıdır ve uyandırmadan sonra bağlama eksikse tablonun sunduğu yolu sessizce alır. Bilerek açtığınız bir tarayıcı için bu katlanılabilir, tünelden asla çıkmaması gereken her şey için kabul edilemez.

Kullanıcı başına bağlantılar da bunu çözmez. Windows bir bağlantıyı bir hesaba kapsamlayabilirken yönlendirme tablosu makine genelinde kalır, bu yüzden varsayılan yolu tutan hesap kapsamlı bir bağlantı yine de makinedeki her süreci, diğer oturumlar dahil, yönlendirir. Kapsam ancak yolun kapsamı hesapla eşleştiğinde gerçek olur. Bir dizüstü bilgisayarı paylaşan iki kişi bu yüzden tek bir tabloyu paylaşır ve ikincisi birincinin başlattığı tüneli devralır.

İstisnanın bir yeniden bağlanmayı atlattığını doğrulayın

Değişikliği başarısız olacağı şekilde test edin: bağlantıyı kesin, yeniden bağlanın, yeni bir uygulama açın, sonra yerelde kalması gereken bir adres ve tüneli kullanması gereken bir adres isteyin. İkisini de bağlı durumda Find-NetRoute ile karşılaştırın.

Yeniden bağlanmadan sonra önek tabloda yoksa yanlış biçimde değil yanlış nesnede yaşıyordur. Onu fiziksel arabirime taşıyın ve testi yineleyin. Her iki komut çıktısını değişiklik kaydıyla saklayın, çünkü çalışan durumun bir anlık görüntüsü sonradan bir açıklama paragrafından daha çok soruyu yanıtlar. Sonraki kişi bağlantının ne ürettiğini bilmek ister, sizin ne üretmeyi amaçladığınızı değil.

İlgili makaleler