对于DHCP服务器来说,是网络组建中通常会用到的。那么为了更好地理解这方面内容,我们来对DHCP address configurations实施方法的运行原理与流程做一下详细介绍。
DHCP address configurations实施方法的运行原理与流程
在Microsoft NAP平台的"DHCP address configurations"实施方法中,是通过控制DHCP客户端计算机IPv4中"路由表(Routing Table)"的内容来限制其访问企业网络的。该方法强制设置DHCP客户端的路由器项目值为0.0.0.0。所以,不符合计算机健康策略的DHCP客户端,其默认网关的IP地址将不会被设置预先定义好的默认网关IP地址。此外,"DHCP address configurations"实施方法也将DHCP客户端计算机的IPv4的子网掩码值设置为255.255.255.255。因此,不符合计算机健康策略的计算机需求的DHCP客户端,将无法连接上任何企业所属的IP网络。如果要允许不符合计算机健康策略的计算机可以访问位于"被限制网络"的更新服务器,则DHCP服务器可以指定包含设置主机路由至"被限制网络"的"无分类静态路由DHCP选项(Classless Static Routes DHCP option)"的设置,例如DNS服务器的IP地址、更新服务器的IP地址等。所以,通过控制不符合计算机健康策略的DHCP客户端其IP配置设置及路由表等信息,用以限制网络访问的***结果是仅允许该DHCP客户端连接至对应到隶属于被限制网络中特定的IP地址。如果该DHCP客户端计算机中的应用程序尝试发送数据至通过无分类静态路由DHCP选项所提供以外的其他IP地址时,则TCP/IP协议将传回路由错误的信息。
不过网络管理人员要注意的是,Microsoft NAP所提供的"DHCP address configurations"实施方法仅对使用IPv4协议的DHCP客户端有效,对于使用IPv6协议的DHCP客户端没有任何限制作用。如果DHCP客户端的用户对其所使用的计算机拥有系统管理员的权限,则可以通过执行指令以手动的方式更改IPv4地址及路由表的相关信息,以获取企业网络没有限制的访问能力。
以下程序发生在当有支持Microsoft NAP功能的DHCP客户端计算机,连上企业网络,并且尝试获得企业网络中有支持Microsoft NAP功能的DHCP服务器所提供IPv4的IP地址与配置设置时。
Step 1 DHCP客户端所属NAP客户端的DHCP NAP EC会向NAP Agent组件查询SSoH信息。
Step 2 DHCP客户端所属NAP客户端的NAP Agent组件,将传送SSoH信息给DHCP NAP EC组件。
Step 3 DHCP客户端封装及传送包含作为Microsoft vendor-specific DHCP选项的SSoH信息的DHCP Discover封包。
Step 4 企业网中有支持Microsoft NAP功能的DHCP服务器会接收到Step03的DHCP Discover封包。而该DHCP服务器所属的DHCP NAP ES(DHCP NAP Enforcement Server)组件,会从DHCP Discover封包中取出SSoH信息,并将其包在RADIUS Access-Request封包中,然后发送至NPS(NAP health policy server)。
Step 5 NAP health policy server所属的NPS Service会接收到Step04的RADIUS Access-Request封包,并从RADIUS Access-Request封包中取出SSoH信息,再传给NAP health policy server所属的NAP Administration Server组件。
Step 6 NAP Administration Server组件会将SSoH信息中的SoH,分别传给NAP health policy server中所属适当的SHV(System Health Validator)。
Step 7 SHV在接收到它们所属的SoH的内容信息后,会对其执行分析,然后传回SoHR(Statement of Health Response)给NAP Administration Server组件。
Step 8 NAP Administration Server组件会传送Step07的SoHR给NAP health policy server所属的NPS Service。
Step 9 NAP health policy server所属的NPS Service会比对SoHR与预先设置好的健康需求策略,以及建立SSoHR(System Statement of Health Response)。
Step10 NAP health policy server所属的NPS Service会建立与传送包含SSoHR信息的RADIUS Access-Accept封包给Step04的DHCP服务器。
Step11 当DHCP服务器接收到RADIUS Access-Accept封包时,会取出包含在内的SSoHR信息。
Step12 DHCP服务器会传送包含IPv4格式的IP地址、相关配置信息及作为DHCP vendor-specific选项的SSoHR信息的DHCP Offer封包给Step01的DHCP客户端。
Step13 DHCP客户端接收到Step12的DHCP Offer封包后,会响应一个含有要求提供一个IPv4格式的IP地址及相关参数要求的DHCP Request封包。
Step14 DHCP服务器在收到Step13的DHCP Request封包后,会回应一个包含要提供给DHCP客户端的IPv4格式的IP地址与相关参数,以及SSoHR信息的DHCP Ack封包给DHCP客户端。
Step15 DHCP客户端在收到Step14的DHCP Ack封包后,其所属NAP客户端的DHCP NAP EC组件会从所收到的DHCP Ack封包中取出SSoHR信息,并将其传送给DHCP客户端所属NAP客户端的NAP Agent组件。
Step16 NAP Agent组件再分别传送SoHR信息给DHCP客户端所属NAP客户端中适当的SHA组件。
如果NAP客户端的计算机健康状态符合企业所制定的计算机健康策略需求,则DHCP客户端所收到的DHCP Ack封包将会包含正确默认网关IP地址的路由器DHCP选项,与NAP客户端被授权可以连接企业所属子网的子网掩码,但是不会包含"无分类静态路由选项(Classless Static Routes option)"的设置信息。因此,该NAP客户端将可以不受限制的在其被授权的企业网络中访问被授权的资源。
而如果NAP客户端的计算机健康状态不符合企业所制定的计算机健康策略需求,则DHCP客户端所收到的DHCP Ack封包将会包含0.0.0.0的路由器DHCP选项、255.255.255.255的子网掩码设置值,以及包含设置静态主机路由至"被限制网络"中的更新服务器的无分类静态路由选项。