Windows NLA'nın yerel ağı yeni, Tanımlanamayan Ağ olarak tekrar tekrar algılamasını engelleyin


14

Bir dizi Windows 10 ve 7 PC ile küçük bir işletme ağını yönetiyorum. Ara sıra ama oldukça sık kullanıcılar, diğer iş arkadaşlarıyla paylaşılan klasörlere artık erişemeyeceklerinden şikayet ederler. Hızlı sorun giderme, sorunun "Özel" ağ profili yerine "Genel" ağ profilini uyguladığı ve böylece Ev Grubu / dosya paylaşımı vb. Aramamdan bu birçok kullanıcı için ortak bir sorundur. İşe yarayan hiçbir önerilen çözüm görmüyorum.

Çevre:

  • Tüm Windows PC'ler kablolu Ethernet üzerinden bağlanır (Wifi NIC'leri olsa da)
  • Hepsi 48 portlu Avaya L2 yönetilen bir anahtara bağlanır, hepsi aynı 10.10.10.x alt ağında
  • Anahtar bir Asus RTN-66U ev yönlendiricisine bağlı
  • Asus yönlendirici Kablo modeme bağlanır
  • Asus yönlendirici Windows makinelerine DHCP sağlar
  • Yönlendiriciyi her Windows PC için DHCP rezervasyonları ile yapılandırdım, yani PC'ler önyüklemede her zaman aynı IP adresini alıyor
  • Etki alanı denetleyicisi yok

Sorun:

Tüm Windows makinelerinin etkin ağ profillerini = Özel olarak yapılandırmış olmama rağmen, sık sık (birkaç haftada bir) herkese geri dönerek dosya paylaşımını vb.

Düzeltilen denemeler:

Her Windows PC'de Yerel Grup İlkesini değiştirdim Computer Configuration->Security Settings->Network List Manager Policies:

  • Tanımlanmamış Ağlar = Özel
  • Ağları Tanımlama = Özel

Gözlemler:

Sorunun, Windows Ağ Konum Bilinci (NLA) hizmetinin yeni bir Ağ Profili oluşturmasına neden olduğunu ve bunun da varsayılan olarak Genel olarak oluşturulmasına neden olduğuna inanıyorum (yukarıdaki Yerel Grup İlkesini varsayılan olarak Özel olarak yapılandırmış olsam da) . Bilgisayarların çoğu, Windows'un birçok kez yeni Tanımlanamayan Ağlar algıladığını, yani "Ağ 14 "'ü gösterdiğini, yani 14 farklı ağ profili olduğunu gösterir. Sicil burada profillerini incelerken Bunları birden fazla profil bakın: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles.

14 profilin tümü, bilgisayarın aslında yukarıda açıklananla aynı ağa bağlandığı zamandır.

NLA'nın bir ağ için nasıl benzersiz bir tanımlayıcı oluşturduğunu ve bu nedenle neden yeni bir ağ keşfettiğini algılayabileceğini açıklayan bir kaynak bulamadım.

Soru:

Windows'un yerel ağımı yanlış bir şekilde yeni bir ağ olarak tanımlamasını nasıl önleyebilirim? NLA'nın bir ağ için benzersiz bir tanımlayıcı oluşturmak üzere hangi adımları izlediğini bilseydim belki de yardımcı olur?


1
Sorunuzu, asıl sorunu çözme sorusuna odaklamaya yardımcı olmak için biraz düzenledim. Bkz. XY sorunu .
Reinstate Monica diyorum,

NLA, bir ağ bağdaştırıcısı için belirtilen varsayılan ağ geçidinin MAC adresini temel alarak bir ağ tanımlar. Yönlendiricinizin bu bilgisayarlara erişememesi mümkün mü? Sorun, kısa bir süre içinde birden fazla bilgisayarı etkiliyor gibi mi görünüyor yoksa bir gün yalnızca bir kullanıcı mı, yoksa tamamen farklı bir zamanda başka bir kullanıcı mı?
Reinstate Monica diyorum,

Belki de Bilgisayar \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkList \ Signatures \ Yönetilmeyen veya en azından kayıt defterindeki bu konumun etrafına bakın - DefaultGatewayMAC ve DNSSuffix'in beklediğinizle eşleşip eşleşmediğine bakın
Ross

