Tüneliniz açık, ağ geçidi ping'e yanıt veriyor ve dosya paylaşımı hâlâ zaman aşımına uğruyor. Bu bileşim nadiren bir yönlendirme sorunudur: Windows, VPN bağdaştırıcısının alt ağını Genel profile koymuş ve Özel ya da Etki Alanı için yazılmış her izin kuralı hiç uygulanmamıştır. Bununla ofise sorunsuz ulaşan dizüstü bilgisayarlarda ve diğer tüm istemcilere hizmet veren RRAS sunucularında karşılaştım ve söz konusu profili adlandırdığınızda onarım kısa sürer. İşte çalıştığım sıra, bir sonraki adımdan önce ne zaman duracağınızı söyleyen denetimle birlikte.

Trafiğin gerçekte hangi profille geldiğini belirleyin

Windows güvenlik duvarının tek bir genel modu yoktur. Bağlı her arabirim bir kategori taşır ve gelen paketler, geldikleri arabirimin kategorisine göre süzülür; dolayısıyla tüneldeki bir istemcinin neye ulaşabileceğine VPN bağdaştırıcısının profili karar verir, yanındaki Wi-Fi veya Ethernet bağdaştırıcısı değil. Herhangi bir şeyi değiştirmeden önce iki olguyu da okuyun:

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory, IPv4Connectivity
Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction

Standart bir OpenVPN veya WireGuard kurulumunda VPN bağdaştırıcısı tanımlanmamış ağ olarak görünür ve Genel profile düşer; bu, Windows'un sınıflandıramadığı her ağ için varsayılandır: üzerinden hiçbir etki alanı denetleyicisi yanıt vermedi ve hiçbir ağ geçidi profili eşleşmedi. Arabirim adı burada önemsizdir, bu yüzden bağdaştırıcıya "VPN" ya da "Corp" demek hiçbir şeyi değiştirmez. DomainAuthenticated, etki alanına katılmış bir makine gerektirir , o arabirim üzerinden gerçekten bir etki alanı denetleyicisine ulaşabilen bir makine; yalnızca bir alt ağ taşıyan bölünmüş bir tünel bu koşulu karşılamaz.

İhtiyacınız olan kural zaten VPN havuzuyla sınırlıysa ve az önce okuduğunuz kategoriye zaten uygulanıyorsa burada durun: süzme sizin katmanınız değil ve bakılacak sonraki yer hizmet yapılandırmasıdır. Bu denetim on saniye sürer ve bir saat kural düzenlemesinden tasarruf sağlar. Kategori adları ve her birinin neyi kapsadığı Get-NetConnectionProfile başvurusunda belgelenmiştir.

Kuralları düzenlemeden önce süzmenin, yönlendirmenin değil, doğru olduğunu doğrulayın

Ping zayıf bir testtir. Hizmet bağlantı noktası düşürülürken ICMP geçebilir ve bir ana bilgisayar LAN'dan yanıt verirken aynı isteği tünel üzerinden reddedebilir. İstemcinin ihtiyaç duyduğu bağlantı noktasını istemciden test edin:

Test-NetConnection 10.8.0.1 -Port 445
Test-NetConnection 10.8.0.1 -Port 3389 -InformationLevel Detailed

Bağlantı noktası testi başarısız olursa iki katmanı ayırın. Tünel veya yol arızası genellikle ağ geçidi adresinden hiç yanıt gelmemesi olarak görünürken, güvenlik duvarı düşürmesi yanıt veren bir ağ geçidi ve yanıt vermeyen bir hizmet bağlantı noktası gösterir. Havuzu RRAS üzerinden yayımlayan bir Windows sunucusunda aynı testi bir istemciden çalıştırın ve sunucunun kendi profilini okuyun: RAS arabirimi, gelen kuralları istemci aralığından hiç söz etmeyen bir kategoride oturabilir ve bu yüzden makine kendi LAN'ına hizmet eder ve tüneldeki her istemciyi reddeder.

Sonuç hâlâ belirsizse, söz konusu profilin düşürmelerini günlüğe kaydedin ve okuyun:

