RRAS 无法以 8007042a 或事件 ID 7024 启动,又名“路由远程访问无法加载 Iprtrmgr.dll”

RRAS 无法以 8007042a 或事件 ID 7024 启动,又名“路由远程访问无法加载 Iprtrmgr.dll”

历史:此错误的历史可以追溯到 Windows 2000,基本上尚未得到解决。

受影响的平台:Windows Server 2008 R2、Server 2008、Server 2003 R2、Server 2003、Server 2000(32 位和 64 位安装均受影响)。

错误消息

  1. Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 2 (0x2).
  2. Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 31 (0x1F).
  3. Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 20205 (0x4EED).
  4. Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 193 (0xC1).
  5. Event ID: 20103 Unable to load C:\WINDOWS\System32\iprtrmgr.dll. (32 位安装)。
  6. Event ID: 20103 Unable to load C:\WINDOWS\SysWOW64\iprtrmgr.dll. (64 位安装)。

答案1

(这是 KCotreau 的原始答案,但他将其包含在问题中。重新发布为实际答案)

原因:造成此错误的基本原因有两个。

  1. 如果您运行的是 IPv6,则注册表中的项不正确。
  2. TCP/IPv4 损坏。

相关原因

这种情况发生在几台装有 Broadcom NetXtreme II 适配器的 Dell Windows 2003 R2 64 位服务器上。我的问题是上述第二个原因,即 TCP/IP 损坏,我相信这是在安装 Broadcom 适配器的驱动程序时由于某种原因而发生的。其他适配器也可能发生这种情况,但互联网上肯定有大量未解决的案例,涉及各种 Broadcom 适配器。

其他因素

在我使用 Dell 专用的 Windows Server 2003 R2 介质和从批量许可网站下载的 Microsoft 介质进行测试时,即使在全新安装中也会出现这种情况。无论使用哪种介质,都会发生这种情况。

对我或互联网上的大多数人来说无效的故障排除:

  1. 重新安装干净。
  2. 运行 sfc /scannow(没有错误)。
  3. 比较并替换来自工作服务器的 iprtrmgr.dll。
  4. 从设备管理器中删除 NIC 后重新安装。
  5. 正在运行NETSH INT IP RESET C:\reset.logNETSH RESET WINSOCK
  6. 跑步NETSH WINSOCK RESET
  7. 设置后检查幽灵适配器devmgr_show_nonpresent_devices=1,然后在设备管理器中显示隐藏的设备(我没有)。
  8. 重新注册 Oledb32.dll 和 Oledb32r.dll ,重命名C:\Windows\System32\ias \dnary.mdb、 和ias.mdb文件并重新启动 RRAS。这些文件位于C:\Windows\SysWOW6464 位系统上的目录中。这是在 KB840696 中http://support.microsoft.com/kb/840686

解决方案

  1. 如果您使用的是 Server 2008,并且正在运行 TCP/IPv6,那么您的问题可能不是 TCP/IPv4 损坏,而是您有这个额外的密钥,HKEY_LOCAL_MACHINE\System\currentcontrolset\services\remoteaccess\routermanagers\IPV6您将在导出备份后将其删除。删除此密钥是一个简单的解决方案,它广泛帮助了互联网上的许多人。如果您仍想使用 TCP/IPv6 协议,您可能需要做更多。由于我没有应用到我的服务器,我无法测试它,您可能仍然有 IPv6 损坏,并且可能需要通过删除并重新安装 TCP/IPv6 来排除故障,类似于下面的解决方案。上述解决方案可能只是通过避免问题来掩盖潜在的损坏。
  2. 如果您没有运行 IPv6,则很有可能 TCP/IPv4 已损坏,解决方案是重新安装它。如果您从未注意到,如果您尝试卸载 TCP/IP,它会变灰。为了解决这个问题,我遵循了 KB 325356:http://support.microsoft.com/kb/325356。这表示它适用于域控制器,但也适用于成员服务器。步骤如下:

    • 以防万一,请在 RRAS mmc 中禁用 RRAS,因为这将卸载它。
    • 备份您的注册表。
    • 如果您只是在成员服务器上,请忽略步骤 1-4 和步骤 21。
  3. 重新启动域控制器。
  4. 当出现 BIOS 信息时,按 F8。
  5. 选择“目录服务还原模式”,然后按 ENTER。
  6. 使用目录服务还原模式密码登录。
  7. 单击“开始”,然后单击“运行”。
  8. 在打开框中,键入 regedit,然后单击确定。
  9. 找到以下注册表子项:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
  10. 右键单击每个键,然后单击“删除”。
  11. 单击“是”确认删除每个键。
  12. 关闭 Regedit。
  13. 在 %winroot%\inf 中找到 Nettcpip.inf 文件,然后在记事本中打开该文件。
  14. 找到 [MS_TCPIP.PrimaryInstall] 部分。
  15. 编辑 Characteristics = 0xa0 条目并将 0xa0 替换为 0x80。
  16. 保存文件,然后退出记事本。
  17. 在“控制面板”中,双击“网络连接”,右键单击“本地连接”,然后选择“属性”。
  18. 在常规选项卡上,单击安装,选择协议,然后单击添加。
  19. 在“选择网络协议”窗口中,单击“从磁盘安装”。
  20. 在“复制制造商文件自:”文本框中,键入c:\windows\inf,然后单击“确定”。
  21. 选择 Internet 协议 (TCP/IP),然后单击“确定”。(注意:此步骤将返回到“本地连接属性”屏幕,但现在“卸载”按钮可用)。
  22. 选择“Internet 协议 (TCP/IP)”,单击“卸载”,然后单击“是”。
  23. 重新启动计算机,然后按照步骤 2 - 4 中选择目录服务还原模式。
  24. 在“控制面板”中,双击“网络连接”,右键单击“本地连接”,然后选择“属性”。
  25. 在常规选项卡上,单击安装,选择协议,然后单击添加。
  26. 在“选择网络协议”窗口中,单击“从磁盘安装”。
  27. 在“复制制造商的文件来源”文本框中,键入c:\windows\inf,然后单击“确定”。
  28. 选择“Internet 协议 (TCP/IP)”,然后单击“确定”。
  29. 重启你的电脑。

配置并启用路由和远程访问。此时,您的 RRAS 应该启动。

相关问题及解决方案:

当我输入静态 IP 地址时,虽然它会保留静态,但属性会重置回“自动获取 IP 地址”。导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkConfig 键并删除它。重新输入您的静态设置,它们应该会保留,然后重建该 Config 键。

我希望这能为你们许多人解决这个难题。

答案2

我知道这是一个很老的帖子,但即使在 Server 2016 中也会出现同样无用的错误。

幸运的是,对我来说原因是 IIS 和 RRAS 之间的证书不匹配。

解决方法是对默认 IIS 站点使用与我在 RRAS 中使用的相同的证书。

答案3

服务器 2019 上的 RRAS 和 RemoteAccess 中的 7024 或 20269/20153 事件,在 NPS 中的 4405 事件之后

我在 NPS -> Accounting 中更改了日志文件路径。之后 RRAS 启动了。

答案4

就我的情况来说,解决方案非常简单:

  • 停用路由和远程访问服务器
  • 重新激活并配置路由和远程访问服务器。幸运的是,我们的配置并不复杂……

相关内容