PaulH - Bir an aldığımda cevabımı kontrol edin, Yöntem 1 bölümüne koyduğum gibi bir üretim ortamında oldukça başarılı bir şekilde kullandığım şeydi, ancak cevabımın Yöntem 2 bölümüne de daha fazla ayrıntı verdim. Umarım bu çözümlerden herhangi birini bu sorun için benim kadar yararlı bulursunuz.
Pezevenk Suyu

Yanıtlar:


5

Yöntem 1

Ben korumak Bir ortamda kritik bir Windows Server sistem üzerinde bu konuyla uğraştığım bir yolu kullanan bir toplu komut dosyası ile oldu Set-NetConnectionProfile ve netsh ve açıkça her NIC / makinede adaptörü güvenilen set özel olarak sistem başlangıcında ile Görev ZamanlayıcıRun whether user is logged on or not ve Run with highest privilegesseçeneğini kullanarak .

resim açıklamasını buraya girin resim açıklamasını buraya girin

Not: Ödül notu " Çözüm uygulamak için ağ bağlantısı kaybına neden olmamalıdır " diyor olsa da , bu sorun ortaya çıktığında zaten bir ağ kesintisi olduğundan, bu komut dosyası sistem çalışırken rasgele oluşursa bu söz sadece aynı betiği çalıştırdıktan sonra sorunu hala hızlı bir şekilde çözecek ve OS makine ağ erişimini çalışma ve beklenen sırayla geri alacak.

Ayrıca, gereksinimleriniz ve / veya sistemleriniz için aşağıdaki örnek toplu iş komut dosyasına koymak üzere NIC diğer adı ve dizin numaralarını almak için Get-NetConnectionProfile kullanabilirsiniz.

Toplu Komut Dosyası

@ECHO ON

::: The below PowerShell will set all the nework adapters to private rather than public and unknown as happens.
:DynamicPSScriptBuild
SET PSScript=%temp%\%~n0.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 20 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 22 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 24 -NetworkCategory Private>>"%PSScript%"

:PowerShell
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"

:: The below will disable and then re-enable each NIC one-by-one so the unidentfied goes away after set to "private" above
:ResetNICs
SET Array="Ethernet", "Ethernet 2", "Ethernet 3", "Ethernet 4"
FOR %%A IN (%Array%) DO (
    netsh int set int "%%~A" admin=disable
    netsh int set int "%%~A" admin=enable
)
EXIT

Aşağıda, denediğiniz şeylerden biri olan birkaç yöntem daha var, ancak onlara yardımcı olması durumunda bu yazıyla karşılaşan diğerleri için orada bıraktım, ancak bunlar bunu tamamen önlemenin birkaç yolu. her zaman kullanmayı seçtiğiniz herhangi bir yöntemin üst ve alt kısımları olacaktır, bu yüzden zehirinizi seçin ve uygun şekilde test edin.

Yöntem 2 (Çoklu Yöntemler)

Tanımlanamayan Ağ - Genelden Özel veya Alan Adına Geç

NLA bir bağlantı konumu belirleyemezse, buna "Tanımlanmamış" adını verir ve konumu Genel olarak işaretler. Herkese açık seçer çünkü bu en güvenlidir ve bağlantı DMZ'de ise daha az bir şey istemezsiniz.

Bunu düzeltmenin iki kolay yolu vardır. Kimliği belirsiz ağların varsayılan konumunu değiştirmek için Yerel Güvenlik İlkesi kullanılır. İkinci yöntem, NLA'ya konumu doğru bir şekilde yerleştirmek için ihtiyaç duyduğu bilgileri vermek için ağ bağlantısı özelliklerinde bir değişiklik kullanır.

Yerel Güvenlik İlkesini Kullanma

