如何通过 GPO 禁用 NetBIOS 和 LLMNR 协议

一些Windows用户(Windows)NetBIOS over TCP/IPLLMNR这两种协议持怀疑态度。这些协议负责您的网络与旧Windows版本的兼容性。但是,这些非常容易受到MITM 攻击(MITM attacks)。因此,为了提高网络的安全性,许多Windows用户倾向于禁用NetBIOSLLMNR 协议(LLMNR Protocols.In)。在本文中,我们将了解如何使用组策略编辑器禁用(Group Policy Editor)NetBIOSLLMR 协议(LLMR Protocols)

如果您想禁用NetBIOSLLMR 协议(LLMR Protocol),最好了解一些关于它们的信息。

LLMNR 或 Link-Local Multicast Name ResolutionIPv6  和IPv4客户端使用的协议,无需使用DNS 服务器(DNS Server)即可知道相邻系统的名称。它是在Windows Vista中引入的,并被之后的版本使用。因此,如果DNS不可用,此协议就会启动。

NetBIOS over TCP/IP LLMNR 的后续协议,用于在局域网(LAN)中发布和寻找资源。如果您想了解有关此协议的更多信息,请 以管理员身份打开命令提示符 并键入以下命令。(Command Prompt )

nbtstat

TCP/IP /IP上的NetBIOS显示协议统计信息和当前TCP/IP连接。

使用组策略编辑器(Group Policy Editor)禁用LLMR

通过 GPO 禁用 NetBIOS 和 LLMNR 协议

您可以使用组策略编辑器(Group Policy Editor)轻松禁用计算机上的LLMR协议。为此,启动运行 (Run )(Win + R),输入“ gpedit.msc”,然后 按 Enter (Enter )(确保GPO应用于域中的所有工作站)。

现在,导航到以下位置。

Computer Configuration > Administrative Templates > Network > DNS Client

双击“关闭智能多宿主名称解析(Turn off smart multi-homed name resolution)”,选择 启用, (Enabled, )然后单击 Apply > Ok.

现在,要求所有用户等待组策略(Group Policy)更新。或者使用以下命令强制更新。

gpupdate /force

这样您就可以使用GPO禁用(GPO)LLMR

您可以借助PowerShell(PowerShell)命令在Windows计算机上本地禁用LLMR 。以管理员身份启动 PowerShell并执行以下命令:(Launch PowerShell)

New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT" -Name DNSClient  -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMultiCast -Value 0 -PropertyType
DWORD  -Force

禁用 TCP/IP 上的 NetBIOS

通过 GPO 禁用 NetBIOS 和 LLMNR 协议

如果您是Windows 10Server用户,请使用以下步骤在您的计算机上disable NetBIOS over TCP/IP

  1. 从 开始菜单(Start Menu.)启动 控制面板 。(Control Panel )
  2. 确保您的 查看方式 (View by )设置为 大图标 (Large icons ),然后单击 Network and Sharing Center > Change adapter setting
  3. 右键单击(Right-click)连接的网络并选择 属性。(Properties.)
  4. 选择 Internet Protocol Version 4 (TCP/IPv4) ,然后单击 属性。(Properties.)
  5. 单击 Advanced > WINS > Disable NetBIOS over TCP/IP > Ok.

这样,您已在 Windows 计算机上禁用了TCP/IPNetBIOS

使用GPO禁用TCP TCP/IPNetBIOS

不幸的是,没有单独的方法可以通过GPO禁用TCP TCP/IPNetBIOS。但是,我们将创建一个 .ps1 文件来做同样的事情。

在记事本 (Notepad )中复制以下代码 并将其命名为“disableNetbios.ps1”。

$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}

现在,打开 本地组策略编辑器 (Local Group Policy Editor )并转到以下位置。

Computer Configuration > Windows Settings > Script (Startup/Shutdown) > Startup

双击 启动,(Startup, )转到PowerShell 脚本,(PowerShell Scripts, )然后将“对于此 GPO,按以下顺序运行脚本” (For this GPO, run scripts in the following order” )更改为 首先运行 Windows PowerShell 脚本。(Run Windows PowerShell script first.)

单击 Add > Browser 并从其位置选择“disableNetbios.ps1”文件(“disableNetbios.ps1” )最后,单击 Apply > Ok 运行脚本。

要强制更改,请重新启动计算机或重新启动网络适配器(Network Adapter)。如果要查看更改,请使用以下命令检查是否为Network Adapters禁用了TCP/IPNetBIOS

wmic nicconfig get caption,index,TcpipNetbiosOptions

希望(Hopefully)在本文的帮助下,您将能够通过GPO禁用(GPO)NetBIOSLLMR 协议(LLMR Protocols)

阅读下一篇:(Read Next: )How to enable or disable NetBIOS over TCP/IP on Windows 10



About the author

我是一名全职软件工程师,在使用 Windows 和 Mac 软件方面拥有超过 10 年的经验。我知道如何在两个平台上设计、测试和部署应用程序。我也有安全和系统管理方面的经验。我的技能和知识可以帮助您构建更好、更高效的计算机系统。



Related posts