我的工作站在 Linux 下。我在 Windows 2008 上有一个 Active Directory 域控制器 + Radius 服务器。我可以使用“radtest”工具验证用户帐户“radius-01”:
$ radtest -t pap radius-01 password123 195.234.133.32 1812 password123
Sending Access-Request of id 98 to 195.234.73.2 port 1812
User-Name = "radius-01"
User-Password = "password123"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
rad_recv: Access-Accept packet from host 195.234.133.32 port 1812, id=98, length=84
Framed-MTU = 1344
Framed-Protocol = PPP
Service-Type = Framed-User
Class = 0x537004f00000013700010200ac1c0...
我已使用 Samba 将我的 Linux PC 加入到 Active Directory 域 ARB-HRK:
[root@shev-arb]# net ads testjoin
Join is OK
我可以转储机器密码:
[root@shev-arb]# tdbdump /var/lib/samba/private/secrets.tdb
{
key(34) = "SECRETS/MACHINE_PASSWORD/ARB-HRK"
data(15) = "yGgXJsquRnpT0g\00"
}
如何在 Radius 服务器上验证我的机器帐户?
有人知道这方面的工具吗,例如:
radtest shev-arb$ yGgXJsquRnpT0g 195.234.133.32 1812 password123
(该命令失败)
答案1
在 Windows 域中,对于使用 MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 作为身份验证方法的旧系统(例如使用 IKEV1 PAP 的情况),使用机器机密的机器身份验证默认处于禁用状态。在这种情况下,您可能会在 NPS 上遇到 DPC 身份验证失败,错误为 0xc0000199(NO_LOGON_WORKSTATION_TRUST_ACCOUNT)。
要为特定计算机帐户启用机器身份验证。请执行以下操作:
- 编辑 UserAccountControl 属性,以便删除 WORKSTATION_TRUST_ACCOUNT 并将 NORMAL_ACCOUNT 添加到值中。
- 如果 UserAccountControl 的现有值为 x,则计算更新该值至 (x-4096+512),以使机器身份验证正常工作。
按照此知识库文章中给出的说明进行操作:http://support.microsoft.com/kb/305144或者:
- 在域控制器上运行 adsiedit.msc
- 展开树并选择计算机叶,它将显示为 CN=Hostname
- 右键单击并选择属性
- 在属性窗口中选择 userAccountControl 属性。双击进行编辑。
- 通过从现有值中减去 3584 来更新数字。
- 按“OK”关闭编辑,按“OK”关闭属性对话框。
测试完成后恢复正常设置。
radtest -t mschap'主机/shev-arb.arb-hrk.net'yGgXJsquRnpT0g 195.234.133.32 1812 密码123 正在向 195.234.133.32 端口 1812 发送 ID 为 139 的访问请求 ... rad_recv:来自主机 195.234.133.32 端口 1812 的访问接受数据包,id=139,长度=142 ...