Set-NetFirewallProfile -Name Public -LogBlocked True `
  -LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"

İstemcinin adresini ve bağlantı noktasını DROP ile adlandıran girdiler kesindir ve hangi kuralın eksik olduğunu da söyler. İçinde hiçbir şey olmayan bir günlük, istemcinin SYN'i hiç görünmezken ana bilgisayarın öncesine işaret eder, bu yüzden başka bir güvenlik duvarı nesnesine dokunmadan önce tünele, NAT kuralına veya havuz yoluna dönün.

Bir gelen kuralını istemci havuzuyla sınırlayın

Onarım, uzak adresi dünya değil havuz olan tek bir gelen izin kuralıdır. Yükseltilmiş bir oturumdan:

New-NetFirewallRule -DisplayName "VPN clients - SMB 445" `
  -Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 `
  -RemoteAddress 10.8.0.0/24 -Profile Public

Hizmet tek bir ikili dosya olduğunda, bağlantı noktası listesi yerine -Program parametresiyle programa sınırlı bir kuralı tercih edin; bu, istisnayı hem işleme hem de kaynak aralığına daraltır.

Profil seçimi, aynı hatanın ters yönde yapıldığı yerdir. -Profile Public bağdaştırıcı Genel olduğunda ve Genel kaldığında yeterlidir. -Profile Any hizmet, Windows bağdaştırıcıyı nasıl sınıflandırırsa sınıflandırsın çalışmak zorunda olduğunda savunulabilir, ama yalnızca uzak kapsam kaldığı sürece. Asla savunulamayacak olan şey -RemoteAddress Any Genel profilde: bu kural dizüstü bilgisayarı katıldığı her kafe ve otel ağına kadar izler ve bağlantı noktasını o alt ağı paylaşan herkese açar.

Havuzu kuralın yanına not edin. -RemoteAddress 10.8.0.0/24 VPN havuzu yeniden numaralandırıldığı gün sessizce eşleşmeyi bırakır ve arıza tam olarak özgün hataya benzer, bu yüzden ikinci bir öğleden sonraya mal olur. Kuralları hizmete ve kaynak aralığına göre adlandırın, onları -Group ile birlikte tutun ve havuz tanımı her değiştiğinde yeniden okuyun. Tek ekranda denetleyebileceğiniz bir kural envanteri, kimsenin bulamadığı doğru bir kuraldan daha iyidir.

Kategoriyi yalnızca kategori karar olduğunda değiştirin

Arabirimi Özel'e çevirmek de işe yarar ve yanlış varsayılandır. Özel profil, dosya ve yazıcı paylaşımını, ağ bulmayı, uzak masaüstünü ve tabana bağlı olarak daha fazlasını kapsayan uzun bir yerleşik izin kuralı listesi taşır, bu yüzden VPN bağdaştırıcısını yeniden sınıflandırmak tüneldeki her istemci için hepsini birden etkinleştirir. Tek bir sınırlı kural tek bir hizmeti tek bir aralığa verir. Güvenilmeyen ağlara da katılan bir dizüstü bilgisayarda bu fark kozmetik değildir.

Sınıflandırmanın gerçekten yanlış olduğu durumlar vardır: ofis alt ağını taşıyan her zaman açık veya siteler arası bir tünel güvenilir altyapıdır ve bu bağdaştırıcıyı Özel olarak işaretlemek, bir kez ilkeyle verilen meşru bir tasarım kararıdır, her talep için değil. Bunu yaptığınızda açıkça yapın:

Set-NetConnectionProfile -InterfaceAlias "OpenVPN TAP-Windows6" -NetworkCategory Private

Yönetilen bir cihazda önce ayarın bir Grup İlkesi ya da MDM temel çizgisine ait olup olmadığını kontrol edin. Aitse, yerel değişiklik bir sonraki yenilemede geri alınır ve gpresult /h ayara sahip ilkeyi adlandırır; bunu orada düzeltin, uç noktada değil.

İki uçtan doğrulayın ve iz bırakın

Kullanıcının bildirdiği akışı istemciden, değişiklikten sonra doğrulayın:

Test-NetConnection 10.8.0.1 -Port 445
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallAddressFilter | Select-Object RemoteAddress
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort

Sonra gelecek hafta bozulacak şeylerde döngüyü kapatın. Ana bilgisayarı yeniden başlatın ve yeniden test edin, çünkü yanlış profile sınırlanmış bir kural, bağdaştırıcı başka bir kategoride geri gelene kadar çalışmaya devam eder. İkinci bir istemciden test edin, çünkü eski bir kiralaması olan tek bir istemci havuz uyuşmazlığını gizleyebilir. Eklediğiniz kuralları kaldırdıklarınızla karşılaştırın, çünkü örtüşen istisnalar iki satırlık bir düzeltmenin kimsenin inceleyemeyeceği bir süzme ilkesine dönüşme yoludur.

Bitmiş saymadan önce:

  • Kuralda adlandırılan profil, trafiğin geldiği arabirimdeki profildir.
  • Uzak kapsam VPN havuzudur ve bu havuz sunucunun gerçekte dağıttığıyla eşleşir.
  • Eklediğiniz hiçbir kural -RemoteAddress Any Genel profilde kullanmaz.
  • Testin geçmesi için hiçbir şey devre dışı bırakılmadı ve her kategori değişikliği kimin onayladığını kaydeder.

İlgili makaleler