Dikkat: Bu, yalnızca bilgisayarın Genel LAN'da hiçbir bağlantısı olmayacaksa kullanılmalıdır. Aksi takdirde, genel bağlantınıza daha az güvenli bir güvenlik duvarı profili uygulanma riskiyle karşılaşırsınız.

  1. " Yerel Güvenlik İlkesi " ni açın.

  2. Sol bölmedeki " Ağ Listesi Yöneticisi İlkeleri " ni tıklayın . (Bu seçim Windows'un eski sürümlerinde gömülüdür.)

  3. Sağ bölmedeki " Tanımlanmamış Ağlar " ı çift ​​tıklayın .

  4. Yalnızca özel ağda bulunan bilgisayarlar için, " Konum türü " nü " özel " olarak ayarlamakta sorun yoktur.

    resim açıklamasını buraya girin

Ağ Bağlantısı Özelliklerini Kullanma

Bu, çok bağlantılı bir sunucuda düzgün çalışmadığından bir ağ geçidi IP'si eklemekle ilgili değildir. Bunun yerine, NLA'nın etki alanı denetleyicisini doğru bir şekilde bulabilmesi için bir DNS soneki ekleyeceğiz;

  1. Git Ağ Bağlantıları (Ağ ve Paylaşım Merkezi'ne, "Değişim adaptör ayarlarına" tıklayın.)

  2. Git özelliklerinin araştırılması ler "olarak işaretlenmiş bir ağ bağlantısının Tanımlanamayan " ancak özel LAN üzerinde.

  3. IPv4 özelliklerine gidin .

  4. " Gelişmiş ..." düğmesini tıklayın.

  5. DNS sekmesini seçin .

  6. " Bu bağlantı için DNS soneki: " metin kutusuna alan adınızı girin .

NLA'nın konumu yeniden tanımlamasını sağlamak için bağlantıyı devre dışı bırakın ve etkinleştirin. Bağlantıyı etkinleştirdikten sonra, Durum etki alanı adına ve Ağ Kategorisine "Etki alanı ağı" olarak değişmelidir. Kurulumunuza bağlı olarak, etki alanı ile ilgili tüm bağlantıları görmek için yalnızca bir bağlantıyı "düzeltmeniz" gerekebilir.

Özelden Herkese Geç

NLA'yı bir bağlantıyı genel olarak işaretlemeye zorlamanın iki yaygın yolu vardır. Birincisi, NLA'yı engellemek için bir güvenlik duvarı kuralı kullanmaktır, böylece varsayılan konumu kullanmaktan başka seçeneği kalmaz. Diğeri bağlantıda NLA'yı devre dışı bırakmak için kayıt defterini kullanmaktır.

Güvenlik Duvarını Kullanma

Bunu test etmedim ama teori sağlam görünüyor.

  1. " Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı " nı açın (örn. wf.msc).

  2. Git Giden kuralları .

  3. " Yeni Kural …" ı tıklayın.

  4. Bu ayarları kullanın:

    • Kural Türü: Özel
    • Program: "Tüm programlar" ı seçin ve "Özelleştir…" e tıklayın. "Ağ Konumu Tanıma" yı seçin (kısa ad NlaSvc'dir).
    • Protokol ve Bağlantı Noktaları: Protokol türü = Herhangi biri.
    • Kapsam: Yerel IP'ler = Tüm genel IP'lerinizi girin. Birden fazla IP'ye sahip bağlantıları kontrol edin.
    • Eylem: Engelle
    • Profil: Tümü
  5. Kural etkinleştirildikten sonra, NLA'nın konumu yeniden tanımlaması için ağ bağlantısını devre dışı bırakın ve etkinleştirin.

Kayıt Defterini Kullanma

Bu işi benim için yapmadım ama durumum sizinkinden farklı olabilir. Beklediğinizden çok daha fazla giriş olduğundan doğru bağlantı numarasını bulmak biraz isabetlidir.

  1. Regedit'i çalıştır

  2. Adresine git HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

  3. Altında 0000, 0001, 0002 vb. Etiketli birkaç anahtar görmelisiniz… Bunlara bakın ve NLA'yı devre dışı bırakmak istediğiniz adaptörleri bulun.

  4. Bağdaştırıcıların her biri için "* NdisDeviceType" adlı yeni bir DWORD değeri ekleyin ve 1 olarak ayarlayın (adın başında * aldığınızdan emin olun).

Sertleşmek

Konum profilleri kayıt defterinde bulunur ve bunları silmek ve Windows'un bunları yeniden oluşturmasına izin vermek zararsız görünmektedir. Kesinlikle önce kayıt defterini yedeklemek isteyeceksiniz ve muhtemelen uzak (RDP) yerine KVM aracılığıyla sunucuya bağlanmanız gerekecektir. Öncelikle bunu referans olarak buraya koyduğum için bu adımı seçerseniz herhangi bir sorumluluk kabul etmeyeceğim.

Profillerin konumu:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

kaynak


İlk yöntem umut verici görünüyor. NLA hizmetini yeniden başlatmayı içeren diğer yöntemlerden emin değilim, çünkü bu her zaman sorunu yine de düzeltir, hizmetin yeniden başlatılmasının çözüm mü yoksa başka bir eylem olup olmadığını bilmek zorlaşır. Şimdi sadece test etmek için bunu yanlış yapan bir makineye ihtiyacım var ....
Ben Reinstate Monica

@TwistyImpersonator Evet, yöntem 1 kullandığım yöntem ve başlangıç ​​olarak çalıştırılmasını sağladım. Bu durumda, 4 NIC'li bir Hyper-V sanal ana sunucu ve başlangıçta bu belirli sistemdeki benim için sorunu çözdüğü için çalışmasını sağlamak. Bir ağ anahtarı veya yönlendirici yeniden başlatma nedeniyle bir kez daha meydana geldiğini düşünüyorum ve sanal ana sunucuyu yeniden başlatmak yerine sadece komut dosyasını el ile çalıştırdım ve sorunu çözdü. Soruyu fark ettim ve kullandığım çözümü ve alakalı ve potansiyel olarak yararlı görünen diğer alıntı kaynağı yayınladım.
Pezevenk Suyu

Ödül koyduğunuzu fark ettim ama sanırım OP'ye sadece bir cevap almaya çalışmak yerine ihtiyaçlarınız için olduğunu fark etmedim. Bunu bilmek güzel.
Pezevenk Suyu

0

Bu sorunu sonsuz bir şekilde tek bir sistemde yaşadım. Her yeniden başlatmada her şeyi kıracaktır. Bahsettiğiniz tüm çözümleri denedim. Diğerlerini tükettikten sonra "Ağ Konumu Tanıma" hizmetini devre dışı bırakmaya başvurdum. Söyleyebileceğimden buna gerek yok. Bu, sorunumu kalıcı olarak çözdü. Fark ettiğim tek yan etki, "Ağ ve Paylaşım Merkezi" penceresinin komik görünmesidir. Bu hizmet Windows 7'den önce yoktu ve benim için hiç kullanışlı değil.

Services.msc'ı

"Ağ Konumu Tanıma", Başlangıç ​​Türü = "Devre Dışı"


Hmmm, bunun bir etki alanı ortamında iyi bir fikir olduğundan emin değilim ... veya güvenilir ve güvenilmeyen ağlar arasında bir dizüstü bilgisayar alırken. Bu senaryolardan herhangi biri hakkında geri bildiriminiz var mı?
Reinstate Monica diyorum

Bunu etki alanı ortamımda yapıyorum. Harika çalışıyor. Dizüstü bilgisayarınızı güvenilmeyen bir ortamda kullanıyorsanız, başka korumaların da olması gerekir. NLA seni kurtaramayacak. Tek yapabileceği paylaşımları otomatik olarak devre dışı bırakmak. Dizüstü bilgisayarlarda herhangi bir paylaşıma izin vermemenizi öneririm.
HackSlash

NLA olmadan, sistemleriniz etki alanı ve özel profiller arasında nasıl geçiş yapar, örneğin bir çalışan dizüstü bilgisayarı eve götürdüğünde?
Reinstate Monica diyorum

NLA olmadan hiç profil yoktur. Bu profilleri ne için kullanıyorsunuz?
HackSlash

Yönettiğim sistemlerin çoğu, etki alanı ağına bağlandığında gelen trafiğe izin verir, ancak sistemler etki alanından ayrıldığında bu trafik engellenir. Derinlemesine savunma ...
Reinstate Monica diyorum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.